From f648297a7bea17678cf257cb6c78d27e52438568 Mon Sep 17 00:00:00 2001 From: mattf Date: Thu, 9 May 2013 02:26:00 +0000 Subject: [PATCH] Cleanup of agent code for other language builds Update and cleanup of agent and admin language translation files Update of agent and admin other languages static builds git-svn-id: svn://192.168.202.10@1980 3d104415-ff17-0410-8863-d5cf3c621b8a --- .../LANG_www/agc_br/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_br/astguiclient.php | 43 +- .../trunk/LANG_www/agc_br/audit_comments.php | 98 + .../LANG_www/agc_br/call_log_display.php | 49 +- .../LANG_www/agc_br/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_br/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_br/functions.php | 137 +- .../trunk/LANG_www/agc_br/inbound_popup.php | 21 +- .../LANG_www/agc_br/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_br/manager_send.php | 145 +- .../LANG_www/agc_br/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_br/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_br/timeclock.php | 33 +- .../trunk/LANG_www/agc_br/vdc_db_query.php | 3605 ++++++-- .../LANG_www/agc_br/vdc_email_display.php | 374 + .../LANG_www/agc_br/vdc_form_display.php | 26 +- .../LANG_www/agc_br/vdc_script_display.php | 357 +- .../LANG_www/agc_br/vdc_script_notes.php | 33 +- agc_2-X/trunk/LANG_www/agc_br/vicidial.php | 3226 +++++-- .../trunk/LANG_www/agc_br/voicemail_check.php | 58 +- .../LANG_www/agc_de/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_de/astguiclient.php | 39 +- .../trunk/LANG_www/agc_de/audit_comments.php | 98 + .../LANG_www/agc_de/call_log_display.php | 49 +- .../LANG_www/agc_de/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_de/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_de/functions.php | 137 +- .../trunk/LANG_www/agc_de/inbound_popup.php | 21 +- .../LANG_www/agc_de/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_de/manager_send.php | 131 +- .../LANG_www/agc_de/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_de/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_de/timeclock.php | 33 +- .../trunk/LANG_www/agc_de/vdc_db_query.php | 3601 ++++++-- .../LANG_www/agc_de/vdc_email_display.php | 374 + .../LANG_www/agc_de/vdc_form_display.php | 26 +- .../LANG_www/agc_de/vdc_script_display.php | 357 +- .../LANG_www/agc_de/vdc_script_notes.php | 33 +- agc_2-X/trunk/LANG_www/agc_de/vicidial.php | 3186 +++++-- .../trunk/LANG_www/agc_de/voicemail_check.php | 58 +- .../LANG_www/agc_dk/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_dk/astguiclient.php | 43 +- .../trunk/LANG_www/agc_dk/audit_comments.php | 98 + .../LANG_www/agc_dk/call_log_display.php | 49 +- .../LANG_www/agc_dk/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_dk/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_dk/functions.php | 137 +- .../trunk/LANG_www/agc_dk/inbound_popup.php | 21 +- .../LANG_www/agc_dk/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_dk/manager_send.php | 145 +- .../LANG_www/agc_dk/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_dk/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_dk/timeclock.php | 33 +- .../trunk/LANG_www/agc_dk/vdc_db_query.php | 3593 ++++++-- .../LANG_www/agc_dk/vdc_email_display.php | 374 + .../LANG_www/agc_dk/vdc_form_display.php | 26 +- .../LANG_www/agc_dk/vdc_script_display.php | 357 +- .../LANG_www/agc_dk/vdc_script_notes.php | 33 +- agc_2-X/trunk/LANG_www/agc_dk/vicidial.php | 3246 +++++-- .../trunk/LANG_www/agc_dk/voicemail_check.php | 58 +- .../LANG_www/agc_el/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_el/astguiclient.php | 43 +- .../trunk/LANG_www/agc_el/audit_comments.php | 98 + .../LANG_www/agc_el/call_log_display.php | 49 +- .../LANG_www/agc_el/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_el/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_el/functions.php | 137 +- .../trunk/LANG_www/agc_el/inbound_popup.php | 21 +- .../LANG_www/agc_el/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_el/manager_send.php | 145 +- .../LANG_www/agc_el/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_el/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_el/timeclock.php | 33 +- .../trunk/LANG_www/agc_el/vdc_db_query.php | 3611 ++++++-- .../LANG_www/agc_el/vdc_email_display.php | 374 + .../LANG_www/agc_el/vdc_form_display.php | 26 +- .../LANG_www/agc_el/vdc_script_display.php | 357 +- .../LANG_www/agc_el/vdc_script_notes.php | 37 +- agc_2-X/trunk/LANG_www/agc_el/vicidial.php | 3258 +++++-- .../trunk/LANG_www/agc_el/voicemail_check.php | 58 +- .../LANG_www/agc_es/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_es/astguiclient.php | 41 +- .../trunk/LANG_www/agc_es/audit_comments.php | 98 + .../LANG_www/agc_es/call_log_display.php | 49 +- .../LANG_www/agc_es/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_es/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_es/functions.php | 137 +- .../trunk/LANG_www/agc_es/inbound_popup.php | 21 +- .../LANG_www/agc_es/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_es/manager_send.php | 145 +- .../LANG_www/agc_es/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_es/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_es/timeclock.php | 33 +- .../trunk/LANG_www/agc_es/vdc_db_query.php | 3599 ++++++-- .../LANG_www/agc_es/vdc_email_display.php | 374 + .../LANG_www/agc_es/vdc_form_display.php | 26 +- .../LANG_www/agc_es/vdc_script_display.php | 357 +- .../LANG_www/agc_es/vdc_script_notes.php | 37 +- agc_2-X/trunk/LANG_www/agc_es/vicidial.php | 3250 +++++-- .../trunk/LANG_www/agc_es/voicemail_check.php | 58 +- .../LANG_www/agc_fr/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_fr/astguiclient.php | 43 +- .../trunk/LANG_www/agc_fr/audit_comments.php | 98 + .../LANG_www/agc_fr/call_log_display.php | 49 +- .../LANG_www/agc_fr/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_fr/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_fr/functions.php | 137 +- .../trunk/LANG_www/agc_fr/inbound_popup.php | 21 +- .../LANG_www/agc_fr/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_fr/manager_send.php | 145 +- .../LANG_www/agc_fr/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_fr/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_fr/timeclock.php | 33 +- .../trunk/LANG_www/agc_fr/vdc_db_query.php | 3607 ++++++-- .../LANG_www/agc_fr/vdc_email_display.php | 374 + .../LANG_www/agc_fr/vdc_form_display.php | 26 +- .../LANG_www/agc_fr/vdc_script_display.php | 357 +- .../LANG_www/agc_fr/vdc_script_notes.php | 31 +- agc_2-X/trunk/LANG_www/agc_fr/vicidial.php | 3244 +++++-- .../trunk/LANG_www/agc_fr/voicemail_check.php | 58 +- .../LANG_www/agc_it/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_it/astguiclient.php | 33 +- .../trunk/LANG_www/agc_it/audit_comments.php | 98 + .../LANG_www/agc_it/call_log_display.php | 49 +- .../LANG_www/agc_it/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_it/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_it/functions.php | 137 +- .../trunk/LANG_www/agc_it/inbound_popup.php | 21 +- .../LANG_www/agc_it/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_it/manager_send.php | 145 +- .../LANG_www/agc_it/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_it/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_it/timeclock.php | 33 +- .../trunk/LANG_www/agc_it/vdc_db_query.php | 3611 ++++++-- .../LANG_www/agc_it/vdc_email_display.php | 374 + .../LANG_www/agc_it/vdc_form_display.php | 26 +- .../LANG_www/agc_it/vdc_script_display.php | 357 +- .../LANG_www/agc_it/vdc_script_notes.php | 33 +- agc_2-X/trunk/LANG_www/agc_it/vicidial.php | 3278 +++++-- .../trunk/LANG_www/agc_it/voicemail_check.php | 58 +- .../LANG_www/agc_jp/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_jp/astguiclient.php | 47 +- .../trunk/LANG_www/agc_jp/audit_comments.php | 98 + .../LANG_www/agc_jp/call_log_display.php | 49 +- .../LANG_www/agc_jp/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_jp/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_jp/functions.php | 137 +- .../trunk/LANG_www/agc_jp/inbound_popup.php | 21 +- .../LANG_www/agc_jp/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_jp/manager_send.php | 145 +- .../LANG_www/agc_jp/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_jp/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_jp/timeclock.php | 33 +- .../trunk/LANG_www/agc_jp/vdc_db_query.php | 3601 ++++++-- .../LANG_www/agc_jp/vdc_email_display.php | 374 + .../LANG_www/agc_jp/vdc_form_display.php | 26 +- .../LANG_www/agc_jp/vdc_script_display.php | 357 +- .../LANG_www/agc_jp/vdc_script_notes.php | 37 +- agc_2-X/trunk/LANG_www/agc_jp/vicidial.php | 3276 +++++-- .../trunk/LANG_www/agc_jp/voicemail_check.php | 58 +- .../LANG_www/agc_nl/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_nl/astguiclient.php | 49 +- .../trunk/LANG_www/agc_nl/audit_comments.php | 98 + .../LANG_www/agc_nl/call_log_display.php | 49 +- .../LANG_www/agc_nl/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_nl/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_nl/functions.php | 137 +- .../trunk/LANG_www/agc_nl/inbound_popup.php | 21 +- .../LANG_www/agc_nl/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_nl/manager_send.php | 143 +- .../LANG_www/agc_nl/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_nl/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_nl/timeclock.php | 33 +- .../trunk/LANG_www/agc_nl/vdc_db_query.php | 3601 ++++++-- .../LANG_www/agc_nl/vdc_email_display.php | 374 + .../LANG_www/agc_nl/vdc_form_display.php | 26 +- .../LANG_www/agc_nl/vdc_script_display.php | 357 +- .../LANG_www/agc_nl/vdc_script_notes.php | 33 +- agc_2-X/trunk/LANG_www/agc_nl/vicidial.php | 3240 +++++-- .../trunk/LANG_www/agc_nl/voicemail_check.php | 58 +- .../LANG_www/agc_pl/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_pl/astguiclient.php | 33 +- .../trunk/LANG_www/agc_pl/audit_comments.php | 98 + .../LANG_www/agc_pl/call_log_display.php | 49 +- .../LANG_www/agc_pl/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_pl/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_pl/functions.php | 137 +- .../trunk/LANG_www/agc_pl/inbound_popup.php | 21 +- .../LANG_www/agc_pl/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_pl/manager_send.php | 145 +- .../LANG_www/agc_pl/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_pl/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_pl/timeclock.php | 33 +- .../trunk/LANG_www/agc_pl/vdc_db_query.php | 3601 ++++++-- .../LANG_www/agc_pl/vdc_email_display.php | 374 + .../LANG_www/agc_pl/vdc_form_display.php | 26 +- .../LANG_www/agc_pl/vdc_script_display.php | 357 +- .../LANG_www/agc_pl/vdc_script_notes.php | 35 +- agc_2-X/trunk/LANG_www/agc_pl/vicidial.php | 3242 +++++-- .../trunk/LANG_www/agc_pl/voicemail_check.php | 58 +- .../LANG_www/agc_pt/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_pt/astguiclient.php | 49 +- .../trunk/LANG_www/agc_pt/audit_comments.php | 98 + .../LANG_www/agc_pt/call_log_display.php | 49 +- .../LANG_www/agc_pt/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_pt/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_pt/functions.php | 137 +- .../trunk/LANG_www/agc_pt/inbound_popup.php | 21 +- .../LANG_www/agc_pt/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_pt/manager_send.php | 145 +- .../LANG_www/agc_pt/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_pt/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_pt/timeclock.php | 33 +- .../trunk/LANG_www/agc_pt/vdc_db_query.php | 3601 ++++++-- .../LANG_www/agc_pt/vdc_email_display.php | 374 + .../LANG_www/agc_pt/vdc_form_display.php | 26 +- .../LANG_www/agc_pt/vdc_script_display.php | 357 +- .../LANG_www/agc_pt/vdc_script_notes.php | 33 +- agc_2-X/trunk/LANG_www/agc_pt/vicidial.php | 3242 +++++-- .../trunk/LANG_www/agc_pt/voicemail_check.php | 58 +- .../LANG_www/agc_ru/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_ru/astguiclient.php | 43 +- .../trunk/LANG_www/agc_ru/audit_comments.php | 98 + .../LANG_www/agc_ru/call_log_display.php | 49 +- .../LANG_www/agc_ru/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_ru/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_ru/functions.php | 137 +- .../trunk/LANG_www/agc_ru/inbound_popup.php | 21 +- .../LANG_www/agc_ru/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_ru/manager_send.php | 145 +- .../LANG_www/agc_ru/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_ru/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_ru/timeclock.php | 33 +- .../trunk/LANG_www/agc_ru/vdc_db_query.php | 3611 ++++++-- .../LANG_www/agc_ru/vdc_email_display.php | 374 + .../LANG_www/agc_ru/vdc_form_display.php | 26 +- .../LANG_www/agc_ru/vdc_script_display.php | 357 +- .../LANG_www/agc_ru/vdc_script_notes.php | 37 +- agc_2-X/trunk/LANG_www/agc_ru/vicidial.php | 3258 +++++-- .../trunk/LANG_www/agc_ru/voicemail_check.php | 58 +- .../LANG_www/agc_se/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_se/astguiclient.php | 69 +- .../trunk/LANG_www/agc_se/audit_comments.php | 98 + .../LANG_www/agc_se/call_log_display.php | 49 +- .../LANG_www/agc_se/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_se/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_se/functions.php | 137 +- .../trunk/LANG_www/agc_se/inbound_popup.php | 21 +- .../LANG_www/agc_se/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_se/manager_send.php | 147 +- .../LANG_www/agc_se/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_se/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_se/timeclock.php | 37 +- .../trunk/LANG_www/agc_se/vdc_db_query.php | 3639 ++++++-- .../LANG_www/agc_se/vdc_email_display.php | 374 + .../LANG_www/agc_se/vdc_form_display.php | 26 +- .../LANG_www/agc_se/vdc_script_display.php | 357 +- .../LANG_www/agc_se/vdc_script_notes.php | 37 +- agc_2-X/trunk/LANG_www/agc_se/vicidial.php | 3608 +++++--- .../trunk/LANG_www/agc_se/voicemail_check.php | 58 +- .../LANG_www/agc_sk/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_sk/astguiclient.php | 49 +- .../trunk/LANG_www/agc_sk/audit_comments.php | 98 + .../LANG_www/agc_sk/call_log_display.php | 49 +- .../LANG_www/agc_sk/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_sk/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_sk/functions.php | 137 +- .../trunk/LANG_www/agc_sk/inbound_popup.php | 21 +- .../LANG_www/agc_sk/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_sk/manager_send.php | 145 +- .../LANG_www/agc_sk/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_sk/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_sk/timeclock.php | 33 +- .../trunk/LANG_www/agc_sk/vdc_db_query.php | 3611 ++++++-- .../LANG_www/agc_sk/vdc_email_display.php | 374 + .../LANG_www/agc_sk/vdc_form_display.php | 26 +- .../LANG_www/agc_sk/vdc_script_display.php | 357 +- .../LANG_www/agc_sk/vdc_script_notes.php | 33 +- agc_2-X/trunk/LANG_www/agc_sk/vicidial.php | 3268 +++++-- .../trunk/LANG_www/agc_sk/voicemail_check.php | 58 +- .../LANG_www/agc_tw/active_list_refresh.php | 137 +- .../trunk/LANG_www/agc_tw/astguiclient.php | 49 +- .../trunk/LANG_www/agc_tw/audit_comments.php | 98 + .../LANG_www/agc_tw/call_log_display.php | 49 +- .../LANG_www/agc_tw/conf_exten_check.php | 65 +- agc_2-X/trunk/LANG_www/agc_tw/dbconnect.php | 24 +- agc_2-X/trunk/LANG_www/agc_tw/functions.php | 137 +- .../trunk/LANG_www/agc_tw/inbound_popup.php | 21 +- .../LANG_www/agc_tw/live_exten_check.php | 74 +- .../trunk/LANG_www/agc_tw/manager_send.php | 145 +- .../LANG_www/agc_tw/park_calls_display.php | 9 +- agc_2-X/trunk/LANG_www/agc_tw/phone_only.php | 155 +- agc_2-X/trunk/LANG_www/agc_tw/timeclock.php | 33 +- .../trunk/LANG_www/agc_tw/vdc_db_query.php | 3611 ++++++-- .../LANG_www/agc_tw/vdc_email_display.php | 374 + .../LANG_www/agc_tw/vdc_form_display.php | 26 +- .../LANG_www/agc_tw/vdc_script_display.php | 357 +- .../LANG_www/agc_tw/vdc_script_notes.php | 37 +- agc_2-X/trunk/LANG_www/agc_tw/vicidial.php | 3262 +++++-- .../trunk/LANG_www/agc_tw/voicemail_check.php | 58 +- .../vicidial_br/AST_CLOSER_service_level.php | 69 +- .../LANG_www/vicidial_br/AST_CLOSERstats.php | 292 +- .../vicidial_br/AST_CLOSERsummary_hourly.php | 85 +- .../LANG_www/vicidial_br/AST_DIDstats.php | 83 +- .../LANG_www/vicidial_br/AST_IVRfilter.php | 51 +- .../LANG_www/vicidial_br/AST_IVRstats.php | 81 +- .../vicidial_br/AST_LISTS_campaign_stats.php | 105 +- .../vicidial_br/AST_LIST_UPDATEstats.php | 61 +- .../AST_OUTBOUNDsummary_interval.php | 99 +- .../LANG_www/vicidial_br/AST_VDADstats.php | 83 +- .../vicidial_br/AST_VICIDIAL_hopperlist.php | 45 +- .../vicidial_br/AST_VICIDIAL_ingrouplist.php | 46 +- .../vicidial_br/AST_admin_template_maker.php | 6 +- .../vicidial_br/AST_agent_days_detail.php | 85 +- .../AST_agent_performance_detail.php | 126 +- .../vicidial_br/AST_agent_status_detail.php | 99 +- .../vicidial_br/AST_agent_time_detail.php | 319 +- .../vicidial_br/AST_agent_time_sheet.php | 63 +- .../AST_agent_timeclock_detail.php | 83 +- .../AST_campaign_status_list_report.php | 182 +- .../vicidial_br/AST_carrier_log_report.php | 117 +- .../AST_dialer_inventory_report.php | 65 +- .../vicidial_br/AST_email_log_display.php | 86 + .../vicidial_br/AST_email_log_report.php | 559 ++ .../vicidial_br/AST_hangup_cause_report.php | 309 +- .../vicidial_br/AST_inbound_daily_report.php | 914 +- .../vicidial_br/AST_server_performance.php | 67 +- .../AST_team_performance_detail.php | 75 +- .../vicidial_br/AST_timeonVDADall.php | 68 +- agc_2-X/trunk/LANG_www/vicidial_br/admin.php | 7523 +++++++++++----- .../vicidial_br/admin_email_accounts.php | 884 ++ .../LANG_www/vicidial_br/admin_header.php | 130 +- .../admin_listloader_fourth_gen.php | 122 +- .../admin_listloader_third_gen.php | 14 +- .../vicidial_br/admin_lists_custom.php | 185 +- .../vicidial_br/admin_modify_lead.php | 143 +- .../vicidial_br/admin_phones_bulk_insert.php | 13 +- .../vicidial_br/admin_search_lead.php | 25 +- .../LANG_www/vicidial_br/audio_store.php | 99 +- .../vicidial_br/call_report_export.php | 84 +- .../vicidial_br/callbacks_bulk_change.php | 294 + .../LANG_www/vicidial_br/callcard_admin.php | 2 +- .../LANG_www/vicidial_br/campaign_debug.php | 54 +- .../trunk/LANG_www/vicidial_br/fcstats.php | 93 +- .../trunk/LANG_www/vicidial_br/functions.php | 115 +- .../vicidial_br/group_hourly_stats.php | 50 +- .../vicidial_br/lead_report_export.php | 84 +- .../trunk/LANG_www/vicidial_br/lead_tools.php | 891 ++ .../leadloader_template_display.php | 23 +- .../LANG_www/vicidial_br/list_download.php | 105 +- .../LANG_www/vicidial_br/non_agent_api.php | 1451 +++- .../vicidial_br/qc/QC_admin_include01.php | 105 + .../vicidial_br/qc/QC_admin_include02.php | 34 + .../qc/QC_admin_modify_lead_include.php | 20 + .../vicidial_br/qc/QC_admin_variables.php | 15 + .../vicidial_br/qc/QC_admin_variables01.php | 16 + .../vicidial_br/qc/QC_call_client_iframe.php | 263 + .../vicidial_br/qc/QC_call_client_include.php | 45 + .../vicidial_br/qc/QC_header_include.php | 42 + .../vicidial_br/qc/QC_header_include01.php | 16 + .../vicidial_br/qc/QC_header_include02.php | 17 + .../qc/QC_status_codes_include.php | 140 + .../vicidial_br/qc/audit_comments.php | 98 + .../trunk/LANG_www/vicidial_br/qc/qc_api.php | 627 ++ .../vicidial_br/qc/qc_modify_lead.php | 1294 +++ .../LANG_www/vicidial_br/realtime_report.php | 76 +- .../LANG_www/vicidial_br/send_CID_call.php | 16 +- .../LANG_www/vicidial_br/timeclock_report.php | 65 +- .../LANG_www/vicidial_br/timeclock_status.php | 105 +- .../trunk/LANG_www/vicidial_br/user_stats.php | 197 +- .../LANG_www/vicidial_br/user_status.php | 89 +- .../LANG_www/vicidial_br/user_territories.php | 4 +- .../trunk/LANG_www/vicidial_br/voice_lab.php | 58 +- .../LANG_www/vicidial_br/welcome_demo.php | 3 + .../vicidial_br/welcome_languages.php | 3 + .../vicidial_de/AST_CLOSER_service_level.php | 69 +- .../LANG_www/vicidial_de/AST_CLOSERstats.php | 292 +- .../vicidial_de/AST_CLOSERsummary_hourly.php | 85 +- .../LANG_www/vicidial_de/AST_DIDstats.php | 83 +- .../LANG_www/vicidial_de/AST_IVRfilter.php | 51 +- .../LANG_www/vicidial_de/AST_IVRstats.php | 81 +- .../vicidial_de/AST_LISTS_campaign_stats.php | 105 +- .../vicidial_de/AST_LIST_UPDATEstats.php | 61 +- .../AST_OUTBOUNDsummary_interval.php | 99 +- .../LANG_www/vicidial_de/AST_VDADstats.php | 83 +- .../vicidial_de/AST_VICIDIAL_hopperlist.php | 45 +- .../vicidial_de/AST_VICIDIAL_ingrouplist.php | 46 +- .../vicidial_de/AST_admin_template_maker.php | 6 +- .../vicidial_de/AST_agent_days_detail.php | 85 +- .../AST_agent_performance_detail.php | 126 +- .../vicidial_de/AST_agent_status_detail.php | 99 +- .../vicidial_de/AST_agent_time_detail.php | 319 +- .../vicidial_de/AST_agent_time_sheet.php | 63 +- .../AST_agent_timeclock_detail.php | 83 +- .../AST_campaign_status_list_report.php | 182 +- .../vicidial_de/AST_carrier_log_report.php | 117 +- .../AST_dialer_inventory_report.php | 65 +- .../vicidial_de/AST_email_log_display.php | 86 + .../vicidial_de/AST_email_log_report.php | 559 ++ .../vicidial_de/AST_hangup_cause_report.php | 309 +- .../vicidial_de/AST_inbound_daily_report.php | 914 +- .../vicidial_de/AST_server_performance.php | 67 +- .../AST_team_performance_detail.php | 75 +- .../vicidial_de/AST_timeonVDADall.php | 68 +- agc_2-X/trunk/LANG_www/vicidial_de/admin.php | 7543 +++++++++++----- .../vicidial_de/admin_email_accounts.php | 884 ++ .../LANG_www/vicidial_de/admin_header.php | 128 +- .../admin_listloader_fourth_gen.php | 122 +- .../admin_listloader_third_gen.php | 14 +- .../vicidial_de/admin_lists_custom.php | 185 +- .../vicidial_de/admin_modify_lead.php | 143 +- .../vicidial_de/admin_phones_bulk_insert.php | 13 +- .../vicidial_de/admin_search_lead.php | 25 +- .../LANG_www/vicidial_de/audio_store.php | 95 +- .../vicidial_de/call_report_export.php | 84 +- .../vicidial_de/callbacks_bulk_change.php | 294 + .../LANG_www/vicidial_de/campaign_debug.php | 54 +- .../trunk/LANG_www/vicidial_de/fcstats.php | 93 +- .../trunk/LANG_www/vicidial_de/functions.php | 115 +- .../vicidial_de/group_hourly_stats.php | 50 +- .../vicidial_de/lead_report_export.php | 84 +- .../trunk/LANG_www/vicidial_de/lead_tools.php | 891 ++ .../leadloader_template_display.php | 23 +- .../LANG_www/vicidial_de/list_download.php | 105 +- .../LANG_www/vicidial_de/non_agent_api.php | 1451 +++- .../vicidial_de/qc/QC_admin_include01.php | 105 + .../vicidial_de/qc/QC_admin_include02.php | 34 + .../qc/QC_admin_modify_lead_include.php | 20 + .../vicidial_de/qc/QC_admin_variables.php | 15 + .../vicidial_de/qc/QC_admin_variables01.php | 16 + .../vicidial_de/qc/QC_call_client_iframe.php | 263 + .../vicidial_de/qc/QC_call_client_include.php | 45 + .../vicidial_de/qc/QC_header_include.php | 42 + .../vicidial_de/qc/QC_header_include01.php | 16 + .../vicidial_de/qc/QC_header_include02.php | 17 + .../qc/QC_status_codes_include.php | 140 + .../vicidial_de/qc/audit_comments.php | 98 + .../trunk/LANG_www/vicidial_de/qc/qc_api.php | 627 ++ .../vicidial_de/qc/qc_modify_lead.php | 1294 +++ .../LANG_www/vicidial_de/realtime_report.php | 76 +- .../LANG_www/vicidial_de/send_CID_call.php | 16 +- .../LANG_www/vicidial_de/timeclock_report.php | 65 +- .../LANG_www/vicidial_de/timeclock_status.php | 105 +- .../trunk/LANG_www/vicidial_de/user_stats.php | 197 +- .../LANG_www/vicidial_de/user_status.php | 89 +- .../LANG_www/vicidial_de/user_territories.php | 4 +- .../trunk/LANG_www/vicidial_de/voice_lab.php | 58 +- .../LANG_www/vicidial_de/welcome_demo.php | 3 + .../vicidial_de/welcome_languages.php | 3 + .../vicidial_el/AST_CLOSER_service_level.php | 69 +- .../LANG_www/vicidial_el/AST_CLOSERstats.php | 292 +- .../vicidial_el/AST_CLOSERsummary_hourly.php | 85 +- .../LANG_www/vicidial_el/AST_DIDstats.php | 83 +- .../LANG_www/vicidial_el/AST_IVRfilter.php | 51 +- .../LANG_www/vicidial_el/AST_IVRstats.php | 81 +- .../vicidial_el/AST_LISTS_campaign_stats.php | 105 +- .../vicidial_el/AST_LIST_UPDATEstats.php | 61 +- .../AST_OUTBOUNDsummary_interval.php | 99 +- .../LANG_www/vicidial_el/AST_VDADstats.php | 83 +- .../vicidial_el/AST_VICIDIAL_hopperlist.php | 45 +- .../vicidial_el/AST_VICIDIAL_ingrouplist.php | 46 +- .../vicidial_el/AST_admin_template_maker.php | 6 +- .../vicidial_el/AST_agent_days_detail.php | 85 +- .../AST_agent_performance_detail.php | 126 +- .../vicidial_el/AST_agent_status_detail.php | 99 +- .../vicidial_el/AST_agent_time_detail.php | 319 +- .../vicidial_el/AST_agent_time_sheet.php | 63 +- .../AST_agent_timeclock_detail.php | 83 +- .../AST_campaign_status_list_report.php | 182 +- .../vicidial_el/AST_carrier_log_report.php | 117 +- .../AST_dialer_inventory_report.php | 65 +- .../vicidial_el/AST_email_log_display.php | 86 + .../vicidial_el/AST_email_log_report.php | 559 ++ .../vicidial_el/AST_hangup_cause_report.php | 309 +- .../vicidial_el/AST_inbound_daily_report.php | 914 +- .../vicidial_el/AST_server_performance.php | 67 +- .../AST_team_performance_detail.php | 75 +- .../vicidial_el/AST_timeonVDADall.php | 68 +- agc_2-X/trunk/LANG_www/vicidial_el/admin.php | 7535 +++++++++++----- .../vicidial_el/admin_email_accounts.php | 884 ++ .../LANG_www/vicidial_el/admin_header.php | 130 +- .../admin_listloader_fourth_gen.php | 122 +- .../admin_listloader_third_gen.php | 14 +- .../vicidial_el/admin_lists_custom.php | 185 +- .../vicidial_el/admin_modify_lead.php | 143 +- .../vicidial_el/admin_phones_bulk_insert.php | 13 +- .../vicidial_el/admin_search_lead.php | 25 +- .../LANG_www/vicidial_el/audio_store.php | 95 +- .../vicidial_el/call_report_export.php | 84 +- .../vicidial_el/callbacks_bulk_change.php | 294 + .../LANG_www/vicidial_el/callcard_admin.php | 2 +- .../LANG_www/vicidial_el/campaign_debug.php | 54 +- .../trunk/LANG_www/vicidial_el/fcstats.php | 93 +- .../trunk/LANG_www/vicidial_el/functions.php | 115 +- .../vicidial_el/group_hourly_stats.php | 50 +- .../vicidial_el/lead_report_export.php | 84 +- .../trunk/LANG_www/vicidial_el/lead_tools.php | 891 ++ .../leadloader_template_display.php | 23 +- .../LANG_www/vicidial_el/list_download.php | 105 +- .../LANG_www/vicidial_el/non_agent_api.php | 1451 +++- .../vicidial_el/qc/QC_admin_include01.php | 105 + .../vicidial_el/qc/QC_admin_include02.php | 34 + .../qc/QC_admin_modify_lead_include.php | 20 + .../vicidial_el/qc/QC_admin_variables.php | 15 + .../vicidial_el/qc/QC_admin_variables01.php | 16 + .../vicidial_el/qc/QC_call_client_iframe.php | 263 + .../vicidial_el/qc/QC_call_client_include.php | 45 + .../vicidial_el/qc/QC_header_include.php | 42 + .../vicidial_el/qc/QC_header_include01.php | 16 + .../vicidial_el/qc/QC_header_include02.php | 17 + .../qc/QC_status_codes_include.php | 140 + .../vicidial_el/qc/audit_comments.php | 98 + .../trunk/LANG_www/vicidial_el/qc/qc_api.php | 627 ++ .../vicidial_el/qc/qc_modify_lead.php | 1294 +++ .../LANG_www/vicidial_el/realtime_report.php | 76 +- .../LANG_www/vicidial_el/send_CID_call.php | 16 +- .../LANG_www/vicidial_el/timeclock_report.php | 65 +- .../LANG_www/vicidial_el/timeclock_status.php | 105 +- .../trunk/LANG_www/vicidial_el/user_stats.php | 197 +- .../LANG_www/vicidial_el/user_status.php | 89 +- .../LANG_www/vicidial_el/user_territories.php | 4 +- .../trunk/LANG_www/vicidial_el/voice_lab.php | 58 +- .../LANG_www/vicidial_el/welcome_demo.php | 3 + .../vicidial_el/welcome_languages.php | 3 + .../vicidial_es/AST_CLOSER_service_level.php | 69 +- .../LANG_www/vicidial_es/AST_CLOSERstats.php | 292 +- .../vicidial_es/AST_CLOSERsummary_hourly.php | 85 +- .../LANG_www/vicidial_es/AST_DIDstats.php | 83 +- .../LANG_www/vicidial_es/AST_IVRfilter.php | 51 +- .../LANG_www/vicidial_es/AST_IVRstats.php | 81 +- .../vicidial_es/AST_LISTS_campaign_stats.php | 105 +- .../vicidial_es/AST_LIST_UPDATEstats.php | 61 +- .../AST_OUTBOUNDsummary_interval.php | 99 +- .../LANG_www/vicidial_es/AST_VDADstats.php | 83 +- .../vicidial_es/AST_VICIDIAL_hopperlist.php | 45 +- .../vicidial_es/AST_VICIDIAL_ingrouplist.php | 46 +- .../vicidial_es/AST_admin_template_maker.php | 6 +- .../vicidial_es/AST_agent_days_detail.php | 85 +- .../AST_agent_performance_detail.php | 126 +- .../vicidial_es/AST_agent_status_detail.php | 99 +- .../vicidial_es/AST_agent_time_detail.php | 319 +- .../vicidial_es/AST_agent_time_sheet.php | 63 +- .../AST_agent_timeclock_detail.php | 83 +- .../AST_campaign_status_list_report.php | 182 +- .../vicidial_es/AST_carrier_log_report.php | 117 +- .../AST_dialer_inventory_report.php | 65 +- .../vicidial_es/AST_email_log_display.php | 86 + .../vicidial_es/AST_email_log_report.php | 559 ++ .../vicidial_es/AST_hangup_cause_report.php | 309 +- .../vicidial_es/AST_inbound_daily_report.php | 914 +- .../vicidial_es/AST_server_performance.php | 67 +- .../AST_team_performance_detail.php | 75 +- .../vicidial_es/AST_timeonVDADall.php | 68 +- agc_2-X/trunk/LANG_www/vicidial_es/admin.php | 7525 +++++++++++----- .../vicidial_es/admin_email_accounts.php | 884 ++ .../LANG_www/vicidial_es/admin_header.php | 130 +- .../admin_listloader_fourth_gen.php | 122 +- .../admin_listloader_third_gen.php | 14 +- .../vicidial_es/admin_lists_custom.php | 185 +- .../vicidial_es/admin_modify_lead.php | 143 +- .../vicidial_es/admin_phones_bulk_insert.php | 13 +- .../vicidial_es/admin_search_lead.php | 25 +- .../LANG_www/vicidial_es/audio_store.php | 99 +- .../vicidial_es/call_report_export.php | 84 +- .../vicidial_es/callbacks_bulk_change.php | 294 + .../LANG_www/vicidial_es/callcard_admin.php | 2 +- .../LANG_www/vicidial_es/campaign_debug.php | 54 +- .../trunk/LANG_www/vicidial_es/fcstats.php | 93 +- .../trunk/LANG_www/vicidial_es/functions.php | 115 +- .../vicidial_es/group_hourly_stats.php | 50 +- .../vicidial_es/lead_report_export.php | 84 +- .../trunk/LANG_www/vicidial_es/lead_tools.php | 891 ++ .../leadloader_template_display.php | 23 +- .../LANG_www/vicidial_es/list_download.php | 105 +- .../LANG_www/vicidial_es/non_agent_api.php | 1451 +++- .../vicidial_es/qc/QC_admin_include01.php | 105 + .../vicidial_es/qc/QC_admin_include02.php | 34 + .../qc/QC_admin_modify_lead_include.php | 20 + .../vicidial_es/qc/QC_admin_variables.php | 15 + .../vicidial_es/qc/QC_admin_variables01.php | 16 + .../vicidial_es/qc/QC_call_client_iframe.php | 263 + .../vicidial_es/qc/QC_call_client_include.php | 45 + .../vicidial_es/qc/QC_header_include.php | 42 + .../vicidial_es/qc/QC_header_include01.php | 16 + .../vicidial_es/qc/QC_header_include02.php | 17 + .../qc/QC_status_codes_include.php | 140 + .../vicidial_es/qc/audit_comments.php | 98 + .../trunk/LANG_www/vicidial_es/qc/qc_api.php | 627 ++ .../vicidial_es/qc/qc_modify_lead.php | 1294 +++ .../LANG_www/vicidial_es/realtime_report.php | 76 +- .../LANG_www/vicidial_es/send_CID_call.php | 16 +- .../LANG_www/vicidial_es/timeclock_report.php | 65 +- .../LANG_www/vicidial_es/timeclock_status.php | 105 +- .../trunk/LANG_www/vicidial_es/user_stats.php | 197 +- .../LANG_www/vicidial_es/user_status.php | 89 +- .../LANG_www/vicidial_es/user_territories.php | 4 +- .../trunk/LANG_www/vicidial_es/voice_lab.php | 58 +- .../LANG_www/vicidial_es/welcome_demo.php | 3 + .../vicidial_es/welcome_languages.php | 3 + .../vicidial_fr/AST_CLOSER_service_level.php | 69 +- .../LANG_www/vicidial_fr/AST_CLOSERstats.php | 292 +- .../vicidial_fr/AST_CLOSERsummary_hourly.php | 85 +- .../LANG_www/vicidial_fr/AST_DIDstats.php | 83 +- .../LANG_www/vicidial_fr/AST_IVRfilter.php | 51 +- .../LANG_www/vicidial_fr/AST_IVRstats.php | 81 +- .../vicidial_fr/AST_LISTS_campaign_stats.php | 105 +- .../vicidial_fr/AST_LIST_UPDATEstats.php | 61 +- .../AST_OUTBOUNDsummary_interval.php | 99 +- .../LANG_www/vicidial_fr/AST_VDADstats.php | 83 +- .../vicidial_fr/AST_VICIDIAL_hopperlist.php | 45 +- .../vicidial_fr/AST_VICIDIAL_ingrouplist.php | 46 +- .../vicidial_fr/AST_admin_template_maker.php | 6 +- .../vicidial_fr/AST_agent_days_detail.php | 85 +- .../AST_agent_performance_detail.php | 126 +- .../vicidial_fr/AST_agent_status_detail.php | 99 +- .../vicidial_fr/AST_agent_time_detail.php | 319 +- .../vicidial_fr/AST_agent_time_sheet.php | 63 +- .../AST_agent_timeclock_detail.php | 83 +- .../AST_campaign_status_list_report.php | 182 +- .../vicidial_fr/AST_carrier_log_report.php | 117 +- .../AST_dialer_inventory_report.php | 67 +- .../vicidial_fr/AST_email_log_display.php | 86 + .../vicidial_fr/AST_email_log_report.php | 559 ++ .../vicidial_fr/AST_hangup_cause_report.php | 309 +- .../vicidial_fr/AST_inbound_daily_report.php | 914 +- .../vicidial_fr/AST_server_performance.php | 67 +- .../AST_team_performance_detail.php | 75 +- .../vicidial_fr/AST_timeonVDADall.php | 68 +- agc_2-X/trunk/LANG_www/vicidial_fr/admin.php | 7545 ++++++++++++----- .../vicidial_fr/admin_email_accounts.php | 884 ++ .../LANG_www/vicidial_fr/admin_header.php | 130 +- .../admin_listloader_fourth_gen.php | 122 +- .../admin_listloader_third_gen.php | 14 +- .../vicidial_fr/admin_lists_custom.php | 185 +- .../vicidial_fr/admin_modify_lead.php | 143 +- .../vicidial_fr/admin_phones_bulk_insert.php | 13 +- .../vicidial_fr/admin_search_lead.php | 25 +- .../LANG_www/vicidial_fr/audio_store.php | 95 +- .../vicidial_fr/call_report_export.php | 88 +- .../vicidial_fr/callbacks_bulk_change.php | 294 + .../LANG_www/vicidial_fr/callcard_admin.php | 2 +- .../LANG_www/vicidial_fr/campaign_debug.php | 54 +- .../trunk/LANG_www/vicidial_fr/fcstats.php | 93 +- .../trunk/LANG_www/vicidial_fr/functions.php | 115 +- .../vicidial_fr/group_hourly_stats.php | 50 +- .../vicidial_fr/lead_report_export.php | 88 +- .../trunk/LANG_www/vicidial_fr/lead_tools.php | 891 ++ .../leadloader_template_display.php | 23 +- .../LANG_www/vicidial_fr/list_download.php | 105 +- .../LANG_www/vicidial_fr/non_agent_api.php | 1451 +++- .../vicidial_fr/qc/QC_admin_include01.php | 105 + .../vicidial_fr/qc/QC_admin_include02.php | 34 + .../qc/QC_admin_modify_lead_include.php | 20 + .../vicidial_fr/qc/QC_admin_variables.php | 15 + .../vicidial_fr/qc/QC_admin_variables01.php | 16 + .../vicidial_fr/qc/QC_call_client_iframe.php | 263 + .../vicidial_fr/qc/QC_call_client_include.php | 45 + .../vicidial_fr/qc/QC_header_include.php | 42 + .../vicidial_fr/qc/QC_header_include01.php | 16 + .../vicidial_fr/qc/QC_header_include02.php | 17 + .../qc/QC_status_codes_include.php | 140 + .../vicidial_fr/qc/audit_comments.php | 98 + .../trunk/LANG_www/vicidial_fr/qc/qc_api.php | 627 ++ .../vicidial_fr/qc/qc_modify_lead.php | 1294 +++ .../LANG_www/vicidial_fr/realtime_report.php | 76 +- .../LANG_www/vicidial_fr/send_CID_call.php | 16 +- .../LANG_www/vicidial_fr/timeclock_report.php | 65 +- .../LANG_www/vicidial_fr/timeclock_status.php | 105 +- .../trunk/LANG_www/vicidial_fr/user_stats.php | 197 +- .../LANG_www/vicidial_fr/user_status.php | 89 +- .../LANG_www/vicidial_fr/user_territories.php | 4 +- .../trunk/LANG_www/vicidial_fr/voice_lab.php | 58 +- .../LANG_www/vicidial_fr/welcome_demo.php | 3 + .../vicidial_fr/welcome_languages.php | 3 + .../vicidial_it/AST_CLOSER_service_level.php | 69 +- .../LANG_www/vicidial_it/AST_CLOSERstats.php | 292 +- .../vicidial_it/AST_CLOSERsummary_hourly.php | 85 +- .../LANG_www/vicidial_it/AST_DIDstats.php | 83 +- .../LANG_www/vicidial_it/AST_IVRfilter.php | 51 +- .../LANG_www/vicidial_it/AST_IVRstats.php | 81 +- .../vicidial_it/AST_LISTS_campaign_stats.php | 105 +- .../vicidial_it/AST_LIST_UPDATEstats.php | 61 +- .../AST_OUTBOUNDsummary_interval.php | 99 +- .../LANG_www/vicidial_it/AST_VDADstats.php | 83 +- .../vicidial_it/AST_VICIDIAL_hopperlist.php | 45 +- .../vicidial_it/AST_VICIDIAL_ingrouplist.php | 46 +- .../vicidial_it/AST_admin_template_maker.php | 6 +- .../vicidial_it/AST_agent_days_detail.php | 85 +- .../AST_agent_performance_detail.php | 126 +- .../vicidial_it/AST_agent_status_detail.php | 99 +- .../vicidial_it/AST_agent_time_detail.php | 319 +- .../vicidial_it/AST_agent_time_sheet.php | 63 +- .../AST_agent_timeclock_detail.php | 83 +- .../AST_campaign_status_list_report.php | 182 +- .../vicidial_it/AST_carrier_log_report.php | 117 +- .../AST_dialer_inventory_report.php | 65 +- .../vicidial_it/AST_email_log_display.php | 86 + .../vicidial_it/AST_email_log_report.php | 559 ++ .../vicidial_it/AST_hangup_cause_report.php | 309 +- .../vicidial_it/AST_inbound_daily_report.php | 914 +- .../vicidial_it/AST_server_performance.php | 61 +- .../AST_team_performance_detail.php | 75 +- .../vicidial_it/AST_timeonVDADall.php | 68 +- agc_2-X/trunk/LANG_www/vicidial_it/admin.php | 7483 +++++++++++----- .../vicidial_it/admin_email_accounts.php | 884 ++ .../LANG_www/vicidial_it/admin_header.php | 108 +- .../admin_listloader_fourth_gen.php | 122 +- .../admin_listloader_third_gen.php | 14 +- .../vicidial_it/admin_lists_custom.php | 179 +- .../vicidial_it/admin_modify_lead.php | 143 +- .../vicidial_it/admin_phones_bulk_insert.php | 13 +- .../vicidial_it/admin_search_lead.php | 25 +- .../LANG_www/vicidial_it/audio_store.php | 95 +- .../vicidial_it/call_report_export.php | 84 +- .../vicidial_it/callbacks_bulk_change.php | 294 + .../LANG_www/vicidial_it/campaign_debug.php | 54 +- .../trunk/LANG_www/vicidial_it/fcstats.php | 93 +- .../trunk/LANG_www/vicidial_it/functions.php | 115 +- .../vicidial_it/group_hourly_stats.php | 50 +- .../vicidial_it/lead_report_export.php | 84 +- .../trunk/LANG_www/vicidial_it/lead_tools.php | 891 ++ .../leadloader_template_display.php | 23 +- .../LANG_www/vicidial_it/list_download.php | 105 +- .../LANG_www/vicidial_it/non_agent_api.php | 1451 +++- .../vicidial_it/qc/QC_admin_include01.php | 105 + .../vicidial_it/qc/QC_admin_include02.php | 34 + .../qc/QC_admin_modify_lead_include.php | 20 + .../vicidial_it/qc/QC_admin_variables.php | 15 + .../vicidial_it/qc/QC_admin_variables01.php | 16 + .../vicidial_it/qc/QC_call_client_iframe.php | 263 + .../vicidial_it/qc/QC_call_client_include.php | 45 + .../vicidial_it/qc/QC_header_include.php | 42 + .../vicidial_it/qc/QC_header_include01.php | 16 + .../vicidial_it/qc/QC_header_include02.php | 17 + .../qc/QC_status_codes_include.php | 140 + .../vicidial_it/qc/audit_comments.php | 98 + .../trunk/LANG_www/vicidial_it/qc/qc_api.php | 627 ++ .../vicidial_it/qc/qc_modify_lead.php | 1294 +++ .../LANG_www/vicidial_it/realtime_report.php | 76 +- .../LANG_www/vicidial_it/send_CID_call.php | 16 +- .../LANG_www/vicidial_it/timeclock_report.php | 65 +- .../LANG_www/vicidial_it/timeclock_status.php | 105 +- .../trunk/LANG_www/vicidial_it/user_stats.php | 197 +- .../LANG_www/vicidial_it/user_status.php | 87 +- .../LANG_www/vicidial_it/user_territories.php | 4 +- .../trunk/LANG_www/vicidial_it/voice_lab.php | 58 +- .../LANG_www/vicidial_it/welcome_demo.php | 3 + .../vicidial_it/welcome_languages.php | 3 + agc_2-X/trunk/UPGRADE | 2 + agc_2-X/trunk/translations/br_language.txt | 102 +- .../trunk/translations/br_language_admin.txt | 242 +- agc_2-X/trunk/translations/de_language.txt | 101 +- .../trunk/translations/de_language_admin.txt | 242 +- agc_2-X/trunk/translations/dk_language.txt | 101 +- agc_2-X/trunk/translations/el_language.txt | 101 +- .../trunk/translations/el_language_admin.txt | 245 +- agc_2-X/trunk/translations/es_language.txt | 101 +- .../trunk/translations/es_language_admin.txt | 243 +- agc_2-X/trunk/translations/fr_language.txt | 101 +- .../trunk/translations/fr_language_admin.txt | 248 +- agc_2-X/trunk/translations/it_language.txt | 101 +- .../trunk/translations/it_language_admin.txt | 242 +- agc_2-X/trunk/translations/jp_language.txt | 645 ++ agc_2-X/trunk/translations/nl_language.txt | 101 +- agc_2-X/trunk/translations/pl_language.txt | 101 +- agc_2-X/trunk/translations/pt_language.txt | 101 +- .../TO_BE_TRANSLATED_2.6.txt | 125 + agc_2-X/trunk/translations/ru_language.txt | 101 +- agc_2-X/trunk/translations/se_language.txt | 87 +- agc_2-X/trunk/translations/sk_language.txt | 101 +- agc_2-X/trunk/translations/tw_language.txt | 102 +- agc_2-X/trunk/www/agc/vdc_db_query.php | 47 +- agc_2-X/trunk/www/agc/vicidial.php | 39 +- 773 files changed, 201203 insertions(+), 53616 deletions(-) create mode 100644 agc_2-X/trunk/LANG_www/agc_br/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_br/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_de/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_de/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_dk/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_dk/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_el/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_el/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_es/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_es/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_fr/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_fr/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_it/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_it/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_jp/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_jp/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_nl/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_nl/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_pl/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_pl/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_pt/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_pt/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_ru/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_ru/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_se/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_se/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_sk/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_sk/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/agc_tw/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/agc_tw/vdc_email_display.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_display.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_report.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/admin_email_accounts.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/callbacks_bulk_change.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/lead_tools.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_modify_lead_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_variables.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_variables01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_call_client_iframe.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_call_client_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_status_codes_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_api.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_modify_lead.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_display.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_report.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/admin_email_accounts.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/callbacks_bulk_change.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/lead_tools.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_modify_lead_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_variables.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_variables01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_call_client_iframe.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_call_client_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_status_codes_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_api.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_modify_lead.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_display.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_report.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/admin_email_accounts.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/callbacks_bulk_change.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/lead_tools.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_modify_lead_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_variables.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_variables01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_call_client_iframe.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_call_client_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_status_codes_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_api.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_modify_lead.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_display.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_report.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/admin_email_accounts.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/callbacks_bulk_change.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/lead_tools.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_modify_lead_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_variables.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_variables01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_call_client_iframe.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_call_client_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_status_codes_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_api.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_modify_lead.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_display.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_report.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/admin_email_accounts.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/callbacks_bulk_change.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/lead_tools.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_modify_lead_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_variables.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_variables01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_call_client_iframe.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_call_client_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_status_codes_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_api.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_modify_lead.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_display.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_report.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/admin_email_accounts.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/callbacks_bulk_change.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/lead_tools.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_modify_lead_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_variables.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_variables01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_call_client_iframe.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_call_client_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include01.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include02.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_status_codes_include.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/audit_comments.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_api.php create mode 100644 agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_modify_lead.php create mode 100644 agc_2-X/trunk/translations/jp_language.txt diff --git a/agc_2-X/trunk/LANG_www/agc_br/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_br/active_list_refresh.php index 85e5f338..801aa4dc 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_br/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Usuário/Senha: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Mostrar Lista: "; -if ($ADD==1) {echo "Extensões Ativas";} -if ($ADD==2) {echo "Extensões Ocupadas";} -if ($ADD==3) {echo "Linhas externas";} -if ($ADD==4) {echo "Extensões Locais";} -if ($ADD==5) {echo "Conferências";} -if ($ADD==99999) {echo "AJUDA";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mostrar Lista: "; + if ($ADD==1) {echo "Extensões Ativas";} + if ($ADD==2) {echo "Extensões Ocupadas";} + if ($ADD==3) {echo "Linhas externas";} + if ($ADD==4) {echo "Extensões Locais";} + if ($ADD==5) {echo "Conferências";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
\n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
\n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
\n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
\n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
\n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_br/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_br/astguiclient.php index 84c310f4..4cc4f2f8 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_br/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Gravar"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Gravar"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "CHAMADAS ATIVAS NESTE RAMAL:
"; + var live_calls_HTML = "CHAMADAS ATIVAS NESTE RAMAL:
#CANAL DO CLIENTECANAL REMOTORECORDDESLIGARTRANFERÊNCIAESPERA
"; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Gravarbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Parar Gravação";} else - {live_calls_HTML = live_calls_HTML + "Gravar";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "CONFERÊNCIA " + head_conf + "    Registrado para: " + head_reg + "   " + reglink + "         Entrar na conferência
Atualizar     Gravar         Enviar DTMF         Discar da confêrencia
"; + var conf_head_HTML = "CONFERÊNCIA " + head_conf + "    Registrado para: " + head_reg + "   " + reglink + "         Entrar na conferência
Atualizar     Record         Enviar DTMF         Discar da confêrencia
"; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
#CANAL DO CLIENTECANAL REMOTORECORDDESLIGARTRANFERÊNCIAPARK
DESLIGARTRANFERÊNCIAESPERA
DESLIGARTRANFERÊNCIAPARK
"; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
TRUNK HANGUP

+ \n"; echo "\n";echo "\n"; echo "
TRUNK hangup

Active Trunks Menu
Desligar o Canal   |   Capturar o Canal   |   diff --git a/agc_2-X/trunk/LANG_www/agc_br/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_br/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_br/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_br/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_br/call_log_display.php index c37185b9..d04fea53 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_br/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Usuário/Senha: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Registro de Ligações"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Registro de Ligações"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten não é válido ou protocolo $protocol não é válido\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_br/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_br/conf_exten_check.php index a2b6f2cb..92ccf4ca 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_br/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF agente IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_br/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_br/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_br/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_br/functions.php b/agc_2-X/trunk/LANG_www/agc_br/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_br/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_br/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_br/inbound_popup.php index a2511ff1..4a4bde1f 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_br/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
CallerID: $row[3]
\n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_br/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_br/live_exten_check.php index 53ea8c9a..cc761dc5 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_br/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Usuário/Senha: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Verificação de extensões ativas"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Verificação de extensões ativas"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten não é válido ou protocolo $protocol não é válido\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_br/manager_send.php b/agc_2-X/trunk/LANG_www/agc_br/manager_send.php index d90f9685..4d061051 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_br/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "AJUDA";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Você não tem permissão para discar para sessões de outro agente $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate comando enviado para Exten $exten Canal $channelligado$server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
\n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
\n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='ESPERAED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='ESPERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='ESPERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='ESPERA_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRESPERAED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRESPERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRESPERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context Deve ser definido\n"; echo "ext_priority $ext_priority Deve ser definido\n"; echo "\nRedirect Action não enviado\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conferenceligado$server_ip, Redirect comando não inserido\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Não foi possível achar uma conferência vazialigado$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Não foi possível achar uma conferência vazialigado$server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel não está ativoligado$call_server_ip, Redirect comando não inserido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está ativoligado$call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel não está ativoligado$server_ip, Redirect comando não inserido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está ativoligado$server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect comando não inserido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX comando enviado para Canal $channelligado$call_server_ip and \nHungup $extrachannelligado$server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channelligado$call_server_ip, Hungup $extrachannelligado$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channelligado$call_server_ip, Hungup $extrachannelligado$server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channelligado$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channelligado$server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority Deve ser definido\n"; echo "session_id $session_id Deve ser definido\n"; echo "\nRedirect Action não enviado\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conferenceligado$server_ip, Redirect comando não inserido\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Não foi possível achar uma conferência vazialigado$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Não foi possível achar uma conferência vazialigado$server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel não está ativoligado$call_server_ip, Redirect comando não inserido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está ativoligado$call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel não está ativoligado$server_ip, Redirect comando não inserido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está ativoligado$server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando enviado para Canal $channel and \nExtraChannel $extrachannel\n to $extenligado$server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $extenligado$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $extenligado$server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando enviado para Canal $channelligado$call_server_ip and \nExtraChannel $extrachannel\n to $extenligado$server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings goingligadoin this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_br/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_br/park_calls_display.php index 5e07fb7e..bc43677f 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_br/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_br/phone_only.php b/agc_2-X/trunk/LANG_www/agc_br/phone_only.php index 736908a3..96218817 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_br/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefone de login $clientDST = '1'; # set to 1 to check for DSTligadoserver for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock linkligadothe agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
Telefone web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Relogio ponto
\n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
\"VICIdial\" Telefone-Only Login
 
Login do Usuário:
Senha do Usuário:
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefone web client: Login do Ramal\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Relogio ponto
\n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\"VICIdial\" Telefone-Only Login
 
Login do Ramal:
Senha do Ramal:
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefone web client: Login do Ramal\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Relogio ponto
\n";} - echo "\n"; + {echo " Relogio ponto
\n";} + echo "
\n"; echo "\n"; -echo "\n";echo "\n"; echo "
English Brazil
\n"; - echo "
\n"; - echo "\n"; - echo "


"; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\"VICIdial\" Telefone-Only Login
 
Login do Ramal:
Senha do Ramal:
  \n"; - echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; - echo "
\n\n"; +echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\"VICIdial\" Telefone-Only Login
 
Login do Ramal:
Senha do Ramal:
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "
\n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_br/timeclock.php b/agc_2-X/trunk/LANG_www/agc_br/timeclock.php index 6db4a59e..08a3246f 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_br/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_br/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_br/vdc_db_query.php index 6290b5e8..a8ebad5e 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_br/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Inválido Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Endereço Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Servidor Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Servidor Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF agente IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "GerenteLogin:
\n"; $VDdisplayMESSAGE.= "GerenteSenha:
\n"; - $VDdisplayMESSAGE.= "



\n"; + $VDdisplayMESSAGE.= "



\n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NÚMERO\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NÚMERO\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NÚMERO\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST CHAMADA TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST CHAMADA TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP último NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN último NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP última chamada TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN última chamada TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentários + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentários + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefone and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefone e código postal fuso horário incompatibilidade! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append na campanha $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # CHAMADAOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CHAMADAOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
\n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
\n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2793,7 +2989,7 @@ if ($ACTION == 'alt_phone_change') if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) || (strlen($phone_number)<1) ) { $channel_live=0; - echo "FONE ALT NÚMERO STATUS NOT CHANGED\n"; + echo "FONE alternado NÚMERO STATUS NOT CHANGED\n"; echo "$phone_number $stage $lead_id or $called_count não é válido\n"; exit; } @@ -2804,7 +3000,7 @@ if ($ACTION == 'alt_phone_change') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00041',$user,$server_ip,$session_name,$one_mysql_log);} - echo "FONE ALT NÚMERO STATUS CHANGED\n"; + echo "FONE alternado NÚMERO STATUS CHANGED\n"; } } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings na campanha $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " CHAMADA NOT PLACED\nDNC NÚMERO\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " CHAMADA NOT PLACED\nDNC NÚMERO\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " CHAMADA NOT PLACED\nNÚMERO NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
\n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
\n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
" . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "REGISTRO NÃO DEFINIDO\n"; echo "uniqueid $uniqueid or lead_id: $lead_id não é válido\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
\n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
\n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
\n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
\n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentários + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentários + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign não é válido\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groupsligadovicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_rowligadoselected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then sendligadoto vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
\n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
\n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $userligado$server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign não é válido or lead_id $lead_id não é válido\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentários + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentários + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then sendligadoto vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $userligado$server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-na campanha as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,12 +8160,23 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Comentários Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### CHAMADABACK ENTRY + ### callback ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Notas Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Notas Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
\n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
\n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDEM[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDEM[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserORDEM); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserORDEM[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
  $AXVSuser[$i] - $AXVSfull_name[$i] 

\n"; echo "    -PRONTO      -Chamadas      -PAUSA  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Chamadas na fila Ver condicionada para esta campanha\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more infoligadothe calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "ir       "; + echo " fechar "; echo "\n"; echo "
\n"; echo "
    PHONE     NAME     WAIT     AGENT     telefone     nome completo     esperar     agente           CHAMADA GROUP     TYPE     grupo chamar     tipo  
TAKE CHAMADA  
"; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: id chumbo, identificação do fornecedor, número de telefone, sobrenome\n"; echo "

"; echo "Voltar"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
  #     DATE/TIME     LENGTH     data\/hora    comprimento     STATUS     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefone     nome completo     campanha     dentro e fora     alternado     hangup     informações     DISCAR  
$ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL informações DISCAR DISCAR
"; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Erro: Ocorreu um problema com seus termos de pesquisa\n"; echo "

"; echo "Voltar"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: Número de escritório, sobrenome, nome\n"; echo "

"; echo "Voltar"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Erro: Ocorreu um problema com seus termos de pesquisa\n"; echo "

"; echo "Voltar"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no levar id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Título'; + $label_title = ' Título'; $label_first_name = 'Nome'; $label_middle_initial = 'MI'; - $label_last_name = 'Sobrenome'; + $label_last_name = 'Sobrenome '; $label_address1 = 'Endereço1'; $label_address2 = 'Endereço2'; $label_address3 = 'Endereço3'; $label_city = 'Cidade'; - $label_state = 'Estado'; + $label_state = ' Estado'; $label_province = 'Bairro'; $label_postal_code = 'CEP'; $label_vendor_lead_code = 'Vendedor'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefone'; $label_phone_code = 'Codigo de Área'; $label_alt_phone = 'Telefone Alternativo'; $label_security_phrase = 'Mostrar'; - $label_email = 'Email'; - $label_comments = 'Comentários'; + $label_email = ' Email'; + $label_comments = ' Comentários'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefone and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefone e código postal fuso horário incompatibilidade! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
  #     NAME     PHONE     nome completo     telefone     STATUS     LAST CHAMADA     CITY     STATE     ZIP     INFO     última chamada     cidade     estado     zip     informações     DISCAR  
$ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL informações DISCAR DISCAR selecione
  #     FIRST NAME     LAST NAME     último NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
            Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       localização: $ALLlocation[$i]
$label_vendor_lead_code:   $row[1]
List ID:   $row[2]
Timezone:   $row[3]
Ligado Since Sobrenome Reset:   $row[4]
fuso horário:   $row[3]
chamado desde a última reposição:   $row[4]
$label_phone_code:   $row[5]
$label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " DISCAR ";} + else + {$INFOout .= " DISCAR ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
ligação discar:   DISCAR ";} + else + {$INFOout .= "
ligação discar:   DISCAR ";} } $INFOout .= "
selecionar essa liderança
$label_title:   $row[7]
$label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " DISCAR ";} + else + {$INFOout .= " DISCAR ";} + } } $INFOout .= "
$label_security_phrase:   $row[22]
$label_comments:   $row[23]
Ligado Count:   $row[24]
Sobrenome Local Call Time:   $row[25]
número de chamadas:   $row[24]
última vez chamada local:   $row[25]
Rank:   $row[26]
Owner:   $row[27]
Entry List ID:   $row[28]
"; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
log e-mail para este chumbo:
\n"; + $NOTESout .= "
  #     DATE/TIME     AGENT     LENGTH     data\/hora    agente     comprimento     STATUS     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefone     campanha     dentro e fora     alternado     hangup  
  FULL NAME     nome completo  
"; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
#   data\/hora   agente   campanha   enviar e-mail para   anexos
$u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
  MESSAGE: $row[6]
"; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Chamadas na fila Ver condicionada para esta campanha\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "não identificado código causa hangup."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_br/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_br/vdc_email_display.php new file mode 100644 index 00000000..59c620c2 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_br/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + echo "
\n"; + echo "\n"; + echo "
\n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

".$$attachment_name."
".$$attachment_orig_name."
".$$attachment_path."

"; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Inválido File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

mail sent to $to!

"; + + # Hangup the "call"ligadothe agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

mail could not be sent!

"; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
Date received:$row[email_date]
From:$row[email_from]
Subject:$row[subject]
Message:
$row[message]
anexos:
";
+			while($att_row=mysql_fetch_array($att_rslt)) {
+				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    anexos:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_br/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_br/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_br/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_br/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_br/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_br/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_br/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_br/vdc_script_notes.php index 72c925b9..a33393cd 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_br/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Título'; +$label_title = 'Title'; $label_first_name = 'Nome'; $label_middle_initial = 'MI'; -$label_last_name = 'Sobrenome'; +$label_last_name = 'Last'; $label_address1 = 'Endereço1'; $label_address2 = 'Endereço2'; $label_address3 = 'Endereço3'; $label_city = 'Cidade'; -$label_state = 'Estado'; +$label_state = 'State'; $label_province = 'Bairro'; $label_postal_code = 'CEP'; $label_vendor_lead_code = 'Vendedor'; @@ -265,7 +266,7 @@ $label_phone_code = 'Codigo de Área'; $label_alt_phone = 'Telefone Alternativo'; $label_security_phrase = 'Mostrar'; $label_email = 'Email'; -$label_comments = 'Comentários'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Notas"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0]; Source ID: $source_id --> : * diff --git a/agc_2-X/trunk/LANG_www/agc_br/vicidial.php b/agc_2-X/trunk/LANG_www/agc_br/vicidial.php index 3f9d7d9d..4939c0d1 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_br/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefone de login $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show callsligadohold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Desligar Cliente $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT DISCAR by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable alternado DISCAR by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock linkligadothe agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Título'; +$label_title = ' Título'; $label_first_name = 'Nome'; $label_middle_initial = 'MI'; -$label_last_name = 'Sobrenome'; +$label_last_name = 'Sobrenome '; $label_address1 = 'Endereço1'; $label_address2 = 'Endereço2'; $label_address3 = 'Endereço3'; $label_city = 'Cidade'; -$label_state = 'Estado'; +$label_state = ' Estado'; $label_province = 'Bairro'; $label_postal_code = 'CEP'; $label_vendor_lead_code = 'Vendedor'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Telefone'; $label_phone_code = 'Codigo de Área'; $label_alt_phone = 'Telefone Alternativo'; $label_security_phrase = 'Mostrar'; $label_email = 'Email'; -$label_comments = 'Comentários'; +$label_comments = ' Comentários'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='SOBREPOR GERENTE OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='SOBREPOR GERENTE OF agente SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo "Campanha: "; echo "$camp_form_code\n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "
    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; echo "\n"; @@ -907,7 +932,7 @@ echo "
    \n"; echo "Campanha: "; echo "$camp_form_code\n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "
    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; echo "\n"; @@ -957,7 +982,7 @@ echo "
    \n"; echo "Campanha: "; echo "$camp_form_code\n"; - echo "\"   \n"; + echo "\"   \n"; echo "\n"; echo "
    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; echo "\n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login telefone de login
     
    Login do Ramal:
    Senha do Ramal:
      \n"; + echo "
      \n"; echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "É necessário efetuar login no Relógio Ponto primeiro
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agente IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "GerenteLogin:
    \n"; $VDdisplayMESSAGE.= "GerenteSenha:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agente IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Login da Campanha\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Senha:
    \n"; echo "Campanha: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1603,7 +1632,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefone OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "\n"; echo "Campanha: "; echo "$camp_form_code\n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "
    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; echo "\n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "\n"; echo "Senha do Ramal: "; echo "\n"; - echo "\n"; + echo "\n"; echo "
    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; echo "\n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END telefone de login load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NOVO record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls todayligadothat campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Senha:
    \n"; echo "Campanha: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Janeiro','February','Março','Abril','Maio','Junho', +$Cmonths = Array('0','Janeiro','February','Março','Abril','Maio','Junho', 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= ""; $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = "
    "; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= ""; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= ""; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= ""; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var SobrenomeCallCID=''; - var SobrenomeCallbackCount=0; - var SobrenomeCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Início\""; var DiaLControl_auto_HTML_ready = "\"\"Início\""; var DiaLControl_auto_HTML_OFF = "\"\"Início\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "alerta está ligado"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "alerta estiver desligado"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'ESPERA_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'ESPERA_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'ESPERA_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'ESPERA_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'ESPERA_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'ESPERA_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'ESPERA_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'ESPERA_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'ESPERA_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'ESPERA_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'ESPERA_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4329,10 +4476,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'ESPERA_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'ESPERA_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'ESPERA_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "" + loop_ct + "" + channelfieldA + "recording"; + live_conf_HTML = live_conf_HTML + "" + loop_ct + "" + channelfieldA + "gravação"; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH agente VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Gerentesends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, ESPERA, FROMESPERA, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("você deve selecionar um agente de transferir ao usar agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Pegar"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Colocar"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Pegar"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Colocar"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Pegar"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ESPERA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Colocar"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ESPERA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Pegar"; - if (ivr_park_call=='ENABLED_ESPERA_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Colocar"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ESPERA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and moveligadoto disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (SobrenomeCallbackCount < CBcounT) || (SobrenomeCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - SobrenomeCallbackCount = CBcounT; - SobrenomeCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (SobrenomeCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - SobrenomeCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "px\">\">" + var CB_HTML = "
    # CHAMADABACK DATE/TIMENÚMEROINFONAME STATUSCAMPAIGNLAST DATA/HORA DA CHAMADA DISCAR ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - SobrenomeCallbackViewed=1; - SobrenomeCallbackCount = (SobrenomeCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Apelido de Grupo: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Clique aqui para escolher um apelido de grupo"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "discar grupo: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "clique aqui para escolher uma marcação em grupo"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Clique aqui para ativar"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search whileligadoinbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Comentários (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Comentários + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Agendamento:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     clique aqui para desativar"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Clique aqui para ativar"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Ligado: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Colocar"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ESPERA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Tempo de discagem excedido, favor contactar o administrador\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Discar"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Colocar"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Discar"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Discar"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - SobrenomeCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("LISTA DE DISCAGEM VAZIA","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Não existem mais registros na fila de discagem dessa campanha:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Esse número de telefone não está na lista da campanha:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Este número de telefone se encontra fora do tempo chamada local:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Erro não especificado:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Discar"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Início\"
    \"Discar"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("LISTA DE DISCAGEM VAZIA","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Não existem mais registros na fila de discagem dessa campanha:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Esse número de telefone não está na lista da campanha:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Este número de telefone se encontra fora do tempo chamada local:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Erro não especificado:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Discar"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Ligando: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS CHAMADABACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Agendamento:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Desligar"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Início\"
    \"Discar"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Comentários (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Comentários + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Ligando: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Agendamento:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Desligar"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,7 +7755,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: alternado ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: ENDERECO3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + SobrenomeCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - SobrenomeCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " CHAMADA NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - SobrenomeCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Comentários (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Comentários + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS CHAMADABACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Agendamento:" + CBcallback_time; @@ -7677,7 +8444,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: alternado ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: ENDERECO3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Colocar"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ESPERA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Entrante: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Addligadoall the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS CHAMADA PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Agendamento:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: alternado ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: ENDERECO3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE DISC. ALT.: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Código de área e número: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Alterar número de telefone para INATIVO";} + else + {EAactive_link = "Alterar número de telefone para ATIVO";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Ativa:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Contagem de Alt:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Notas:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Colocar"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Desligar"; + + document.getElementById("XferControl").innerHTML = "\"Transferir"; + + document.getElementById("LocalCloser").innerHTML = "\"CLOSER"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Transferência"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Transferência"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Início\"
    \"Discar"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Entrante: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Web"; } document.getElementById("ParkControl").innerHTML = "\"Colocar"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ESPERA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallNotasContent").innerHTML = "
    Chame Notas:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Chame Notas:
    "; } else { - document.getElementById("PerCallNotasContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("VOCÊ DEVE ser pausado Para procurar um LEAD"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("VOCÊ DEVE ser pausado Para procurar um LEAD"); + alert_box("você deve estar em uma chamada de entrada ativa para procurar uma vantagem"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the discar grupo Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # callback data\/hora NÚMERO informações  nome completo STATUS  campanha último DATA/HORA DA CHAMADA DISCAR alternado
    discar grupo
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Voltar"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9097,6 +10466,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox errorligadothis line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimizar "; document.getElementById("DispoSelectHAspan").innerHTML = "Desligue novamente"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "próxima pausa chamada"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + SobrenomeCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - SobrenomeCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the discar grupo + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "discar grupo: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they fechar their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9874,7 +11280,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (alt_dial_status_display==1) { - alert("Você está em ALT modo de discagem, você deve terminar a liderança antes de sair.\n" + reselect_alt_dial); + alert("Você está em alternado modo de discagem, você deve terminar a liderança antes de sair.\n" + reselect_alt_dial); } else { @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Seu turno acabou ou foi alterado, você foi desconectado da sua sessão

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or fechar the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or fechar the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or fechar the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("VOCÊ DEVE ser pausado Para procurar um LEAD"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Atualizar the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLNotasDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Atualizar the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pauseligadothe next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "próxima pausa chamada Set"; + } + + // ################################################################################ // Mostrar the groups selection span function OpeNGrouPSelectioN() @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "discar alerta:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('Bem vindoBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLNotasDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,7 +13259,7 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallNotasButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') @@ -11814,6 +13270,8 @@ function phone_number_format(formatphone) { {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Manual de fila é Off
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ESPERA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY hangup " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPOS     \n";} ?> SAIR\n"; ?> @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "\"FORM\"\n";} ?> -   LIVE   session ID:     + 0) + {echo "\"EMAIL\"\n";} + ?> +   LIVE   ID da sessão:     Chamadas Ativas - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; VISUALIZAR REGISTRO
    DISCAR FONE ALT
    + próxima pausa chamada
    + + Iniciar Gravação

    Web Form
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Colocar em espera
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2; Informações do cliente:         LEAD PESQUISA
    ";} ?> @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    + "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "\n"; + echo " + \n"; if ($per_call_notes == 'ENABLED') { echo "Chame Notas: "; if ($agent_call_log_view == '1') - {echo "
    ver as notas ";} + {echo "
    ver as notas ";} echo ""; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2; 0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "alerta está ligado";} else - {echo "Alert is OFF";} + {echo "alerta estiver desligado";} ?> @@ -13119,10 +14641,6 @@ $zi=2; - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -ATALHOS DE STATUS INATIVOS - - segundos:     @@ -13209,7 +14727,7 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +repor forma + + + +refresh @@ -13374,6 +14904,23 @@ Agentes de transferência disponíveis:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +ATALHOS DE STATUS INATIVOS + + + + + px height='px'> + + + + + + +
    ver a história comentário:
    +
    + @@ -13447,7 +14994,7 @@ Agentes de transferência disponíveis: -
    Sua sessão foi finalizada
    SAIR

    Voltar +
    Sua sessão foi finalizada
    SAIR

    @@ -13476,18 +15023,18 @@ Agentes de transferência disponíveis: px" height="px">
    SELEÇÃO DE STATUS :       Desligue novamente       minimizar

    \n";} + {echo "

    \n";} ?> - + Seleção do Motivo de Finalização
    PAUSAR DISCAGEM DO AGENTE
    LIMPAR FORMULÁRIO | ENVIAR

    - WEB FORM ENVIAR + forma webpage apresentar

     
    @@ -13496,7 +15043,7 @@ Agentes de transferência disponíveis: px" height="px"> Selecione uma data para o retorno :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ Agentes de transferência disponíveis:
    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Agentes de transferência disponíveis: -
    NOVA DISCAGEM MANUAL PARA :

    Digite abaixo a informação do novo contato que você deseja ligar. + - + @@ -13613,7 +15164,7 @@ Agentes de transferência disponíveis: px" height="px">
    NOVA DISCAGEM MANUAL PARA :

    Digite abaixo a informação do novo contato que você deseja ligar.
    \n"; } @@ -13578,9 +15125,9 @@ Agentes de transferência disponíveis: Codigo de Área:
      (Normalmente é 1 nos EUA-Canada)
    Telefone Number: número de telefone: -   (digits only) +   (só dígitos) @@ -13593,6 +15140,10 @@ Agentes de transferência disponíveis:

        +

    +     +

    +


    Se você deseja ligar para um número que não está na lista de contatos, digite o número que voc6e deseja discar no campo Discagem Sobreposta abaixo. Para desligar essa ligação você deve abrir o link Ligações em sua sessão link no rodapé da página e desligar clicando no link do canal.
     
    SELECAO DO GRUPO DE ENTRADA DO CLOSER

    \n";} + {echo "

    \n";} ?> Seleção do grupo de entrada do closer
    @@ -13635,7 +15186,7 @@ Agentes de transferência disponíveis: px" height="px">
    SELEÇÃO DE TERRITÓRIO

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Agentes de transferência disponíveis: - @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          AGENT CHAMADA LOG:             close [X]
    + \n";} ?> - + 0) + {echo "\n";} + ?> +
          registro de chamadas agente:             fechar [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Agentes de transferência disponíveis: -
          Procurar um Contato:             close [X]
    + "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH Agent VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4983,15 +5150,387 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("Sie müssen wählen Sie einen Agenten, um bei der Verwendung agentdirect übertragen"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Geparkten"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Parke"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Geparkten"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Parke"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Geparkten"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Parke"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Geparkten"; - if (ivr_park_call=='ENABLED_PARK_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Parke"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move an to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (NachnameCallbackCount < CBcounT) || (NachnameCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - NachnameCallbackCount = CBcounT; - NachnameCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (NachnameCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - NachnameCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          Procurar um Contato:             fechar [X]

    \n";} + {echo "

    \n";} ?>

    Notas: ao fazer uma busca de um contato, termos de pesquisa curinga ou parcial não são permitidos.
    Pedidos de busca de contato são todos registrados no sistema. @@ -13679,31 +15230,31 @@ Agentes de transferência disponíveis: - + - + - + - + - + - + - + - + - +
    Office Number: número do escritório:
    Nome Name: primeiro nome:
    Sobrenome Name: sobrenome:
    BU Name: nome da empresa:
    Department: departamento:
    Group Name: nome do grupo:
    Job Título: cargo:
    Location: localização:

    ENVIAR SEARCH             repor forma

    submeter pesquisa             repor forma


      @@ -13711,10 +15262,10 @@ Agentes de transferência disponíveis: - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          CONTACTOS PESQUISA:             close [X]
    + \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          CONTACTOS PESQUISA:             fechar [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Agentes de transferência disponíveis: - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          BUSCA POR UMA LEAD:             close [X]
    + \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          BUSCA POR UMA LEAD:             fechar [X]

    \n";} + {echo "

    \n";} ?>

    Notas: ao fazer uma busca por um chumbo, o número de telefone, levar identidade ou são as melhores campos para usar.
    Usando os outros campos pode ser mais lento. Busca de chumbo não permite termos de pesquisa curinga ou parcial.
    Solicitações de pesquisa de chumbo são todos registrados no sistema. @@ -13733,10 +15284,10 @@ Agentes de transferência disponíveis: - + - + - + @@ -13765,7 +15316,7 @@ Agentes de transferência disponíveis: : - +
    Telefone Number: número de telefone:
    Telefone Number Fields: campos de número de telefone: Número de telefone principal Número de telefone alternativo @@ -13744,7 +15295,7 @@ Agentes de transferência disponíveis:
    Lead ID: levar id:
    :

    ENVIAR SEARCH             repor forma

    submeter pesquisa             repor forma


      @@ -13773,34 +15324,34 @@ Agentes de transferência disponíveis: - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          RESULTADOS DA PROCURA:             close [X]
    +
          RESULTADOS DA PROCURA:             fechar [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - --> diff --git a/agc_2-X/trunk/LANG_www/agc_de/vicidial.php b/agc_2-X/trunk/LANG_www/agc_de/vicidial.php index 3455e5d1..8aef887d 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_de/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the Telefon anmelden $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls an hold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Kunden auflegen $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT WÄHLEN by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable alternate WÄHLEN by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link an the agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Titel'; +$label_title = ' Titel'; $label_first_name = 'Vorname'; $label_middle_initial = 'MI'; -$label_last_name = 'Nachname'; +$label_last_name = 'Nachname '; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'Stadt'; -$label_state = 'Bundesland'; +$label_state = ' Bundesland'; $label_province = 'Region'; $label_postal_code = 'Postleitzahl'; $label_vendor_lead_code = 'Anbieter ID'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'LandesCode'; $label_alt_phone = 'Alternative Telefonnummer'; $label_security_phrase = 'Zeigen'; $label_email = 'Email'; -$label_comments = 'Anmerkungen'; +$label_comments = ' Anmerkungen'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF Agent SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Registro de chamadas NOTAS:             close [X]
    + +
          Registro de chamadas NOTAS:             fechar [X]

    \n";} + {echo "

    \n";} ?> -
    Call List Notas
    +
    Call List Notes


      - Info Box Fechar + Info Box Fechar
    - "; @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "KONFERENZ " + head_conf + "    Registriert bei: " + head_reg + "   " + reglink + "         Betrete Konferenz
    Aktualisieren     Aufzeichnung         DTMF Senden         Wählen aus Konferenz
    "; + var conf_head_HTML = "KONFERENZ " + head_conf + "    Registriert bei: " + head_reg + "   " + reglink + "         Betrete Konferenz
    Aktualisieren     Record         DTMF Senden         Wählen aus Konferenz
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
          Informações do cliente:             close [X] +
          Informações do cliente:             fechar [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Agentes de transferência disponíveis: px" height="px">
    SELECIONE UM CÓDIGO DE PAUSA :

    \n";} + {echo "

    \n";} ?> Pausa Code Selection @@ -13824,7 +15375,7 @@ Agentes de transferência disponíveis: px">
    Selecione um Preset :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Agentes de transferência disponíveis: px" height="px">
    SELEC. UM APELIDO DE GRUPO :

    \n";} + {echo "

    \n";} ?> Seleção de Apelido de Grupo @@ -13843,6 +15394,18 @@ Agentes de transferência disponíveis:
    + +
    selecionar uma discagem em grupo :
    +
    \n";} + ?> + discar grupo Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Agentes de transferência disponíveis:
    + +
    outra sessão de agente ao vivo foi aberta usando o seu ID de usuário. ele foi desativado. Clique em OK para continuar a tela do agente.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Agentes de transferência disponíveis: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_br/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_br/voicemail_check.php index 5fd095f7..e8517683 100644 --- a/agc_2-X/trunk/LANG_www/agc_br/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_br/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Inválido Usuário/Senha: |$user|$pass|\n"; - exit; + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Verificar caixa postal"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Verificar caixa postal"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "Caixa Postal $vmail_box não é válido\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_de/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_de/active_list_refresh.php index de44be3c..18c58243 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_de/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Unzulässig Username/Passwort: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Unzulässig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Liste Display: "; -if ($ADD==1) {echo "Live Nebenstellen";} -if ($ADD==2) {echo "Besetzte Nebenstellen";} -if ($ADD==3) {echo "Amtsleitungen";} -if ($ADD==4) {echo "Lokale Nebenstellen";} -if ($ADD==5) {echo "Konferenzen";} -if ($ADD==99999) {echo "HILFE";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Liste Display: "; + if ($ADD==1) {echo "Live Nebenstellen";} + if ($ADD==2) {echo "Besetzte Nebenstellen";} + if ($ADD==3) {echo "Amtsleitungen";} + if ($ADD==4) {echo "Lokale Nebenstellen";} + if ($ADD==5) {echo "Konferenzen";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_de/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_de/astguiclient.php index 6cb55d70..745100a1 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_de/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Aufzeichnung"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Aufzeichnung"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Aufzeichnungbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,7 +1416,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Aufnahme stoppen";} else - {live_calls_HTML = live_calls_HTML + "Aufzeichnung";} + {live_calls_HTML = live_calls_HTML + "Record";} live_calls_HTML = live_calls_HTML + "
    AUFLEGENPARK
    "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK hangup

    Active Trunks Menu
    Amtsleitung auflegen   |   Amtsleitung übernehmen   |   diff --git a/agc_2-X/trunk/LANG_www/agc_de/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_de/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_de/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_de/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_de/call_log_display.php index c22cdd86..6dec6b8c 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_de/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Unzulässig Username/Passwort: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Unzulässig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Anruf Log Anzeige"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Anruf Log Anzeige"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten ist unzulässig oder Protokoll $protocol ist unzulässig\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_de/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_de/conf_exten_check.php index bb1470e0..c58a3898 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_de/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF Agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_de/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_de/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_de/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_de/functions.php b/agc_2-X/trunk/LANG_www/agc_de/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_de/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_de/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_de/inbound_popup.php index 3b0148b1..f403931a 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_de/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_de/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_de/live_exten_check.php index 0b53fa1c..a29ab5b7 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_de/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Unzulässig Username/Passwort: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Unzulässig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Aktive Nebenstelle überprüfen"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Aktive Nebenstelle überprüfen"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten ist unzulässig oder Protokoll $protocol ist unzulässig\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_de/manager_send.php b/agc_2-X/trunk/LANG_www/agc_de/manager_send.php index c17cc654..5bce737a 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_de/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "HILFE";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Sie sind nicht erlaubt, in anderen Anbieters Sitzungen DFÜ $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate Befehl gesendet für Exten $exten Kanal $channel an $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context muß eingestellt werden\n"; echo "ext_priority $ext_priority muß eingestellt werden\n"; echo "\nRedirect Action nicht gesendet\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference an $server_ip, Redirect Befehl nicht abgesetzt\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Kann keine leere Konferenz finden an $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Kann keine leere Konferenz finden an $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel ist nicht Live an $call_server_ip, Redirect Befehl nicht abgesetzt\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ist nicht Live an $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel ist nicht Live an $server_ip, Redirect Befehl nicht abgesetzt\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ist nicht Live an $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect Befehl nicht abgesetzt\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX Befehl gesendet für Kanal $channel an $call_server_ip and \nHungup $extrachannel an $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel an $call_server_ip, Hungup $extrachannel an $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel an $call_server_ip, Hungup $extrachannel an $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel an $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel an $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority muß eingestellt werden\n"; echo "session_id $session_id muß eingestellt werden\n"; echo "\nRedirect Action nicht gesendet\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference an $server_ip, Redirect Befehl nicht abgesetzt\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Kann keine leere Konferenz finden an $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Kann keine leere Konferenz finden an $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel ist nicht Live an $call_server_ip, Redirect Befehl nicht abgesetzt\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ist nicht Live an $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel ist nicht Live an $server_ip, Redirect Befehl nicht abgesetzt\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ist nicht Live an $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra Befehl gesendet für Kanal $channel and \nExtraChannel $extrachannel\n to $exten an $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten an $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten an $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra Befehl gesendet für Kanal $channel an $call_server_ip and \nExtraChannel $extrachannel\n to $exten an $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going an in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_de/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_de/park_calls_display.php index 8acb363a..3b9e1980 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_de/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_de/phone_only.php b/agc_2-X/trunk/LANG_www/agc_de/phone_only.php index 1512ff6a..a277181d 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_de/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the Telefon anmelden $clientDST = '1'; # set to 1 to check for DST an server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link an the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Telefon web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Stechuhr
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Deutsch
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Benutzer Login:
    Benutzer Passwort:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefon web client: Telefon Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Stechuhr
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Deutsch
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Telefon Login:
    Telefon Passwort:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefon web client: Telefon Login\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Stechuhr
    \n";} - echo "\n"; + {echo " Stechuhr
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Deutsch
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefon-Only Login
     
    Telefon Login:
    Telefon Passwort:
      \n"; - echo "

    VERSION: $version       BUILD: $build
    \n"; - echo "
    \n\n"; +echo "
    English Deutsch
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Telefon Login:
    Telefon Passwort:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_de/timeclock.php b/agc_2-X/trunk/LANG_www/agc_de/timeclock.php index f6c79593..1741c407 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_de/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_de/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_de/vdc_db_query.php index d8cbc2a3..a66fe4ea 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_de/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Unzulässig Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Adresse Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Server Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Server Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF Agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF Agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "ManagerLogin:
    \n"; $VDdisplayMESSAGE.= "ManagerPasswort:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NUMMER\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NUMMER\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NUMMER\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST ANRUF TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST ANRUF TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP letzte NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN letzte NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP letzten Anrufs TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN letzten Anrufs TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Anmerkungen + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Anmerkungen + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "Telefon und Postleitzahl Zeitzone Mismatch! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append in der Kampagne $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # ANRUFOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # ANRUFOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings in der Kampagne $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " ANRUF NOT PLACED\nDNC NUMMER\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " ANRUF NOT PLACED\nDNC NUMMER\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " ANRUF NOT PLACED\nNUMMER NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "LOG NICHT EINGEGEBEN\n"; echo "uniqueid $uniqueid or lead_id: $lead_id ist unzulässig\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Anmerkungen + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Anmerkungen + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampagne $campaign ist unzulässig\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups an vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row an selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send an to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user an $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampagne $campaign ist unzulässig or lead_id $lead_id ist unzulässig\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Anmerkungen + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Anmerkungen + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send an to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user an $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-in der Kampagne as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,12 +8160,23 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Anmerkungen Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### ANRUFBACK ENTRY + ### Rückruf ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Anmerkungen Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Anmerkungen Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserBESTELLEN[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserBESTELLEN[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserBESTELLEN); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserBESTELLEN[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -BEREIT      -INCALL      -PAUSED  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Anrufe in der Warteschlange Profil behindertengerechte für diese Kampagne\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info an the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "gehen       "; + echo " schließen "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefonieren     vollständigen Namen     warten     Agent           ANRUF GROUP     TYPE     rufen Gruppe     Art  
    TAKE ANRUF  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "Fehler: Sie müssen in Suchbegriffe eingeben, muss einer von diesen sein besiedelte: Blei-ID, Hersteller-ID, die Telefonnummer, Nachname\n"; echo "

    "; echo "Zurück"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     Datum\/Zeit     Länge     STATUS     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefonieren     vollständigen Namen     Kampagne     und aus     alternate     hangup     info     WÄHLEN  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL info WÄHLEN WÄHLEN
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Fehler: Es gab ein Problem mit Ihren Suchbegriffen\n"; echo "

    "; echo "Zurück"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "Fehler: Sie müssen in Suchbegriffe eingeben, eine davon muss gefüllt werden: Büronummer, Nachname, Vorname\n"; echo "

    "; echo "Zurück"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Fehler: Es gab ein Problem mit Ihren Suchbegriffen\n"; echo "

    "; echo "Zurück"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no führen id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Titel'; + $label_title = ' Titel'; $label_first_name = 'Vorname'; $label_middle_initial = 'MI'; - $label_last_name = 'Nachname'; + $label_last_name = 'Nachname '; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'Stadt'; - $label_state = 'Bundesland'; + $label_state = ' Bundesland'; $label_province = 'Region'; $label_postal_code = 'Postleitzahl'; $label_vendor_lead_code = 'Anbieter ID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'LandesCode'; $label_alt_phone = 'Alternative Telefonnummer'; $label_security_phrase = 'Zeigen'; - $label_email = 'Email'; - $label_comments = 'Anmerkungen'; + $label_email = ' Email'; + $label_comments = ' Anmerkungen'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "Telefon und Postleitzahl Zeitzone Mismatch! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     vollständigen Namen     telefonieren     STATUS     LAST ANRUF     CITY     STATE     ZIP     INFO     letzten Anrufs     Stadt     Zustand     zip     info     WÄHLEN  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL info WÄHLEN WÄHLEN wählen
      #     FIRST NAME     LAST NAME     letzte NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Ort: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Angerufen Since Nachname Reset:   $row[4]
    Zeitzone:   $row[3]
    genannt seit dem letzten Reset:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " WÄHLEN ";} + else + {$INFOout .= " WÄHLEN ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    Link wählen:   WÄHLEN ";} + else + {$INFOout .= "
    Link wählen:   WÄHLEN ";} } $INFOout .= "
    Wählen Sie dieses Kabel
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " WÄHLEN ";} + else + {$INFOout .= " WÄHLEN ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Angerufen Count:   $row[24]
    Nachname Local Call Time:   $row[25]
    Anzahl der Anrufe:   $row[24]
    letzten Ortsgespräch Zeit:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    E-Mail-Protokoll für diesen Vorsprung:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     Datum\/Zeit     Agent     Länge     STATUS     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefonieren     Kampagne     und aus     alternate     hangup  
      FULL NAME     vollständigen Namen  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   Datum\/Zeit   Agent   Kampagne   E-Mail an   Zubehör
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Anrufe in der Warteschlange Profil behindertengerechte für diese Kampagne\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "unbekannten Ursache hangup Code."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_de/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_de/vdc_email_display.php new file mode 100644 index 00000000..4d7c3831 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_de/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Unzulässig Username/Passwort: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Unzulässig File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" an the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    Zubehör:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    Zubehör:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_de/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_de/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_de/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_de/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_de/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_de/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_de/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_de/vdc_script_notes.php index 265d6156..5e7de6b9 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_de/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Titel'; +$label_title = 'Title'; $label_first_name = 'Vorname'; $label_middle_initial = 'MI'; -$label_last_name = 'Nachname'; +$label_last_name = 'Last'; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'Stadt'; -$label_state = 'Bundesland'; +$label_state = 'State'; $label_province = 'Region'; $label_postal_code = 'Postleitzahl'; $label_vendor_lead_code = 'Anbieter ID'; @@ -265,7 +266,7 @@ $label_phone_code = 'LandesCode'; $label_alt_phone = 'Alternative Telefonnummer'; $label_security_phrase = 'Zeigen'; $label_email = 'Email'; -$label_comments = 'Anmerkungen'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Anmerkungen"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *
    Kampagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -907,7 +932,7 @@ echo "
    Kampagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -957,7 +982,7 @@ echo "
    Kampagne: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login Telefon anmelden
     
    Telefon Login:
    Telefon Passwort:
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF Agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "Sie müssen sich in die TIMECLOCK ERSTE
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF Agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND Agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "ManagerLogin:
    \n"; $VDdisplayMESSAGE.= "ManagerPasswort:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND Agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Kampagne Login\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Passwort:
    \n"; echo "Kampagne: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1688,7 +1717,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefonieren OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Kampagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Telefon Passwort:

    VERSION: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END Telefon anmelden load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NEU record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today an that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Passwort:
    \n"; echo "Kampagne: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Januar','February','März','April','Mai','Juni', +$Cmonths = Array('0','Januar','February','März','April','Mai','Juni', 'Juli','August','September','Oktober','November','Dezember'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var NachnameCallCID=''; - var NachnameCallbackCount=0; - var NachnameCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"WiederAufnehmen\""; var DiaLControl_auto_HTML_ready = "\"\"WiederAufnehmen\""; var DiaLControl_auto_HTML_OFF = "\"\"WiederAufnehmen\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "Alarm auf"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "Alarm ist ausgeschaltet"; } } @@ -4329,10 +4476,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,6 +4598,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') @@ -4449,6 +4612,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "Aufnahme
    px\">\">" + var CB_HTML = "
    # ANRUFBACK DATE/TIMENUMMERINFONAME STATUSCAMPAIGNLAST ANRUF DATUM\/ZEIT WÄHLEN ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - NachnameCallbackViewed=1; - NachnameCallbackCount = (NachnameCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Alias-Gruppe: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Klicken Sie hier, um eine Gruppe Alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Einwahl in-group: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "Klicken Sie hier, um eine Einwahl-Gruppe wählen"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Hier klicken, um zu aktivieren"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while an inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Anmerkungen (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Anmerkungen + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Rückruf "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Letzter Anruf:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Wiedervorlage:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Anmerkungen:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Klicken Sie hier, um zu deaktivieren"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Hier klicken, um zu aktivieren"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Timeout beim wählen, bitte kontaktieren sie ihren Systemadministrator\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"mit"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Kundenanruf"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Nächste"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Nächste"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - NachnameCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("HOPPER LEER","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Es sind für diese Kampagne keine aktiven Adressen mehr im Hopper:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Diese Telefonnummer ist nicht in den Listen der Campagne:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Diese Rufnummer ist außerhalb des lokalen Zeit während des Bereitschaftsdienstes:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Unspezifizierter Fehler:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Nächste"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"WiederAufnehmen\"
    \"Nächste"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("HOPPER LEER","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Es sind für diese Kampagne keine aktiven Adressen mehr im Hopper:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Diese Telefonnummer ist nicht in den Listen der Campagne:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Diese Rufnummer ist außerhalb des lokalen Zeit während des Bereitschaftsdienstes:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Unspezifizierter Fehler:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Nächste"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Telefonierend: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS ANRUFBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Letzter Anruf:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Wiedervorlage:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Anmerkungen:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Kunden"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"WiederAufnehmen\"
    \"Nächste"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Anmerkungen (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Anmerkungen + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Telefonierend: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Rückruf "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Letzter Anruf:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Wiedervorlage:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Anmerkungen:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Kunden"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,7 +7755,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: alternate ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: ADRESSE3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + NachnameCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - NachnameCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " ANRUF NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - NachnameCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Anmerkungen (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Anmerkungen + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS ANRUFBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Rückruf "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Letzter Anruf:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Wiedervorlage:" + CBcallback_time; @@ -7677,7 +8444,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: alternate ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: ADRESSE3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Eingehend: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add an all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS ANRUF PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Eingehend: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Rückruf "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Letzter Anruf:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Wiedervorlage:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Anmerkungen:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: alternate ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: ADRESSE3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " ALT. NUMMERN WAHL: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Telefon Kennung und Nummer: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Diese Telfonnummer DEAKTIVIEREN";} + else + {EAactive_link = "Diese Telefonnummer AKTIVIEREN";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Aktiv: " + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Anzahl Alternativen: " + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Notizen: " + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Eingehend: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Parke"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Kunden"; + + document.getElementById("XferControl").innerHTML = "\"Transfer"; + + document.getElementById("LocalCloser").innerHTML = "\"LOKALE"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Verbinden"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Kundenspezifische"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"WiederAufnehmen\"
    \"Nächste"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Eingehend: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallAnmerkungenContent").innerHTML = "
    Rufen Hinweise:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Rufen Hinweise:
    "; } else { - document.getElementById("PerCallAnmerkungenContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("SIE MÜSSEN FÜR EINEN hielt inne, um zu suchen LEAD"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("SIE MÜSSEN FÜR EINEN hielt inne, um zu suchen LEAD"); + alert_box("Sie müssen an einem aktiven eingehenden Anruf sein, für eine Führung zu suchen"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the Einwahl in-group Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # Rückruf Datum\/Zeit NUMMER info vollständigen Namen STATUS Kampagne letzte ANRUF DATUM\/ZEIT WÄHLEN alternate
    Einwahl in-group
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Zurück"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9097,6 +10466,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error an this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimieren "; document.getElementById("DispoSelectHAspan").innerHTML = "Wieder Auflegen"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "nächsten Aufruf Pause"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + NachnameCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - NachnameCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the Einwahl in-group + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Einwahl in-group: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they schließen their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9874,7 +11280,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (alt_dial_status_display==1) { - alert("Sie sind in ALT Wählmodus, müssen Sie die Führung vor dem Abmelden beenden.\n" + reselect_alt_dial); + alert("Sie sind in alternate Wählmodus, müssen Sie die Führung vor dem Abmelden beenden.\n" + reselect_alt_dial); } else { @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Your Shift is over or has changed, you have been logged out of your session

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or schließen the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or schließen the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or schließen the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("SIE MÜSSEN FÜR EINEN hielt inne, um zu suchen LEAD"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Aktualisieren the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLAnmerkungenDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Aktualisieren the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause an the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "nächsten Aufruf Pause Set"; + } + + // ################################################################################ // Zeigen the groups selection span function OpeNGrouPSelectioN() @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "wählen Benachrichtigung:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('WillkommenBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLAnmerkungenDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,7 +13259,7 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallAnmerkungenButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') @@ -11814,6 +13270,8 @@ function phone_number_format(formatphone) { {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Manuelle Queue ist Aus
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY hangup " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPPEN     \n";} ?> LOGOUT\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    Session ID:     Live Anruf
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; ADRESSEN VORSCHAU
    ALT. NUMMER WÄHLEN
    + nächsten Aufruf Pause
    + + Starte Aufnahme

    Web Formular
    @@ -12885,7 +14406,7 @@ $zi=2;
    Kunden Information:         LEAD SUCHE";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Rufen Hinweise: "; if ($agent_call_log_view == '1') - {echo "
    Notizen anzeigen ";} + {echo "
    Notizen anzeigen ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "Alarm auf";} else - {echo "Alert is OFF";} + {echo "Alarm ist ausgeschaltet";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -TASTATURKÜRZEL DEAKTIVIERT - - Sekunden:     @@ -13209,7 +14727,7 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +Reset Form + + + +refresh @@ -13374,6 +14904,23 @@ Verfügbare Transfer Agents:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +TASTATURKÜRZEL DEAKTIVIERT + + + + + px height='px'> + + + + + + +
    Kommentar ansehen Geschichte:
    +
    + @@ -13447,7 +14994,7 @@ Verfügbare Transfer Agents: -
    Ihre Sitzung ist gesperrt worden
    LOGOUT

    Zurück +
    Ihre Sitzung ist gesperrt worden
    LOGOUT

    @@ -13476,18 +15023,18 @@ Verfügbare Transfer Agents:
    ANRUF ABSCHLIESSEN :       Wieder Auflegen       minimieren

    \n";} + {echo "

    \n";} ?> - + Gesprächsergebnis Auswahl
    WÄHLPAUSE
    FORMULAR ZURÜCKSETZEN | ÜBERNEHMEN

    - WEB FORM ÜBERNEHMEN + Homepage Formular abschicken

     
    @@ -13496,7 +15043,7 @@ Verfügbare Transfer Agents:
    Wählen Sie ein Rückrufdatum :

    \n";} + {echo "

    \n";} ?> @@ -13550,11 +15097,11 @@ Verfügbare Transfer Agents: -
    WIEDERVORLAGEN FÜR AGENT :
    Um Informationen über eine der Rückrufe siehe unten, auf der INFO-Link klicken. Um den Kunden einen Rückruf jetzt, auf der WÄHLEN-Link klicken. Wenn Sie unten auf einen Datensatz klicken, um ihn zu wählen, wird es aus der Liste entfernt werden. +
    WIEDERVORLAGEN FÜR Agent :
    Um Informationen über eine der Rückrufe siehe unten, auf der INFO-Link klicken. Um den Kunden einen Rückruf jetzt, auf der WÄHLEN-Link klicken. Wenn Sie unten auf einen Datensatz klicken, um ihn zu wählen, wird es aus der Liste entfernt werden.

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Verfügbare Transfer Agents: -
    NEUE MANUELLE ADRESSE FÜR :

    Tragen Sie unten die Informationen zu der neuen Adresse ein, die SIE wählen möchten. + - + @@ -13613,7 +15164,7 @@ Verfügbare Transfer Agents:
    NEUE MANUELLE ADRESSE FÜR :

    Tragen Sie unten die Informationen zu der neuen Adresse ein, die SIE wählen möchten.
    \n"; } @@ -13578,9 +15125,9 @@ Verfügbare Transfer Agents: Wahl Code:
      (Dieses ist normalerweise 49 in Deutschland)
    Telefon Number: Telefonnummer: -   (digits only) +   (nur Ziffern) @@ -13593,6 +15140,10 @@ Verfügbare Transfer Agents:

        +

    +     +

    +


    Wenn Sie eine Nummer wählen möchten, die nicht in der Adressliste aufgenommen werden soll, müssen die genaue Nummer in das WÄHL OVERRIDE Feld eintragen. Um diesen Anruf dann aufzulegen, müssen Sie auf den VERBINDUNGEN IN DIESER SITZUNG Link klicken, und dann über die Auswahl der Leitung den entsprechenden Anruf zu beenden..
     
    SUPERVISOR INBOUND GRUPPENWAHL

    \n";} + {echo "

    \n";} ?> Supervisor Inbound Gruppenwahl
    @@ -13635,7 +15186,7 @@ Verfügbare Transfer Agents:
    GEBIET AUSWAHL

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Verfügbare Transfer Agents: -
          AGENT ANRUF LOG:             close [X]
    + @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          Agent Anrufliste:             schließen [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Verfügbare Transfer Agents: - \n";} ?> - + 0) + {echo "\n";} + ?> +
          Suchen nach Namen:             close [X]
    +
          Suchen nach Namen:             schließen [X]

    \n";} + {echo "

    \n";} ?>

    Hinweise: Wenn Sie eine Suche nach einem Kontakt, sind Platzhalter oder teilweise Suchbegriffen nicht erlaubt.
    Kontakt Suchanfragen werden alle im System angemeldet. @@ -13679,31 +15230,31 @@ Verfügbare Transfer Agents: - + - + - + - + - + - + - + - + - +
    Office Number: Büronummer:
    Vorname Name: Vorname:
    Nachname Name: Nachname:
    BU Name: Firma:
    Department: Abteilung:
    Group Name: Gruppennamen:
    Job Titel: Job-Titel:
    Location: Ort:

    ÜBERNEHMEN SEARCH             Reset Form

    Suche übergeben             Reset Form


      @@ -13711,10 +15262,10 @@ Verfügbare Transfer Agents: - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH agent VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Din ledersends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, HOLD, FROMHOLD, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("du skal vælge en agent til at overføre til, når du bruger agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Tag"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Set"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Tag"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Set"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Tag"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_HOLD_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Set"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_HOLD_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Tag"; - if (ivr_park_call=='ENABLED_HOLD_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Set"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_HOLD_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move på to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (SidsteCallbackCount < CBcounT) || (SidsteCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - SidsteCallbackCount = CBcounT; - SidsteCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (SidsteCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - SidsteCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          KONTAKTE SUCHERGEBNISSE:             close [X]
    + "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          KONTAKTE SUCHERGEBNISSE:             schließen [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Verfügbare Transfer Agents: - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          SUCHE NACH EINEM KABEL:             close [X]
    + \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          SUCHE NACH EINEM KABEL:             schließen [X]

    \n";} + {echo "

    \n";} ?>

    Hinweise: Bei einer Suche nach einem Blei, die Telefonnummer, ID oder führen sind die besten Felder zu verwenden.
    Mit den anderen Bereichen kann langsamer sein. Lead-Durchsuchung nicht für Wildcard oder teilweise Suchbegriffe erlauben.
    Lead-Suchanfragen sind alle im System angemeldet. @@ -13733,10 +15284,10 @@ Verfügbare Transfer Agents: - + - + - + @@ -13765,7 +15316,7 @@ Verfügbare Transfer Agents: : - +
    Telefon Number: Telefonnummer:
    Telefon Number Fields: Telefonnummer Feldern: Haupt-Telefonnummer Alternative Telefonnummer @@ -13744,7 +15295,7 @@ Verfügbare Transfer Agents:
    Lead ID: führen id:
    :

    ÜBERNEHMEN SEARCH             Reset Form

    Suche übergeben             Reset Form


      @@ -13773,34 +15324,34 @@ Verfügbare Transfer Agents: - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          SUCHERGEBNISSE:             close [X]
    +
          SUCHERGEBNISSE:             schließen [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Call Anmerkungen LOG:             close [X]
    + +
          Call Notes LOG:             schließen [X]

    \n";} + {echo "

    \n";} ?> -
    Call Anmerkungen-Liste
    +
    Call Notes-Liste


      - Close Info Box + Close Info Box
    - --> diff --git a/agc_2-X/trunk/LANG_www/agc_dk/vicidial.php b/agc_2-X/trunk/LANG_www/agc_dk/vicidial.php index afca8caf..6809a938 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefon login $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls på hold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon læg på kunde $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT RING by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable suppleant RING by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link på the agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Títel'; +$label_title = ' Títel'; $label_first_name = 'Første'; $label_middle_initial = 'MI'; -$label_last_name = 'Sidste'; +$label_last_name = 'Sidste '; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'By'; -$label_state = 'Stat'; +$label_state = ' Stat'; $label_province = 'Provins'; $label_postal_code = 'Postnummer'; $label_vendor_lead_code = 'Vendor ID'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'Landsnummer'; $label_alt_phone = 'Alt. telefon'; $label_security_phrase = 'Vis'; $label_email = 'Email'; -$label_comments = 'kommentar'; +$label_comments = ' kommentar'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF agent SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Kunden Information:             close [X] +
          Kunden Information:             schließen [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Verfügbare Transfer Agents:
    WÄHLEN Sie Einen PAUSE CODE :

    \n";} + {echo "

    \n";} ?> Pause Code Selection @@ -13824,7 +15375,7 @@ Verfügbare Transfer Agents:
    Wählen Sie ein Preset :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Verfügbare Transfer Agents:
    Wählen Sie eine Gruppe ALIAS :

    \n";} + {echo "

    \n";} ?> Gruppe Alias Auswahl @@ -13843,6 +15394,18 @@ Verfügbare Transfer Agents:
    + +
    Wählen Sie eine DFÜ-Gruppe in :
    +
    \n";} + ?> + Einwahl in-group Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Verfügbare Transfer Agents:
    + +
    ein weiterer Live-Agent-Sitzung wurde offen über Ihre Benutzerkennung. es wurde deaktiviert. Klicken Sie auf OK, um mit dem Agenten-Bildschirm weiter.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Verfügbare Transfer Agents: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_de/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_de/voicemail_check.php index 41b37f3e..678d3dd3 100644 --- a/agc_2-X/trunk/LANG_www/agc_de/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_de/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Unzulässig Username/Passwort: |$user|$pass|\n"; - exit; + echo "Unzulässig Username/Passwort: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Voicemail Check"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Voicemail Check"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "Voicemailbox $vmail_box ist unzulässig\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_dk/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_dk/active_list_refresh.php index 12a63600..0f11b9a0 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ikke gyldigt Brugernavn/Password: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ikke gyldigt server_ip: |$server_ip| or Ikke gyldigt session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ikke gyldigt session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Display liste: "; -if ($ADD==1) {echo "Aktive forbindelser";} -if ($ADD==2) {echo "Forbindelser der er optagat";} -if ($ADD==3) {echo "Externe linjer";} -if ($ADD==4) {echo "Lokalforbindelser";} -if ($ADD==5) {echo "konferencer";} -if ($ADD==99999) {echo "HJÆLP";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Display liste: "; + if ($ADD==1) {echo "Aktive forbindelser";} + if ($ADD==2) {echo "Forbindelser der er optagat";} + if ($ADD==3) {echo "Externe linjer";} + if ($ADD==4) {echo "Lokalforbindelser";} + if ($ADD==5) {echo "konferencer";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_dk/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_dk/astguiclient.php index b7c89cec..31363776 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "indspild"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "indspild"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "Denne telefons aktive samtaler:
    "; + var live_calls_HTML = "Denne telefons aktive samtaler:
    #KUNDE KANALREMOTE KANALRECORDLÆGPÅXFERHOLD
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var indspildbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Stop indspillning";} else - {live_calls_HTML = live_calls_HTML + "indspild";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "konference " + head_conf + "    Registrered til: " + head_reg + "   " + reglink + "         Medvirk i konference
    Genopfrisk     indspild         Send DTMF         Ring fra Konf
    "; + var conf_head_HTML = "konference " + head_conf + "    Registrered til: " + head_reg + "   " + reglink + "         Medvirk i konference
    Genopfrisk     Record         Send DTMF         Ring fra Konf
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    #KUNDE KANALREMOTE KANALRECORDLÆGPÅXFERPARK
    LÆGPÅXFERHOLD
    LÆGPÅXFERPARK
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK dille

    Active Trunks Menu
    Læg på trunk   |   Overtage trunk   |   diff --git a/agc_2-X/trunk/LANG_www/agc_dk/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_dk/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_dk/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_dk/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_dk/call_log_display.php index ef5fdc77..80cce42f 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ikke gyldigt Brugernavn/Password: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ikke gyldigt server_ip: |$server_ip| or Ikke gyldigt session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ikke gyldigt session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Visning af opkaldslog"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Visning af opkaldslog"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten er ikke valid eller protokol $protocol er ikke valid\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_dk/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_dk/conf_exten_check.php index d29ef5da..90d9196d 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_dk/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_dk/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_dk/functions.php b/agc_2-X/trunk/LANG_www/agc_dk/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_dk/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_dk/inbound_popup.php index d19de7e4..4d95728d 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_dk/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_dk/live_exten_check.php index 20074787..e1b0e296 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ikke gyldigt Brugernavn/Password: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ikke gyldigt server_ip: |$server_ip| or Ikke gyldigt session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ikke gyldigt session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Check aktive forbindelser"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Check aktive forbindelser"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten er ikke valid eller protokol $protocol er ikke valid\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_dk/manager_send.php b/agc_2-X/trunk/LANG_www/agc_dk/manager_send.php index 368acf5b..77cf5943 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "HJÆLP";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Du har ikke tilladelse at ring til andre agenters sessioner $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate ordre sent for Exten $exten Kanal $channel på $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='HOLDED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='HOLD',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='HOLD',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='HOLD_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRHOLDED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRHOLD',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRHOLD',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context skal stilles ind\n"; echo "ext_priority $ext_priority skal stilles ind\n"; echo "\nRedirect Action no enviado\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference på $server_ip, Redirect ordre ikke givet\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Kan ikke finde en tom konference på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Kan ikke finde en tom konference på $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel er ikke aktiv på $call_server_ip, Redirect ordre ikke givet\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel er ikke aktiv på $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel er ikke aktiv på $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel er ikke aktiv på $server_ip, Redirect ordre ikke givet\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel er ikke aktiv på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel er ikke aktiv på $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect ordre ikke givet\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX ordre sent for Kanal $channel på $call_server_ip and \nHungup $extrachannel på $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel på $call_server_ip, Hungup $extrachannel på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel på $call_server_ip, Hungup $extrachannel på $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel på $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority skal stilles ind\n"; echo "session_id $session_id skal stilles ind\n"; echo "\nRedirect Action no enviado\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference på $server_ip, Redirect ordre ikke givet\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Kan ikke finde en tom konference på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Kan ikke finde en tom konference på $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel er ikke aktiv på $call_server_ip, Redirect ordre ikke givet\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel er ikke aktiv på $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel er ikke aktiv på $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel er ikke aktiv på $server_ip, Redirect ordre ikke givet\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel er ikke aktiv på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel er ikke aktiv på $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra ordre sent for Kanal $channel and \nExtraChannel $extrachannel\n to $exten på $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten på $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra ordre sent for Kanal $channel på $call_server_ip and \nExtraChannel $extrachannel\n to $exten på $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going på in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_dk/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_dk/park_calls_display.php index 88cc6418..461261e0 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_dk/phone_only.php b/agc_2-X/trunk/LANG_www/agc_dk/phone_only.php index 5d444d6c..7feb52da 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefon login $clientDST = '1'; # set to 1 to check for DST på server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link på the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Telefon web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Stempelklokke
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Dansk
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Bruger login:
    Bruger password:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefon web client: Telefon login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Stempelklokke
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Dansk
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Telefon login:
    Telefon password:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefon web client: Telefon login\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo "Stempelklokke
    \n";} - echo "\n"; + {echo "Stempelklokke
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Dansk
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefon-Only Login
     
    Telefon login:
    Telefon password:
      \n"; - echo "

    VERSION: $version       BUILD: $build
    \n"; - echo "
    \n\n"; +echo "
    English Dansk
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Telefon login:
    Telefon password:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_dk/timeclock.php b/agc_2-X/trunk/LANG_www/agc_dk/timeclock.php index 2c6d7844..073a3cd2 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_dk/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_dk/vdc_db_query.php index 5c886f76..bd58ed74 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Ikke gyldigt Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Adresse Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Server Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Server Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Din leder Login:
    \n"; $VDdisplayMESSAGE.= "Din lederPassword:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NUMMER\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NUMMER\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NUMMER\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST OPKALD TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST OPKALD TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP sidste NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN sidste NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP sidste opkald TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN sidste opkald TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited kommentar + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited kommentar + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefon og postnummer tidszone mismatch! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append i kampagnen $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # OPKALDOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # OPKALDOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings i kampagnen $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " OPKALD NOT PLACED\nDNC NUMMER\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " OPKALD NOT PLACED\nDNC NUMMER\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " OPKALD NOT PLACED\nNUMMER NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "INTET I LOGGEN\n"; echo "uniqueid $uniqueid or lead_id: $lead_id er ikke valid\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited kommentar + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited kommentar + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampanje $campaign er ikke valid\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups på vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row på selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send på to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user på $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampanje $campaign er ikke valid or lead_id $lead_id er ikke valid\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited kommentar + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited kommentar + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send på to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user på $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-i kampagnen as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,12 +8160,23 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit kommentar Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### OPKALDBACK ENTRY + ### tilbagekald ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Notat Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Notat Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "

    \n"; echo "    -READY      -Indgående      -PAUSE  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Muligheden for at se opkald i kø er ikke aktivt i denne kampanje\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info på the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "       "; + echo " lukke "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefon     fulde navn     vente     agent           OPKALD GROUP     TYPE     kalder gruppen     typen  
    TAKE OPKALD  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "FEJL: Du skal indtaste søgetermer, skal en af ​​disse være befolket: lead id, leverandør-id, telefonnummer, efternavn\n"; echo "

    "; echo "Gå tilbage"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     dato\/tid     længde     STATUS     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefon     fulde navn     kampagne     ind og ud     suppleant     dille     info     RING  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL info RING RING
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "fejl: der var et problem med dine søgetermer\n"; echo "

    "; echo "Gå tilbage"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "FEJL: Du skal indtaste søgetermer, skal en af ​​disse være befolket: kontor nummer, efternavn, fornavn\n"; echo "

    "; echo "Gå tilbage"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "fejl: der var et problem med dine søgetermer\n"; echo "

    "; echo "Gå tilbage"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no lede id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Títel'; + $label_title = ' Títel'; $label_first_name = 'Første'; $label_middle_initial = 'MI'; - $label_last_name = 'Sidste'; + $label_last_name = 'Sidste '; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'By'; - $label_state = 'Stat'; + $label_state = ' Stat'; $label_province = 'Provins'; $label_postal_code = 'Postnummer'; $label_vendor_lead_code = 'Vendor ID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'Landsnummer'; $label_alt_phone = 'Alt. telefon'; $label_security_phrase = 'Vis'; - $label_email = 'Email'; - $label_comments = 'kommentar'; + $label_email = ' Email'; + $label_comments = ' kommentar'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefon og postnummer tidszone mismatch! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     fulde navn     telefon     STATUS     LAST OPKALD     CITY     STATE     ZIP     INFO     sidste opkald     by     stat     zip     info     RING  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL info RING RING Vælg
      #     FIRST NAME     LAST NAME     sidste NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       location: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Opringt Since Sidste Reset:   $row[4]
    tidszone:   $row[3]
    kaldte siden sidste nulstilling:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " RING ";} + else + {$INFOout .= " RING ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    dial link:   RING ";} + else + {$INFOout .= "
    dial link:   RING ";} } $INFOout .= "
    vælge denne bly
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " RING ";} + else + {$INFOout .= " RING ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Opringt Count:   $row[24]
    Sidste Local Call Time:   $row[25]
    Antallet af opkald:   $row[24]
    sidste lokalt opkald tid:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    email loggen for denne bly:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     dato\/tid     agent     længde     STATUS     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefon     kampagne     ind og ud     suppleant     dille  
      FULL NAME     fulde navn  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   dato\/tid   agent   kampagne   e-mail til   vedhæftede filer
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Muligheden for at se opkald i kø er ikke aktivt i denne kampanje\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "uidentificeret læg årsagskode."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_dk/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_dk/vdc_email_display.php new file mode 100644 index 00000000..826e0c01 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_dk/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Ikke gyldigt Brugernavn/Password: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Ikke gyldigt File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" på the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    vedhæftede filer:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    vedhæftede filer:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_dk/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_dk/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_notes.php index 3e5e678c..b7689b77 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Títel'; +$label_title = 'Title'; $label_first_name = 'Første'; $label_middle_initial = 'MI'; -$label_last_name = 'Sidste'; +$label_last_name = 'Last'; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'By'; -$label_state = 'Stat'; +$label_state = 'State'; $label_province = 'Provins'; $label_postal_code = 'Postnummer'; $label_vendor_lead_code = 'Vendor ID'; @@ -265,7 +266,7 @@ $label_phone_code = 'Landsnummer'; $label_alt_phone = 'Alt. telefon'; $label_security_phrase = 'Vis'; $label_email = 'Email'; -$label_comments = 'kommentar'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Notat"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *
    Kampanje: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -907,7 +932,7 @@ echo "
    Kampanje: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -957,7 +982,7 @@ echo "
    Kampanje: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login telefon login
     
    Telefon login:
    Telefon password:
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "DU SKAL FØST LOGGE PÅ STEMPELKLOKKEN
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Din leder Login:
    \n"; $VDdisplayMESSAGE.= "Din lederPassword:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Kampanje login\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Password:
    \n"; echo "Kampanje: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1603,7 +1632,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefon OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Kampanje: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Telefon password:

    VERSION: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END telefon login load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NY record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today på that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Password:
    \n"; echo "Kampanje: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Januar','February','Marts','April','Maj','Juni', +$Cmonths = Array('0','Januar','February','Marts','April','Maj','Juni', 'Juli','August','September','Oktober','November','December'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var SidsteCallCID=''; - var SidsteCallbackCount=0; - var SidsteCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"genoptag\""; var DiaLControl_auto_HTML_ready = "\"\"genoptag\""; var DiaLControl_auto_HTML_OFF = "\"\"genoptag\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "indberetning er på"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "indberetning er slukket"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'HOLD_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'HOLD_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'HOLD_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'HOLD_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'HOLD_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'HOLD_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'HOLD_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'HOLD_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'HOLD_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'HOLD_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'HOLD_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4329,10 +4476,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'HOLD_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'HOLD_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'HOLD_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "optagelse
    px\">\">" + var CB_HTML = "
    # OPKALDBACK DATE/TIMENUMMERINFONAME STATUSCAMPAIGNLAST OPKALD DATO\/TID RING ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - SidsteCallbackViewed=1; - SidsteCallbackCount = (SidsteCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Gruppe alias: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Klik her for at vælge et gruppe alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "ringe ind-gruppen: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "Klik her for at vælge en dial in-gruppen"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     klik her for at aktivere"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while på inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited kommentar (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited kommentar + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS tilbagekald "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "sidste opkald:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Genkald:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Kommentar:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"QUIK"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"QUIK"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Webformular\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformular\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     klik her for at deaktivere"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     klik her for at aktivere"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Opringt: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Set"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_HOLD_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Ringetiden er udløbet,kontakt administrator\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Set"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Ring"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Ring"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - SidsteCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("HOPPER TOM","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Der er ikke flere leads i hopper for kampanje:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Dette telefonnummer er ikke i kampanjens liste:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Dette telefonnummer er uden for lokale opkald tid:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("uspecificet fejl:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Ring"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"genoptag\"
    \"Ring"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("HOPPER TOM","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Der er ikke flere leads i hopper for kampanje:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Dette telefonnummer er ikke i kampanjens liste:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Dette telefonnummer er uden for lokale opkald tid:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("uspecificet fejl:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Ring"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Ringer: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Webformular\"\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformular\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS OPKALDBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "sidste opkald:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Genkald:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Kommentar:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"læg"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"genoptag\"
    \"Ring"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited kommentar (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited kommentar + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Ringer: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Webformular\"\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformular\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS tilbagekald "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "sidste opkald:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Genkald:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Kommentar:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"læg"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,13 +7755,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT NUMMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: suppleant ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT NUMMER: ADRESSE3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: ADRESSE3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT NUMMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "landsnummer og telefonnummer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + SidsteCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - SidsteCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " OPKALD NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - SidsteCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited kommentar (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited kommentar + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS OPKALDBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS tilbagekald "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "sidste opkald:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Genkald:" + CBcallback_time; @@ -7677,13 +8444,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT NUMMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: suppleant ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT NUMMER: ADRESSE3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: ADRESSE3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT NUMMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "landsnummer og telefonnummer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Set"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_HOLD_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Inkommende: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add på all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS OPKALD PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Inkommende: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS tilbagekald "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "sidste opkald:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Genkald:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Kommentar:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: suppleant ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: ADRESSE3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " suppleant NUMMER: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "landsnummer og telefonnummer: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Ændre dette telefonnummer til INAKTIVT";} + else + {EAactive_link = "Ændre dette telefonnummer til AKTIVT";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Aktive:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Notat:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Inkommende: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Set"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"læg"; + + document.getElementById("XferControl").innerHTML = "\"Forflyttning"; + + document.getElementById("LocalCloser").innerHTML = "\"LUKKER"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"QUIK"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"QUIK"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Brugerdefineret"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"genoptag\"
    \"Ring"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Webformular\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformular\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Inkommende: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformular"; } document.getElementById("ParkControl").innerHTML = "\"Set"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_HOLD_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallNotatContent").innerHTML = "
    Ring Noter:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Ring Noter:
    "; } else { - document.getElementById("PerCallNotatContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("DU SKAL sættes på pause at søge efter et LEAD"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("DU SKAL sættes på pause at søge efter et LEAD"); + alert_box("du skal være på et aktivt indgående opkald for at søge efter et kundeemne"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the ringe ind-gruppen Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # tilbagekald dato\/tid NUMMER info fulde navn STATUS kampagne sidste OPKALD DATO\/TID RING suppleant
    ringe ind-gruppen
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Gå tilbage"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9097,6 +10466,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error på this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimer "; document.getElementById("DispoSelectHAspan").innerHTML = "Læg på igen"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "næste opkald pause"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + SidsteCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - SidsteCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the ringe ind-gruppen + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "ringe ind-gruppen: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they lukke their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9874,7 +11280,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (alt_dial_status_display==1) { - alert("Du befinder dig i ALT opkaldstilstanden, skal du afslutte føringen inden du logger ud.\n" + reselect_alt_dial); + alert("Du befinder dig i suppleant opkaldstilstanden, skal du afslutte føringen inden du logger ud.\n" + reselect_alt_dial); } else { @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Din vagt er slut eller ændret du er logget ud fra din session

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or lukke the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or lukke the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or lukke the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("DU SKAL sættes på pause at søge efter et LEAD"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Genopfrisk the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLNotatDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Genopfrisk the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause på the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "næste opkald pause Set"; + } + + // ################################################################################ // Vis the groups selection span function OpeNGrouPSelectioN() @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "dial advare:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('VelkommenBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLNotatDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,7 +13259,7 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallNotatButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') @@ -11814,6 +13270,8 @@ function phone_number_format(formatphone) { {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Manuel Queue er Off
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_HOLD_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY dille " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12462,7 +13938,7 @@ function phone_number_format(formatphone) { } if (divvar == 'DiaLDiaLAltPhonE') { - var buildDivHTML = " RING ALT NUMMER
    "; + var buildDivHTML = " RING suppleant NUMMER
    "; document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = buildDivHTML; } if (DefaulTAlTDiaL == '1') @@ -12485,7 +13961,7 @@ function phone_number_format(formatphone) { if (divvar == 'DiaLDiaLAltPhonE') { document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = ''; - var buildDivHTML = " RING ALT NUMMER
    "; + var buildDivHTML = " RING suppleant NUMMER
    "; document.getElementById(divvar).innerHTML = buildDivHTML; if (reselect_alt_dial==1) {document.vicidial_form.DiaLAltPhonE.checked=true} @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPPER     \n";} ?> LOGUD\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    session ID:     Aktive samtaler
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12812,20 +14331,22 @@ $zi=2; FORHÅNDSVISNING AF LEAD
    - RING ALT NUMMER
    + RING suppleant NUMMER
    + næste opkald pause
    + INDSPILNINGS FIL:

    INDSPILNINGS ID:
    - + Start indspilning

    Webformular
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Set opkald på vent
    \"IVR
    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Kunde information:         LEAD SØG";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Ring Noter: "; if ($agent_call_log_view == '1') - {echo "
    se noter ";} + {echo "
    se noter ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "indberetning er på";} else - {echo "Alert is OFF";} + {echo "indberetning er slukket";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -GENVEJSTASTER IKKE AKTIVE - - sekunder:     @@ -13209,7 +14727,7 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +nulstille formular + + + +refresh @@ -13374,6 +14904,23 @@ Viderestilling tilrådighid for agenter: <
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +GENVEJSTASTER IKKE AKTIVE + + + + + px height='px'> + + + + + + +
    se kommentar historik:
    +
    + @@ -13447,7 +14994,7 @@ Viderestilling tilrådighid for agenter: < -
    Din session er aflyst
    LOGUD

    Gå tilbage +
    Din session er aflyst
    LOGUD

    @@ -13476,18 +15023,18 @@ Viderestilling tilrådighid for agenter: <
    SÆT UDFALD PÅ OPKALD :       Læg på igen       minimer

    \n";} + {echo "

    \n";} ?> - + Valg af samtalets afsluttende udfald
    - PAUSE AF AGENT OPKALD
    + PAUSE AF agent OPKALD
    RENS FORMULAR | INDSEND

    - WEB FORM INDSEND + webside formularindsendelse

     
    @@ -13496,7 +15043,7 @@ Viderestilling tilrådighid for agenter: <
    Vælg en ring tilbage dato :

    \n";} + {echo "

    \n";} ?> @@ -13550,11 +15097,11 @@ Viderestilling tilrådighid for agenter: < -
    GENKALD FOR AGENT :
    Hvis du vil se oplysninger om en af ​​de tilbagekald nedenstående, klik på INFO linket. At ringe til kunden tilbage nu, klik på RING linket. Hvis du klikker på en post nedenfor for at ringe til det, vil det blive fjernet fra listen. +
    GENKALD FOR agent :
    Hvis du vil se oplysninger om en af ​​de tilbagekald nedenstående, klik på info linket. At ringe til kunden tilbage nu, klik på RING linket. Hvis du klikker på en post nedenfor for at ringe til det, vil det blive fjernet fra listen.

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Viderestilling tilrådighid for agenter: < -
    NYT LEAD FOR MANUELT OPKALD :

    Angiv information forneden vdr det nye lead du ønsker at ringe. + - + @@ -13613,7 +15164,7 @@ Viderestilling tilrådighid for agenter: <
    NYT LEAD FOR MANUELT OPKALD :

    Angiv information forneden vdr det nye lead du ønsker at ringe.
    \n"; } @@ -13578,9 +15125,9 @@ Viderestilling tilrådighid for agenter: <
    Dial Code:   (Dette plejer at være 45 i Danmark)
    Telefon Number: telefonnummer: -   (digits only) +   (cifre kun) @@ -13593,6 +15140,10 @@ Viderestilling tilrådighid for agenter: <

        +

    +     +

    +


    If you want to dial a number and have it NOT be added as a new lead, enter in the exact dialstring that you want to call in the Dial Override field below. To hangup this call you will have to open the OPKALDS IN THIS SESSION link at the bottom of the screen and hang it up by clicking på its channel link there.
     
    LUKKERE INKOMMENDE GRUPPE VALG

    \n";} + {echo "

    \n";} ?> Lukkere inkommende gruppe valg
    @@ -13635,7 +15186,7 @@ Viderestilling tilrådighid for agenter: < "; $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $print_ctp++; } + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + } else { @@ -1477,7 +1498,7 @@ if (ereg('O',$with_inbound)) { $multi_drop++; - $stmt="select agent_pause_codes_active from vicidial_campaigns $group_SQLwhere;"; + $stmt="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' $group_SQLand;"; $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; @@ -1614,6 +1635,8 @@ else $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where active='Y' $group_SQLand;"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where calls_today > -1 $non_inboundSQL;"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' $group_SQLand;"; } else { @@ -1627,12 +1650,16 @@ else $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active,list_order_mix,auto_hopper_level from vicidial_campaigns where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN ($group_SQL,$closer_campaignsSQL);"; } else { $stmt="select avg(auto_dial_level),max(dial_status_a),max(dial_status_b),max(dial_status_c),max(dial_status_d),max(dial_status_e),max(lead_order),max(lead_filter_id),max(hopper_level),max(dial_method),max(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),max(available_only_ratio_tally),max(adaptive_latest_server_time),max(local_call_time),max(dial_timeout),max(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where campaign_id IN($group_SQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN($group_SQL);"; } } if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} @@ -1658,10 +1685,12 @@ else $CALLtime = $row[16]; $DIALtimeout = $row[17]; $DIALstatuses = $row[18]; - $agent_pause_codes_active = $row[19]; $DIALmix = $row[20]; $AHOPlev = $row[21]; + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; $stmt="select count(*) from vicidial_hopper $group_SQLwhere;"; $rslt=mysql_query($stmt, $link); @@ -2143,6 +2172,7 @@ while($p<$k) if ($CDcall_type[$p] == 'IN') { $G=""; $EG=''; + $Ccampaign_id="$Ccampaign_id"; } if (strlen($CDagent_only[$p]) > 0) {$Gcalltypedisplay = "$G$Cagent_only$EG";} @@ -2257,7 +2287,7 @@ $HTpause = ''; $HDigcall = "------+------------------"; $HTigcall = " HOLD | IN-GROUP "; -if (!ereg("N",$agent_pause_codes_active)) +if ($agent_pause_codes_active > 0) { $HDstatus = "----------"; $HTstatus = " STATUS "; @@ -2331,8 +2361,10 @@ else if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} } -if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} +if ( !preg_match("/ALL-/",$LOGallowed_campaigns) ) {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} +else if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} else {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} + if (strlen($usergroup)<1) {$usergroupSQL = '';} else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} @@ -2560,7 +2592,7 @@ $talking_to_print = mysql_num_rows($rslt); $comments= $Acomments[$i]; $calls_today = sprintf("%-5s", $Acalls_today[$i]); - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) {$pausecode=' ';} else {$pausecode='';} @@ -2580,7 +2612,7 @@ $talking_to_print = mysql_num_rows($rslt); } else { - if (!ereg("$Acallerid[$i]\|",$callerids)) + if (!ereg("$Acallerid[$i]\|",$callerids) && !eregi("EMAIL",$comments)) { $Acall_time[$i]=$Astate_change[$i]; @@ -2596,6 +2628,8 @@ $talking_to_print = mysql_num_rows($rslt); { if (eregi("INBOUND",$comments)) {$CM='I';} + else if (eregi("EMAIL",$comments)) + {$CM='E';} else {$CM='M';} } @@ -2676,7 +2710,7 @@ $talking_to_print = mysql_num_rows($rslt); } if ($Lstatus=='PAUSED') { - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) { $twentyfour_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-24,date("i"),date("s"),date("m"),date("d"),date("Y"))); $stmtC="select sub_status from vicidial_agent_log where agent_log_id >= \"$Aagent_log_id[$i]\" and user='$Luser' order by agent_log_id desc limit 1;"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/admin.php b/agc_2-X/trunk/LANG_www/vicidial_it/admin.php index 4d0d8c8b..eebd1fd7 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/admin.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/admin.php @@ -1,9 +1,11 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,6 +72,8 @@ $reports_font = 'BLACK'; $cts_font = 'BLACK'; $subcamp_font = 'BLACK'; +### QC font and color variables +require_once('qc/QC_admin_variables.php'); ### comment this section out for colorful section headings $users_color = '#E6E6E6'; $campaigns_color = '#E6E6E6'; @@ -105,9 +109,9 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $QUERY_STRING = getenv("QUERY_STRING"); -$Vreports = 'NONE, Real-Time Main Report, Real-Time Campagna Summary , Inbound Report, Inbound Service Level Report, Inbound Sintesi Resoconto, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Liste Esiti Campagna Report, Campagna Status List Report, Esporta invita Relazione, Export Leads Rapporto , Agente Time Dettagliata, Agent Status Dettagliata, Agent Performance Dettagliata, Team Performance Dettagliata, Single Agent Daily , UtenteOrologio Report, Gruppo UtenteOrologio Status Report, UtenteOrologio Dettagliata Report , Server Performance Report, Administration Change Log, List Update Stats, Statistiche utente, Utente Time Sheet, Download List, Dialer Inventory report, Maximum System Stats, Maximum Stats Dettagliata, Search Leads Logs'; +$Vreports = 'NONE, Real-Time Main Report, Real-Time Campagna Summary , Inbound Report, Inbound Service Level Report, Inbound Sintesi Resoconto, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Liste Esiti Campagna Report, Campagna Status List Report, Esporta invita Relazione, Export Leads Rapporto , Agente Time Dettagliata, Agent Status Dettagliata, Agent Performance Dettagliata, Team Performance Dettagliata, Single Agent Daily, Gruppo Utente Login Report, UtenteOrologio Report, Gruppo UtenteOrologio Status Report, UtenteOrologio Dettagliata Report , Server Performance Report, Administration Change Log, List Update Stats, Statistiche utente, Utente Time Sheet, Download List, Dialer Inventory report, Maximum System Stats, Maximum Stats Dettagliata, Search Leads Logs, Email Log Report, Carrier registro per i rapporti, Campagna Debug, Hangup Cause Report'; -$UGreports = 'ALL REPORT, NONE, Real-Time Main Report, Real-Time Campagna Summary , Inbound Report, Inbound Service Level Report, Inbound Sintesi Resoconto, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Liste Esiti Campagna Report, Campagna Status List Report, Esporta invita Relazione , Export Leads Rapporto , Agente Time Dettagliata, Agent Status Dettagliata, Agent Performance Dettagliata, Team Performance Dettagliata, Single Agent Daily , UtenteOrologio Report, Gruppo UtenteOrologio Status Report, UtenteOrologio Dettagliata Report , Server Performance Report, Administration Change Log, List Update Stats, Statistiche utente, Utente Time Sheet, Download List, Dialer Inventory report, Custom Report Links, CallCard Search, Maximum System Stats, Maximum Stats Dettagliata, Search Leads Logs'; +$UGreports = 'ALL REPORT, NONE, Real-Time Main Report, Real-Time Campagna Summary , Inbound Report, Inbound Service Level Report, Inbound Sintesi Resoconto, Inbound Daily Report, Inbound DID Report, Inbound Email Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Liste Esiti Campagna Report, Campagna Status List Report, Esporta invita Relazione , Export Leads Rapporto , Agente Time Dettagliata, Agent Status Dettagliata, Agent Performance Dettagliata, Team Performance Dettagliata, Single Agent Daily, Gruppo Utente Login Report, UtenteOrologio Report, Gruppo UtenteOrologio Status Report, UtenteOrologio Dettagliata Report , Server Performance Report, Administration Change Log, List Update Stats, Statistiche utente, Utente Time Sheet, Download List, Dialer Inventory report, Custom Report Links, CallCard Search, Maximum System Stats, Maximum Stats Dettagliata, Search Leads Logs, Email Log Report'; $Vtables = 'NONE,log_noanswer,did_agent_log,contact_information'; @@ -1540,6 +1544,8 @@ if (isset($_GET["auto_resume_precall"])) {$auto_resume_precall=$_GET["auto_res elseif (isset($_POST["auto_resume_precall"])) {$auto_resume_precall=$_POST["auto_resume_precall"];} if (isset($_GET["auto_pause_precall_code"])) {$auto_pause_precall_code=$_GET["auto_pause_precall_code"];} elseif (isset($_POST["auto_pause_precall_code"])) {$auto_pause_precall_code=$_POST["auto_pause_precall_code"];} +if (isset($_GET["audit_comments"])) {$audit_comments=$_GET["audit_comments"];} + elseif (isset($_POST["audit_comments"])) {$audit_comments=$_POST["audit_comments"];} if (isset($_GET["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_GET["reload_dialplan_on_servers"];} elseif (isset($_POST["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_POST["reload_dialplan_on_servers"];} if (isset($_GET["manual_dial_cid"])) {$manual_dial_cid=$_GET["manual_dial_cid"];} @@ -1724,11 +1730,78 @@ if (isset($_GET["territory_reset"])) {$territory_reset=$_GET["territory_reset" elseif (isset($_POST["territory_reset"])) {$territory_reset=$_POST["territory_reset"];} if (isset($_GET["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_GET["hopper_vlc_dup_check"];} elseif (isset($_POST["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_POST["hopper_vlc_dup_check"];} +if (isset($_GET["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_GET["download_max_system_stats_metric"];} + elseif (isset($_POST["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_POST["download_max_system_stats_metric"];} +if (isset($_GET["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_GET["download_max_system_stats_metric_name"];} + elseif (isset($_POST["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_POST["download_max_system_stats_metric_name"];} if (isset($_GET["inventory_report"])) {$inventory_report=$_GET["inventory_report"];} elseif (isset($_POST["inventory_report"])) {$inventory_report=$_POST["inventory_report"];} if (isset($_GET["report_rank"])) {$report_rank=$_GET["report_rank"];} elseif (isset($_POST["report_rank"])) {$report_rank=$_POST["report_rank"];} - +if (isset($_GET["in_group_dial"])) {$in_group_dial=$_GET["in_group_dial"];} + elseif (isset($_POST["in_group_dial"])) {$in_group_dial=$_POST["in_group_dial"];} +if (isset($_GET["in_group_dial_select"])) {$in_group_dial_select=$_GET["in_group_dial_select"];} + elseif (isset($_POST["in_group_dial_select"])) {$in_group_dial_select=$_POST["in_group_dial_select"];} +if (isset($_GET["dial_ingroup_cid"])) {$dial_ingroup_cid=$_GET["dial_ingroup_cid"];} + elseif (isset($_POST["dial_ingroup_cid"])) {$dial_ingroup_cid=$_POST["dial_ingroup_cid"];} +if (isset($_GET["allow_emails"])) {$allow_emails=$_GET["allow_emails"];} + elseif (isset($_POST["allow_emails"])) {$allow_emails=$_POST["allow_emails"];} +if (isset($_GET["group_handling"])) {$group_handling=$_GET["group_handling"];} + elseif (isset($_POST["group_handling"])) {$group_handling=$_POST["group_handling"];} +if (isset($_GET["agentcall_email"])) {$agentcall_email=$_GET["agentcall_email"];} + elseif (isset($_POST["agentcall_email"])) {$agentcall_email=$_POST["agentcall_email"];} +if (isset($_GET["modify_email_accounts"])) {$modify_email_accounts=$_GET["modify_email_accounts"];} + elseif (isset($_POST["modify_email_accounts"])) {$modify_email_accounts=$_POST["modify_email_accounts"];} +if (isset($_GET["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_GET["safe_harbor_audio_field"];} + elseif (isset($_POST["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_POST["safe_harbor_audio_field"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_GET["call_menu_qualify_enabled"];} + elseif (isset($_POST["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_POST["call_menu_qualify_enabled"];} +if (isset($_GET["qualify_sql"])) {$qualify_sql=$_GET["qualify_sql"];} + elseif (isset($_POST["qualify_sql"])) {$qualify_sql=$_POST["qualify_sql"];} +if (isset($_GET["admin_list_counts"])) {$admin_list_counts=$_GET["admin_list_counts"];} + elseif (isset($_POST["admin_list_counts"])) {$admin_list_counts=$_POST["admin_list_counts"];} +if (isset($_GET["voicemail_greeting"])) {$voicemail_greeting=$_GET["voicemail_greeting"];} + elseif (isset($_POST["voicemail_greeting"])) {$voicemail_greeting=$_POST["voicemail_greeting"];} +if (isset($_GET["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_GET["allow_voicemail_greeting"];} + elseif (isset($_POST["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_POST["allow_voicemail_greeting"];} +if (isset($_GET["pause_after_next_call"])) {$pause_after_next_call=$_GET["pause_after_next_call"];} + elseif (isset($_POST["pause_after_next_call"])) {$pause_after_next_call=$_POST["pause_after_next_call"];} +if (isset($_GET["owner_populate"])) {$owner_populate=$_GET["owner_populate"];} + elseif (isset($_POST["owner_populate"])) {$owner_populate=$_POST["owner_populate"];} +if (isset($_GET["queuemetrics_socket"])) {$queuemetrics_socket=$_GET["queuemetrics_socket"];} + elseif (isset($_POST["queuemetrics_socket"])) {$queuemetrics_socket=$_POST["queuemetrics_socket"];} +if (isset($_GET["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_GET["queuemetrics_socket_url"];} + elseif (isset($_POST["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_POST["queuemetrics_socket_url"];} +if (isset($_GET["holiday_id"])) {$holiday_id=$_GET["holiday_id"];} + elseif (isset($_POST["holiday_id"])) {$holiday_id=$_POST["holiday_id"];} +if (isset($_GET["holiday_name"])) {$holiday_name=$_GET["holiday_name"];} + elseif (isset($_POST["holiday_name"])) {$holiday_name=$_POST["holiday_name"];} +if (isset($_GET["holiday_comments"])) {$holiday_comments=$_GET["holiday_comments"];} + elseif (isset($_POST["holiday_comments"])) {$holiday_comments=$_POST["holiday_comments"];} +if (isset($_GET["holiday_date"])) {$holiday_date=$_GET["holiday_date"];} + elseif (isset($_POST["holiday_date"])) {$holiday_date=$_POST["holiday_date"];} +if (isset($_GET["holiday_status"])) {$holiday_status=$_GET["holiday_status"];} + elseif (isset($_POST["holiday_status"])) {$holiday_status=$_POST["holiday_status"];} +if (isset($_GET["holiday_rule"])) {$holiday_rule=$_GET["holiday_rule"];} + elseif (isset($_POST["holiday_rule"])) {$holiday_rule=$_POST["holiday_rule"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_GET["use_other_campaign_dnc"];} + elseif (isset($_POST["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_POST["use_other_campaign_dnc"];} +if (isset($_GET["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_GET["enhanced_disconnect_logging"];} + elseif (isset($_POST["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_POST["enhanced_disconnect_logging"];} +if (isset($_GET["amd_inbound_group"])) {$amd_inbound_group=$_GET["amd_inbound_group"];} + elseif (isset($_POST["amd_inbound_group"])) {$amd_inbound_group=$_POST["amd_inbound_group"];} +if (isset($_GET["amd_callmenu"])) {$amd_callmenu=$_GET["amd_callmenu"];} + elseif (isset($_POST["amd_callmenu"])) {$amd_callmenu=$_POST["amd_callmenu"];} +if (isset($_GET["level_8_disable_add"])) {$level_8_disable_add=$_GET["level_8_disable_add"];} + elseif (isset($_POST["level_8_disable_add"])) {$level_8_disable_add=$_POST["level_8_disable_add"];} +if (isset($_GET["survey_wait_sec"])) {$survey_wait_sec=$_GET["survey_wait_sec"];} + elseif (isset($_POST["survey_wait_sec"])) {$survey_wait_sec=$_POST["survey_wait_sec"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1740,9 +1813,61 @@ if (strlen($dial_status) > 0) $status = $dial_status; } +if ($download_max_system_stats_metric_name) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + $CSV_text=""; + + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total call count in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls','total call count in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total inbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_inbound_all','total inbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total outbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_outbound_all','total outbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','(max_inbound + max_outbound)','most concurrent calls in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls inbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_inbound','most concurrent calls inbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls outbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_outbound','most concurrent calls outbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent agents") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_agents','most concurrent agents',$end_date); + } + + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "MAX_SYSTEM_STATS_$US$FILE_TIME.csv"; + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + header('Content-type: application/octet-stream'); + + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text"; + + exit; +} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -1780,6 +1905,12 @@ if ($qm_conf_ct > 0) $SSalt_log_login = $row[28]; $SSalt_log_pass = $row[29]; $SStables_use_alt_log_db = $row[30]; + $SScall_menu_qualify_enabled = $row[31]; + $SSadmin_list_counts = $row[32]; + $SSallow_voicemail_greeting = $row[33]; + $SSsvn_revision = $row[34]; + $SSallow_emails = $row[35]; + $SSlevel_8_disable_add = $row[36]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2015,6 +2146,13 @@ if ($non_latin < 1) $admin_hide_lead_data = ereg_replace("[^0-9]","",$admin_hide_lead_data); $max_calls_count = ereg_replace("[^0-9]","",$max_calls_count); $report_rank = ereg_replace("[^0-9]","",$report_rank); + $dial_ingroup_cid = ereg_replace("[^0-9]","",$dial_ingroup_cid); + $call_menu_qualify_enabled = ereg_replace("[^0-9]","",$call_menu_qualify_enabled); + $admin_list_counts = ereg_replace("[^0-9]","",$admin_list_counts); + $allow_voicemail_greeting = ereg_replace("[^0-9]","",$allow_voicemail_greeting); + $enhanced_disconnect_logging = ereg_replace("[^0-9]","",$enhanced_disconnect_logging); + $level_8_disable_add = ereg_replace("[^0-9]","",$level_8_disable_add); + $survey_wait_sec = ereg_replace("[^0-9]","",$survey_wait_sec); $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); @@ -2030,9 +2168,6 @@ if ($non_latin < 1) $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); $queue_priority = ereg_replace("[^-0-9]","",$queue_priority); - ### DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); - ### Y or N ONLY ### $allow_closers = ereg_replace("[^NY]","",$allow_closers); $reset_hopper = ereg_replace("[^NY]","",$reset_hopper); @@ -2084,7 +2219,7 @@ if ($non_latin < 1) $delete_vm_after_email = ereg_replace("[^NY]","",$delete_vm_after_email); $crm_popup_login = ereg_replace("[^NY]","",$crm_popup_login); $ignore_list_script_override = ereg_replace("[^NY]","",$ignore_list_script_override); - $is_webphone = ereg_replace("[^NY]","",$is_webphone); + $is_webphone = ereg_replace("[^-_0-9a-zA-Z]","",$is_webphone); $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); @@ -2179,6 +2314,9 @@ if ($non_latin < 1) $use_custom_cid = ereg_replace("[^0-9a-zA-Z]","",$use_custom_cid); $action_xfer_cid = ereg_replace("[^0-9a-zA-Z]","",$action_xfer_cid); $callback_list_calltime = ereg_replace("[^0-9a-zA-Z]","",$callback_list_calltime); + $pause_after_next_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_next_call); + $owner_populate = ereg_replace("[^0-9a-zA-Z]","",$owner_populate); + $use_other_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_other_campaign_dnc); ### DIGITS and Dots $server_ip = ereg_replace("[^\.0-9]","",$server_ip); @@ -2257,6 +2395,7 @@ if ($non_latin < 1) $server_id = ereg_replace("[^-_0-9a-zA-Z]","",$server_id); $stage = ereg_replace("[^-_0-9a-zA-Z]","",$stage); $state_rule = ereg_replace("[^-_0-9a-zA-Z]","",$state_rule); + $holiday_rule = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_rule); $trunk_restriction = ereg_replace("[^-_0-9a-zA-Z]","",$trunk_restriction); $user = ereg_replace("[^-_0-9a-zA-Z]","",$user); $user_group = ereg_replace("[^-_0-9a-zA-Z]","",$user_group); @@ -2403,9 +2542,17 @@ if ($non_latin < 1) $admin_hide_phone_data = ereg_replace("[^-_0-9a-zA-Z]","",$admin_hide_phone_data); $max_calls_method = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_method); $max_calls_action = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_action); + $in_group_dial = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial); + $in_group_dial_select = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial_select); + $queuemetrics_socket = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_socket); + $holiday_id = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_id); + $holiday_date = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_date); + $holiday_status = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_status); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $amd_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$amd_inbound_group); + $amd_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$amd_callmenu); ### ALPHA-NUMERIC and underscore and dash and slash and dot - $menu_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_prompt); $menu_timeout_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_timeout_prompt); $menu_invalid_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_invalid_prompt); $after_hours_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$after_hours_message_filename); @@ -2444,6 +2591,11 @@ if ($non_latin < 1) $survey_ni_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_ni_audio_file); $survey_third_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_third_audio_file); $survey_fourth_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_fourth_audio_file); + $safe_harbor_audio_field = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio_field); + $voicemail_greeting = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$voicemail_greeting); + + ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma + $menu_prompt = ereg_replace("[^-\/\|\,\._0-9a-zA-Z]","",$menu_prompt); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -2461,7 +2613,7 @@ if ($non_latin < 1) $group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); ### ALPHA-NUMERIC and hash and star and dot and underscore $hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); - $did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); + $did_pattern = ereg_replace("[^\+\*\#\.\_0-9a-zA-Z]","",$did_pattern); $voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); $phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); $phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); @@ -2555,6 +2707,8 @@ if ($non_latin < 1) $group = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group); $job_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$job_title); $location = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$location); + $holiday_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_name); + $holiday_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_comments); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); @@ -2635,6 +2789,14 @@ if ($non_latin < 1) $modify_url = ereg_replace(";","",$modify_url); $modify_url = ereg_replace("\r","",$modify_url); $modify_url = ereg_replace("\"","",$modify_url); + $qualify_sql = ereg_replace("\\\\","",$qualify_sql); + $qualify_sql = ereg_replace(";","",$qualify_sql); + $qualify_sql = ereg_replace("\r","",$qualify_sql); + $qualify_sql = ereg_replace("'",'"',$qualify_sql); + $queuemetrics_socket_url = ereg_replace("\\\\","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace(";","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("\r","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("'",'"',$queuemetrics_socket_url); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address # $queuemetrics_url @@ -3046,16 +3208,53 @@ else # 120316-1203 - Fixed DIALBLE counts for completed statuses # 120402-2111 - Added lead loading template and two carrier log reports to the admin utils page # 120409-1136 - Added Search Leads Logs as slave db option +# 120420-1620 - Forked 2.4 to branches, changing trunk to 2.6 +# 120512-0844 - Added In-Group Manual Dial options to campaign screen +# 120514-0936 - Added Dial In-group CID override setting +# 120518-1456 - Added XFTAMM/LTMG special hotkeys for send to answering machine message +# 120526-0827 - Added User Group User Login Report +# 120529-2112 - Added safe_harbor_audio_field campaign option +# 120706-1255 - Added Max stats date range and call menu qualify_sql options +# 120713-2123 - Added max stats download link and extended_vl option +# 120810-1018 - Added Admin List Counts system settings option +# 120820-1104 - Added is_webphone option Y_API_LAUNCH +# 120831-1523 - Added vicidial_dial_log outbound call logging +# 121018-2321 - Added blank option to owner only dialing +# 121019-0520 - Added voicemail greeting audio chooser options to phones and voicemail boxes +# 121025-2339 - Added without-filter output to test filter function, added server option to test call +# 121027-2344 - Added servers versions page +# 121029-0109 - Added pause_after_next_call and owner_populate campaign options +# 121114-1923 - Added Basic Lead Management page link. Added INGROUP as a recording filename option +# 121116-1410 - Added QC functionality +# 121120-0824 - Added queuemetrics_socket functionality to system settings +# 121123-1208 - Added inbound holiday functions +# 121124-1957 - Added List Expiration Date feature and Campaign Other-DNC-List feature +# 121129-2319 - Added enhanced_disconnect_logging option +# 121130-1425 - Fixed user group permissions issue with allowed campaigns modifications of user groups +# 121205-1619 - Added parentheses around filter SQL when in SQL queries +# 121206-0630 - Added inbound lead search feature +# 121212-1529 - Standardization of list_id fields at 19 digits in forms +# 121222-2146 - Added new email features +# 130102-1135 - Small change to admin log viewing for email accounts +# 130124-1721 - Added Inbound Email report link, added Status Display LEADID options(issue #639) +# 130130-1207 - Added new CPD AMD options for In-Groups and CallMenus +# 130221-1736 - Added Level 8 Disable Add option to system settings and new Email Log Report link, DID exten made non-editable +# 130402-2322 - Added user_group script variable +# 130414-1924 - Added report logging and display +# 130424-1601 - Added survey_wait_sec campaign survey option +# 130425-0700 - Added DROP option for survey_no_response_action to go to campaign drop method +# 130503-1509 - Added red color to server table on reports page if asterisk out of sync # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.4-364a'; -$build = '120409-1136'; +$admin_version = '2.6-400a'; +$build = '130503-1509'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); $REPORTdate = date("Y-m-d"); +$EXPtestdate = date("Ymd"); $CIDdate = date("mdHis"); while (strlen($CIDdate) > 9) {$CIDdate = substr("$CIDdate", 1);} @@ -3067,6 +3266,7 @@ $modify_rinfrescare_set=0; $modify_footer_rinfrescare=0; $check_time = ($STARTtime - 86400); $SSanswer_transfer_agent = '8368'; +$add_copy_disabled=0; $month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $past_month_date = date("Y-m-d H:i:s",$month_old); @@ -3105,10 +3305,9 @@ if ($force_logout) echo "Ora non sei collegato. Grazie\n"; exit; } - ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_rinfrescare,nocache_admin,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_rinfrescare,nocache_admin,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -3123,6 +3322,7 @@ if ($qm_conf_ct > 0) $SSadmin_modify_rinfrescare = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; + $SSemail_enabled = $row[8]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -3146,6 +3346,10 @@ if ( ($reports_auth > 0) and ($auth < 1) ) $ADD=999999; $reports_only_user=1; } +############################################## +# Include QC Agents with no other permission # +############################################## +require_once('qc/QC_admin_include02.php'); if ($SSwebroot_writable > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} @@ -3154,7 +3358,7 @@ $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); -if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) ) ) +if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) and ($qc_auth < 1)) ) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); @@ -3162,7 +3366,7 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) an exit; } -if ( ($auth > 0) or ($reports_auth > 0) ) +if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) { $office_no=strtoupper($PHP_AUTH_USER); $password=strtoupper($PHP_AUTH_PW); @@ -3306,6 +3510,9 @@ if ( ($auth > 0) or ($reports_auth > 0) ) { $reports_only_user=1; } + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} } else { @@ -3334,8 +3541,10 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; -echo "\n"; +echo "\n"; echo "\n"; +echo "\n"; +echo "\n"; if ($SSnocache_admin=='1') { echo "\n"; @@ -3366,6 +3575,8 @@ if ($ADD==1411) {$hh='ingroups'; echo "CopiaDID";} if ($ADD==1511) {$hh='ingroups'; echo "Aggiungi Call Menu";} if ($ADD==1611) {$hh='ingroups'; echo "Copia Call Menu";} if ($ADD==1711) {$hh='ingroups'; echo "Aggiungi gruppo Filter Phone";} +if ($ADD==1811) {$hh='ingroups'; echo "Aggiungi nuovo EMAIL In-Group";} +if ($ADD==1911) {$hh='ingroups'; echo "Copia e-mail In-Group";} if ($ADD==11111) {$hh='remoteagent'; echo "Aggiungi Nuovo Operatore Remoto";} if ($ADD==12111) {$hh='remoteagent'; echo "Aggiungi gruppo Extension";} if ($ADD==111111) {$hh='usergroups'; echo "Aggiungi Nuovo Gruppo Utente";} @@ -3374,6 +3585,7 @@ if ($ADD==11111111) {$hh='filters'; echo "Agiungi Nuovo Filtro";} if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada";} if ($ADD==131111111) {$hh='admin'; $sh='shifts'; echo "Aggiungi nuovo Shift";} if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada Del Estado";} +if ($ADD==1211111111) {$hh='admin'; $sh='times'; echo "Aggiungere vacanze";} if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "AGGIUNGI TELEFONO";} if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "AGGIUNGI NUOVO TELEFONO ALIAS";} if ($ADD==13111111111) {$hh='admin'; $sh='phones'; echo "AGGIUNGI NUOVO GRUPPO ALIAS";} @@ -3409,6 +3621,8 @@ if ($ADD==2411) {$hh='ingroups'; echo "Nuova aggiunta Copiato DID";} if ($ADD==2511) {$hh='ingroups'; echo "Nuova chiamata Menu";} if ($ADD==2611) {$hh='ingroups'; echo "Nuova chiamata Menu";} if ($ADD==2711) {$hh='ingroups'; echo "Nuovo gruppo Phone Filter";} +if ($ADD==2811) {$hh='ingroups'; echo "Nuova e-mail Aggiunta Gruppo";} +if ($ADD==2911) {$hh='ingroups'; echo "Nuovo Copiato Email aggiunta Gruppo";} if ($ADD==21111) {$hh='remoteagent'; echo "Creazuibe Nuovi Operatori Remoti";} if ($ADD==22111) {$hh='remoteagent'; echo "Nuovo gruppo aggiunta Extension";} if ($ADD==211111) {$hh='usergroups'; echo "Creazione Nuovo Gruppo Utenti";} @@ -3417,6 +3631,7 @@ if ($ADD==21111111) {$hh='filters'; echo "Nueva Adicio`n Del Filtro";} if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Nueva Adicio`n Del Tiempo De la Llamada";} if ($ADD==231111111) {$hh='admin'; $sh='shifts'; echo "Nuova aggiunta Maiusc";} if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Nueva Adicio`n Del Tiempo De la Llamada Del Estado";} +if ($ADD==2211111111) {$hh='admin'; $sh='times'; echo "New Holiday aggiunta";} if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "CREANDO telefono";} if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "Aggiunta di nuovi TELEFONO ALIAS";} if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "AGGIUNGENDO NUOVO GRUPPO ALIAS";} @@ -3480,6 +3695,7 @@ if ($ADD==3311) {$hh='ingroups'; echo "ModificareDID";} if ($ADD==3321) {$hh='ingroups'; echo "Modificare DID RA Extension Overrides";} if ($ADD==3511) {$hh='ingroups'; echo "Modifica Call Menu";} if ($ADD==3711) {$hh='ingroups'; echo "Modifica gruppo Filter Phone";} +if ($ADD==3811) {$hh='ingroups'; echo "Modifica EMAIL In-Group";} if ($ADD==31111) {$hh='remoteagent'; echo "Modifica Operatori Remoti";} if ($ADD==32111) {$hh='remoteagent'; echo "Modifica gruppo Extension";} if ($ADD==311111) {$hh='usergroups'; echo "Modifica Gruppi Utenti";} @@ -3489,6 +3705,7 @@ if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modifique La Lista De las Definiciones Del Estado Del Tiempo De laLlamada";} if ($ADD==331111111) {$hh='admin'; $sh='shifts'; echo "Modificare Maiusc";} if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==3211111111) {$hh='admin'; $sh='times'; echo "Modifica di vacanza";} if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL telefonO";} if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "MODIFICA ALIAS TELEFONO";} if ($ADD==33111111111) {$hh='admin'; $sh='phones'; echo "MODIFICA GRUPPO ALIAS";} @@ -3524,6 +3741,7 @@ if ($ADD==4111) {$hh='ingroups'; echo "Modifica Gruppo Inbound";} if ($ADD==4311) {$hh='ingroups'; echo "ModificareDID";} if ($ADD==4511) {$hh='ingroups'; echo "Modifica Call Menu";} if ($ADD==4711) {$hh='ingroups'; echo "Modifica gruppo Filter Phone";} +if ($ADD==4811) {$hh='ingroups'; echo "ModificareEmail In-Group";} if ($ADD==41111) {$hh='remoteagent'; echo "Modifica Operatori Remoti";} if ($ADD==42111) {$hh='remoteagent'; echo "Modifica gruppo Extension";} if ($ADD==411111) {$hh='usergroups'; echo "Modifica Gruppi Utenti";} @@ -3532,6 +3750,7 @@ if ($ADD==41111111) {$hh='filters'; echo "Modifica Filtro";} if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada";} if ($ADD==431111111) {$hh='admin'; $sh='shifts'; echo "Modificare Maiusc";} if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==4211111111) {$hh='admin'; $sh='times'; echo "Modifica di vacanza";} if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL telefonO";} if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFICA ALIAS TELEFONO";} if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "MODIFICA GRUPPO ALIAS";} @@ -3567,6 +3786,7 @@ if ($ADD==51111111) {$hh='filters'; echo "Cancella Filtro";} if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "EliminareCall Time";} if ($ADD==531111111) {$hh='admin'; $sh='shifts'; echo "Elimina Maiusc";} if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelacio`n";} +if ($ADD==5211111111) {$hh='admin'; $sh='times'; echo "Eliminazione di vacanza";} if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "DELETE TELEFONO ALIAS";} if ($ADD==53111111111) {$hh='admin'; $sh='phones'; echo "Elimina gruppo ALIAS";} @@ -3603,6 +3823,7 @@ if ($ADD==61111111) {$hh='filters'; echo "Cancella Filtro";} if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "EliminareCall Time";} if ($ADD==631111111) {$hh='admin'; $sh='shifts'; echo "Elimina Maiusc";} if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelacio`n";} +if ($ADD==6211111111) {$hh='admin'; $sh='times'; echo "Eliminazione di vacanza";} if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE TELEFONO ALIAS";} if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "Elimina gruppo ALIAS";} @@ -3623,6 +3844,9 @@ if ($ADD==700000000000000) {$hh='reports'; echo "VICIDIAL ADMIN Change Log";} if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL Lutente admin CAMBIAMENTO LOG";} if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL SEZIONE ADMIN Change Log";} if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL DETTAGLIO ADMIN Change Log";} +if ($ADD==800000000000000) {$hh='reports'; echo "VICIDIAL ADMIN rapporto di registro";} +if ($ADD==810000000000000) {$hh='reports'; echo "VICIDIAL utente admin rapporto di registro";} +if ($ADD==830000000000000) {$hh='reports'; echo "VICIDIAL DETTAGLIO ADMIN rapporto di registro";} if ($ADD==0) {$hh='users'; echo "Lista Utenti";} if ($ADD==8) {$hh='users'; echo "Richiami Dell`Operatore";} if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Richiami Nella Campagna";} @@ -3635,6 +3859,7 @@ if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} if ($ADD==1320) {$hh='ingroups'; echo "Modificare DID RA Extension Overrides";} if ($ADD==1500) {$hh='ingroups'; echo "Call Menu";} if ($ADD==1700) {$hh='ingroups'; echo "Gruppi di Telefono filtro";} +if ($ADD==1800) {$hh='ingroups'; echo "E-mail in-Groups";} if ($ADD==10000) {$hh='remoteagent'; echo "Operatori Remoti";} if ($ADD==12000) {$hh='remoteagent'; echo "Gruppi di estensione";} if ($ADD==100000) {$hh='usergroups'; echo "Gruppi Utenti";} @@ -3643,6 +3868,7 @@ if ($ADD==10000000) {$hh='filters'; echo "Filtri";} if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Orari Chiamata";} if ($ADD==130000000) {$hh='admin'; $sh='shifts'; echo "Turni";} if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Tiempos De la Llamada Del Estado";} +if ($ADD==1200000000) {$hh='admin'; $sh='times'; echo "Vacanze";} if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "ELENCO TELEFONI";} if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "ALIAS ELENCO TELEFONICO";} if ($ADD==13000000000) {$hh='admin'; $sh='phones'; echo "GRUPPO ALIAS ELENCO";} @@ -3656,6 +3882,8 @@ if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo "SCREEN ETICHETTE LIST"; if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo "CONTATTI LISTA";} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "LISTA DE CONFERENCIAS";} if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL LISTA DE CONFERENCIAS";} +##QC +require_once('qc/QC_admin_variables01.php'); if ($ADD==550) {$hh='users'; echo "Form di Ricerca";} if ($ADD==551) {$hh='users'; echo "BUSCAR telefonOS";} if ($ADD==660) {$hh='users'; echo "Risultati Ricerca";} @@ -3669,7 +3897,35 @@ if ($ADD==999995) {$hh='reports'; echo "COPYRIGHT MARCHIO DI LICENZA";} if ($ADD==999994) {$hh='reports'; echo "ADMIN UTILITIES";} if ($ADD==999993) {$hh='reports'; echo "SINTESI STATS";} if ($ADD==999992) {$hh='reports'; echo "SYSTEM SINTESI STATS";} +if ($ADD==999991) {$hh='reports'; echo "SERVERS VERSIONES";} +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + if ($ADD==999993) {$report_name = "SINTESI STATS";} + if ($ADD==999992) {$report_name = "SYSTEM SINTESI STATS";} + if ($ADD==730000000000000) {$report_name = "DETTAGLIO ADMIN Change Log";} + if ($ADD==830000000000000) {$report_name = "DETAIL ADMIN rapporto di registro";} + + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $stage, $report_display_type|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + } if ( ($ADD>9) and ($ADD < 99998) ) { @@ -3869,7 +4125,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD ##### BEGIN get inbound groups listing for checkboxes ##### $xfer_groupsSQL=''; - if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and (eregi('list_activation', $stage))) ) + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (eregi('list_activation', $stage)) or (ereg('test_call',$stage)) ) ) ) { $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); @@ -4321,6 +4577,11 @@ if ($ADD==99999)
    Manual de la llamada del agente - esta opcio`n permite que un agente incorpore manualmente un nuevo plomo en el sistema y los llame. Esto Tambien permite llamar de cualquier número de telefono de su pantalla vicidial y pone esa llamada en su sesio`n. Utilice esta opcio`n con la precaucio`n. +
    + +
    + Agent Call Email - This option is disabled. +

    @@ -4346,7 +4607,7 @@ if ($ADD==99999)

    - Invalidacio`n de la grabacion de VICIDIAL - esta opcio`n seeliminará lo que es la opcio`n en la campaña para la grabacion.LISIADO no eliminará el ajuste de la grabacion de la campaña. NUNCAinhabilitará la grabacion en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabacion en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabacion en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opcio`n para parar el registrar. ParaALLCALLS y ALLFORCE hay una opcio`n para utilizar la grabacionretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Ritardo Registrazione to cut down on very short recordings and reduce system load.
    @@ -4361,7 +4622,7 @@ if ($ADD==99999)

    - Agente di piombo Override Search - Questa impostazione avrà la precedenza su ciò che la campagna ha fissato per la Ricerca Agente di piombo. NOT_ACTIVE utilizza l'impostazione della campagna. ENABLED permette la ricerca di piombo ei disabili non permette la ricerca di piombo. Il valore predefinito è NOT_ACTIVE. + Agente di piombo Override Search - Questa impostazione avrà la precedenza su ciò che la campagna ha fissato per la Ricerca Agente di piombo. NOT_ACTIVE utilizza l'impostazione della campagna. ENABLED permette la ricerca di piombo ei disabili non permette la ricerca di piombo. Il valore predefinito è NOT_ACTIVE. LIVE_CALL_INBOUND permetterà ricerca di un po 'di vantaggio su solo una chiamata in entrata. LIVE_CALL_INBOUND_AND_MANUAL permetterà ricerca di un po 'di piombo su una chiamata in entrata o la pausa. Quando piombo di ricerca viene utilizzato in una chiamata in entrata dal vivo, la testa della chiamata quando è andato per l'agente verrà modificato in uno stato di LSMERG, ed i registri per la chiamata viene modificato per creare un collegamento con l'agente di piombo scelto invece.
    @@ -4484,6 +4745,18 @@ if ($ADD==99999)
    Modifique los plomos - esta opcio`n si el sistema a 1 permite que el usuario modifique los plomos en la página de los resultados de la búsqueda del plomo de la seccio`n del admin. + 0) + { + ?> +
    +
    +
    + Modifica Account di posta elettronica - Questa opzione, se impostato a 1 consente all'utente di modificare gli account di posta elettronica nella pagina di gestione account e-mail. + +

    @@ -4707,6 +4980,17 @@ if ($ADD==99999)
    Permita Closers - aquí es donde usted puede fijar si los usuarios de esta campaña tendrán la opcio`n para enviar la llamada a un más cercano. + 0) + { + ?> +
    +
    +
    + Consenti email - Questo è dove si può impostare se gli utilizzatori di questa campagna saranno in grado di ricevere e-mail in entrata, oltre alle telefonate. +

    @@ -4928,12 +5212,22 @@ if ($ADD==99999)

    - AMD envían a la VM exten - este menú permite que usted defina si un mensaje este` dejado en un contestador automático cuando se detecta la llamada será remitido inmediatamente a la extension del Contestar-Ma`quina-Mensaje si AMD es activo y se determina que la llamada es un contestador automático. + AMD invia ad azione - Questa opzione consente di definire se una chiamata viene inviata al Azione AMD quando viene rilevata una segreteria telefonica. Se questo è impostato a N, allora la chiamata sarà appeso appena viene determinata essere una segreteria telefonica. Il default è N.

    - CPD AMD Azione - Se si utilizza il Sangoma ParaXip chiamate di avanzamento di rilevamento di software allora si desidera attivare questa impostazione o limpostazione di DISPO disposizione che la chiamata come AA e appende se la chiamata è in fase di elaborazione e non è stato inviato a un agente o un messaggio che ancora invierà la richiesta alla Segreteria definito Messaggio per questa campagna. Il valore di default è ANDICAPPATI. + CPD AMD Azione - Se si utilizza il Sangoma ParaXip chiamate di avanzamento di rilevamento di software allora si desidera attivare questa impostazione o limpostazione di DISPO disposizione che la chiamata come AA e appende se la chiamata è in fase di elaborazione e non è stato inviato a un agente o un messaggio che ancora invierà la richiesta alla Segreteria definito Messaggio per questa campagna. Il valore di default è ANDICAPPATI. Impostare questo a ingroup invierà una segreteria telefonica a un gruppo in entrata. Impostare questo a CALLMENU invierà una segreteria telefonica a una chiamata del menu nel sistema. + +
    +
    +
    + AMD Inbound Gruppo - Se CPD AMD azione è impostata su ingroup, allora questo è il gruppo in ingresso che la chiamata verrà inviata se viene rilevata una segreteria telefonica. + +
    +
    +
    + AMD chiamata Menu - Se CPD AMD azione è impostata su CALLMENU, allora questo è il menu del registro chiamate che la chiamata verrà inviata se viene rilevata una segreteria telefonica.
    @@ -4960,6 +5254,11 @@ if ($ADD==99999)
    Safe Harbor Audio - Questo è il prompt dei file audio che viene riprodotto se l'azione è impostata su Goccia AUDIO. Il valore predefinito è Buzz. +
    +
    +
    + Safe Harbor Audio Campo - Questa impostazione opzionale consente di definire un campo nell'elenco che il sistema utilizzerà come il nome del file audio per ogni piombo al posto del file audio Safe Harbor. Se questo è impostato su Disabilitato sarà sempre utilizzato il file audio Safe Harbor. Il sistema farà alcuna convalida per assicurarsi che il file audio non esiste se non per assicurarsi che il valore del campo è presente almeno un carattere, quindi se volete una guida per utilizzare il valore predefinito sicuro porto Audio poi basta impostare il valore del campo in testa a vuoto. È possibile utilizzare il carattere pipe per collegare più file audio insieme nel valore di campo per ogni cavo. Default è disabilitata. Ecco l'elenco dei campi che possono essere utilizzati per questa impostazione: vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, alt_phone, email, security_phrase, comments, rank, owner, entry_list_id +

    @@ -4988,7 +5287,12 @@ if ($ADD==99999)

    - Unico proprietario Dialing - Se questo è abilitato, l-agente riceverà solo porta che sono entro i parametri per la proprietà. Se questo è impostato su USER allora l-agente deve essere definita dall-utente nel database come proprietario di questo piombo. Se questo è impostato su un territorio il proprietario del piombo deve coincidere con il territorio di cui la schermata Utente Modifica per questo agente. Se questo è impostato su USER_GROUP poi il proprietario del piombo deve corrispondere al gruppo di utenti che l-agente è un membro di. Per questa funzione il metodo di selezione deve essere impostato su Manuale o INBOUND_MAN e n. telefonico Hopper deve essere attivato. Di default è NESSUNO per disabili. + Unico proprietario Dialing - Se questo è abilitato, l-agente riceverà solo porta che sono entro i parametri per la proprietà. Se questo è impostato su USER allora l-agente deve essere definita dall-utente nel database come proprietario di questo piombo. Se questo è impostato su un territorio il proprietario del piombo deve coincidere con il territorio di cui la schermata Utente Modifica per questo agente. Se questo è impostato su USER_GROUP poi il proprietario del piombo deve corrispondere al gruppo di utenti che l-agente è un membro di. Per questa funzione il metodo di selezione deve essere impostato su Manuale o INBOUND_MAN e n. telefonico Hopper deve essere attivato. Di default è NESSUNO per disabili. Se l'opzione è vuota alla fine, quindi gli utenti possono comporre i cavi senza proprietario definito oltre al proprietario definito conduce. + +
    +
    +
    + Proprietario Popola - Se questa opzione è attivata e il proprietario campo del piombo è vuoto, il campo proprietario per il piombo popolerà con l'ID utente di un agente che gestisce la chiamata prima. Disabilitata di default. 0) @@ -5042,6 +5346,11 @@ if ($ADD==99999)
    Indagine sulle cifre DTMF - Questo campo è il punto in cui definire le cifre che un cliente può premere come opzione su una campagna di indagine. cifre DTMF sono validi0123456789*#. Tutte le opzioni eccetto per i non interessati, terzo e quarto opzioni cifra di passare al percorso di indagine chiamata al metodo. +
    +
    +
    + Indagine Attendere Secondi - Questo è il numero di secondi in modalità Indagine attesa del sistema per l'ingresso da parte della persona chiamata fino a quando scatta l'indagine o azione goccia. Non si applica se il metodo di indagine è CHIUDI. Predefinito è di 10 secondi. +

    @@ -5070,7 +5379,7 @@ if ($ADD==99999)

    - Indagine n. risposta Azione - Questo è dove si definisce che cosa accadrà se non vi è alcuna risposta alla domanda del sondaggio. OptIn solo inviare la chiamata al metodo di indagine, se il cliente preme un cifre DTMF. OptOut invierà al cliente al metodo di indagine, anche se non si preme uno cifre DTMF. + Indagine n. risposta Azione - Questo è dove si definisce che cosa accadrà se non vi è alcuna risposta alla domanda del sondaggio. OptIn solo inviare la chiamata al metodo di indagine, se il cliente preme un cifre DTMF. OptOut invierà al cliente al metodo di indagine, anche se non si preme uno cifre DTMF. GOCCIA lascerà cadere la chiamata utilizzando il metodo della caduta di campagna ma comunque accedere la chiamata come un PM giocato stato del messaggio.
    @@ -5115,7 +5424,7 @@ if ($ADD==99999)

    - Agent Visualizzare Dialable Leads - Questa opzione, se attivata mostrerà il numero di porta dialable disponibili nella campagna nella schermata agente. Questo numero è aggiornato nel sistema di una volta al minuto e sarà aggiornata sullo schermo agente ogni pochi secondi. + Agente di visualizzazione Leads componibile - Questa opzione, se attivata mostrerà il numero di porta dialable disponibili nella campagna nella schermata agente. Questo numero è aggiornato nel sistema di una volta al minuto e sarà aggiornata sullo schermo agente ogni pochi secondi.
    @@ -5182,12 +5491,12 @@ if ($ADD==99999)

    - grabacion de la campaña - este menú permite que usted elija que`nivel de la grabacion se permite en esta campaña. NUNCAinhabilitará la grabacion en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabacion en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabacion en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opcio`n para parar el registrar. ParaALLCALLS y ALLFORCE hay una opcio`n para utilizar la grabacionretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + grabacion de la campaña - este menú permite que usted elija que` nivel de la grabacion se permite en esta campaña. NEVER inhabilitará la grabacion en el cliente. ONDEMAND es el defecto y permite que el agente comience y pare a registrar según lo necesitado. ALLCALLS comenzará la grabacion en el cliente siempre que una llamada se envíe a un agente. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Ritardo Registrazione to cut down on very short recordings and reduce system load.

    - Nome Registrazioni Per Questa Campagna - Questo campo vi permette di personalizzare il nome della registrazione quando la campagna è OnDemand o ALLCALLS. Le variabili sono consentiti CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. Il valore predefinito è FULLDATE_AGENT e sarebbe simile a questa 20051020-103108_6666. Un altro esempio è CAMPAIGN_TINYDATE_CUSTPHONE che sarebbe simile a questa TESTCAMP_51020103108_3125551212. 50 char max. + Nome Registrazioni Per Questa Campagna - Questo campo vi permette di personalizzare il nome della registrazione quando la campagna è OnDemand o ALLCALLS. Le variabili sono consentiti CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. L'impostazione predefinita è FULLDATE_AGENT e sarebbe simile a questa 20051020-103108_6666. Un altro esempio è CAMPAIGN_TINYDATE_CUSTPHONE che sarebbe simile a questa TESTCAMP_51020103108_3125551212. Te conseguente nome del file deve essere inferiore a 90 caratteri di lunghezza.
    @@ -5202,7 +5511,7 @@ if ($ADD==99999)

    - Agente di piombo Search - Impostando questa opzione su ENABLED consentirà agli agenti di cercare contatti e visualizzare le informazioni di piombo durante la pausa nell'interfaccia dell'agente. Inoltre, se il gruppo Utente Agent è autorizzato a visualizzare dei registri delle chiamate quindi l'agente sarà in grado di visualizzare le note di chiamata per ogni ultimi piombo che si sta visualizzando informazioni su. Predefinito è DISABLED. + Agente di piombo Search - Impostando questa opzione su ENABLED consentirà agli agenti di cercare contatti e visualizzare le informazioni di piombo durante la pausa nell'interfaccia dell'agente. Inoltre, se il gruppo Utente Agent è autorizzato a visualizzare dei registri delle chiamate quindi l'agente sarà in grado di visualizzare le note di chiamata per ogni ultimi piombo che si sta visualizzando informazioni su. Predefinito è DISABLED. LIVE_CALL_INBOUND permetterà ricerca di un po 'di vantaggio su solo una chiamata in entrata. LIVE_CALL_INBOUND_AND_MANUAL permetterà ricerca di un po 'di piombo su una chiamata in entrata o la pausa. Quando piombo di ricerca viene utilizzato in una chiamata in entrata dal vivo, la testa della chiamata quando è andato per l'agente verrà modificato in uno stato di LSMERG, ed i registri per la chiamata viene modificato per creare un collegamento con l'agente di piombo scelto invece.
    @@ -5297,7 +5606,7 @@ if ($ADD==99999)

    - Richiamate pianificate Conte - Questa opzione permette di impostare solo se richiamate VIVI, dall'utente solo richiamate pianificate che hanno colpito la data e l'ora di attivazione, o callback ALL_ACTIVE, user-only callback che sono attivi nel sistema così come callback viviamo, deve BE3 ha contato int agente di avviso sezione richiamata sullo schermo dell'agente. Il valore predefinito è ALL_ACTIVE. + Richiamate pianificate Conte - These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks. LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered. You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE. Default is ALL_ACTIVE.
    @@ -5359,6 +5668,11 @@ if ($ADD==99999)
    Usa campagna DNC List - Questo definisce se questa è una campagna per filtrare DNC conduce contro una lista che è specifico per tale campagna solo. Se è impostato su Y, la tramoggia sarà per ciascuno il numero di telefono nel campo specifico DNC prima immissione nella tramoggia. Se si è in campagna specifici DNC elenco allora cambierà status che portano a DNCC e non può quindi essere selezionato. Il valore predefinito è N. L-opzione AreaCode è proprio come l-opzione Y, tranne che viene utilizzato per filtrare inoltre un codice di tutta l-area del Nord America ad essere composto, in questo caso utilizzando la voce 201XXXXXXX nella lista DNC potrebbe bloccare tutte le chiamate al 201 AreaCode se abilitato. +
    +
    +
    + Altra Campagna DNC - Se l'opzione Usa campagna Lista DNC è abilitata, questa opzione può consentire di utilizzare un diverso elenco DNC campagna, appena messo l'ID campagna dell'Altra Campagna in questo campo. Se si utilizza questa opzione, la lista originale DNC campagna non sarà più selezionata, sarà usato solo l'altra lista DNC campagna. Ciò non pregiudica l'uso della lista di DNC sistema interno. Predefinito è vuoto. +

    @@ -5439,6 +5753,16 @@ if ($ADD==99999)
    Phone messaggio Ora Alert Difference - Questo manuale-dial-unica caratteristica, se attivata, verrà visualizzato un avviso se il fuso orario per il codice postale di piombo, o il codice postale, è diverso dal fuso orario del prefisso del numero di telefono per il piombo. L'opzione OUTSIDE_CALLTIME_ONLY mostrerà solo l'avviso se i due fusi orari sono diversi e uno dei fusi orari è al di fuori del tempo di chiamata selezionata per la campagna. OUTSIDE_CALLTIME_PHONE solo controllare il fuso orario del numero di telefono del piombo e avvisa se è al di fuori del tempo di chiamata locale. OUTSIDE_CALLTIME_POSTAL solo controllare il fuso orario del codice postale del piombo e avvisa se è al di fuori del tempo di chiamata locale. OUTSIDE_CALLTIME_BOTH controllerà il codice postale e numero di telefono per essere dentro il tempo di chiamata locale, anche se sono nello stesso fuso orario. Questi avvisi mostrerà le informazioni nel registro delle chiamate, elenco callback informazioni, risultati di ricerca di informazioni, quando un cavo viene composto e quando è previsto un cavo. Predefinito è DISABLED. +
    +
    +
    + In-Group Selezione manuale - Questa funzione permette di abilitare la possibilità per gli agenti di inserire linea chiamate in uscita manuali che vengono registrati come in-group chiamate assegnato a una specifica in-group. L'opzione MANUAL_DIAL consente l'immissione di telefonate attraverso un In-Gruppo per l'agente di effettuare la chiamata. L'opzione NO_DIAL consente all'agente di accedere contemporaneamente su chiamata che non esiste, come se fosse una vera e propria chiamata, questa viene spesso utilizzato per la registrazione e-mail o fax di tempo. Il SIA opzione consentirà sia chiamata e non-chiamata a riconoscimento in-group. Disabilitato di default. + +
    +
    +
    + In-Group Selezione manuale Select - Questa opzione è attiva solo se il suddetto in-Group funzione Selezione manuale non è disattivato. Questa opzione limita la selezionabili A-Groups che l'agente può inserire in gruppo Selezione manuale chiama attraverso. CAMPAIGN_SELECTED mostra solo le in-gruppi che la campagna è posta come ammissibile a-gruppi. ALL_USER_GROUP mostrerà tutte le in-gruppi che sono visualizzabili ai membri del gruppo di utenti che l'agente appartiene al. +

    @@ -5626,6 +5950,11 @@ if ($ADD==99999)
    Agente di pausa dopo ogni chiamata - Questa opzione se impostata a Y si fermerà l-agente, dopo ogni chiamata automaticamente. Di default è N. +
    +
    +
    + Agente Pausa Dopo Pross.selezione link - Questa opzione, se attivata mostrerà un link sullo schermo dell'agente che vi permetterà l'agente va in pausa automaticamente dopo che riagganciare la chiamata successiva. Disabilitata di default. +

    @@ -5692,6 +6021,16 @@ if ($ADD==99999)
    Reset Times - Questo campo vi permette di mettere a volte, separati da un trattino-, che questa lista sarà automaticamente reimpostato dal sistema. I tempi devono essere in formato 24 ore senza punteggiatura, ad esempio 0.800-1.700 sarebbe reimpostare l-elenco di 8 e 5 tutti i giorni. Di default è vuota. +
    +
    +
    + Data di Scadenza - Questa opzione consente di impostare la data dopo la quale conduce in questa lista non sarà consentito di essere auto-composto o manuale-list-composto dal sistema. Il default è 2099-12-31. + +
    +
    +
    + Audit Commenti - Questa opzione consente commenti di essere spostati in una tabella di controllo. Non è più modificabile, ma visualizzabili con la data-ora-creatore di ogni commento. Default e N. Questa è una parte del Controllo Qualità Add-On. +

    @@ -5889,7 +6228,7 @@ if ($ADD==99999)

    - Azione Transfer CID - Usato per Drop, Dopo mezzanotte e No-agent-no-coda azioni. Questo è il numero ID del chiamante che la chiamata utilizza prima del loro trasferimento alle estensioni, messaggi, casella vocale o menu di chiamata. È possibile utilizzare CLIENTE in questo campo per utilizzare il numero telefonico del cliente, o campagna per utilizzare il primo numero del chiamante consentito campagna id. Il valore predefinito è CLIENTE. + Azione Transfer CID - Usato per Drop, Dopo mezzanotte e No-agent-no-coda azioni. Questo è il numero ID del chiamante che la chiamata utilizza prima del loro trasferimento alle estensioni, messaggi, casella vocale o menu di chiamata. È possibile utilizzare CLIENTE in questo campo per utilizzare il numero telefonico del cliente, o campagna per utilizzare il primo numero del chiamante consentito campagna id. Il valore predefinito è CLIENTE. Se questo è un invito che andrà a una chiamata su Menu e poi di nuovo a un in-gruppo, si consiglia di utilizzare CUSTOMERCLOSER in questo campo, e inoltre è necessario impostare l'in-group Metodo di ricerca nel menu Chiamata a una più stretta.
    @@ -6184,7 +6523,7 @@ if ($ADD==99999)

    - In-Group Recording Filename - This field will override the Registrazioni Per Questa Campagna Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. Il valore predefinito è FULLDATE_AGENT e sarebbe simile a questa 20051020-103108_6666. Un altro esempio è CAMPAIGN_TINYDATE_CUSTPHONE che sarebbe simile a questa TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + In-Group Recording Filename - Questo campo avrà la precedenza il regime filenaming Recording campagna a meno che non sia impostato su NONE. Le variabili sono consentiti CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. L'impostazione predefinita è FULLDATE_AGENT e sarebbe simile a questa 20051020-103108_6666. Un altro esempio è CAMPAIGN_TINYDATE_CUSTPHONE che sarebbe simile a questa TESTCAMP_51020103108_3125551212. Te conseguente nome del file deve essere inferiore a 90 caratteri di lunghezza. Default is NONE. 0) @@ -6251,7 +6590,7 @@ if ($ADD==99999)

    - Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank. + Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in secondi of the call. Default is blank.
    @@ -6268,6 +6607,11 @@ if ($ADD==99999)
    Predefinito Gruppo Alias - Se si hanno consentito Alias gruppo per la campagna che lagente è registrato in poi questo è il gruppo alias che è stato selezionato prima di default su un invito da parte di questo gruppo in entrata, quando lagente sceglie di utilizzare un gruppo di Alias per un manuale di chiamata in uscita. Il valore predefinito è vuoto o NESSUNO. +
    +
    +
    + Dial-In Group CID - Se la campagna agente consente manuale In-Selezione di gruppo, questo numero ID del chiamante verrà inviato come l'uscita CID della telefonata se è popolata, sovrascrivendo le impostazioni della campagna e la lista di impostazione di override CID. L'impostazione predefinita è vuota. +

    @@ -6372,7 +6716,7 @@ if ($ADD==99999)

    - In-Group Call Maniglia Metodo - Se IN_GROUP è selezionato come il percorso fatto, allora questa è la gestione delle chiamate metodo utilizzato per queste chiamate. CID aggiungerà un nuovo record di piombo, con tutte le chiamate utilizzando il CallerID come il numero di telefono, CIDLOOKUP cercherà di ricerca il numero di telefono dal CallerID in tutto il sistema, CIDLOOKUPRL cercherà di ricerca il numero di telefono dal CallerID in una sola lista specificata , CIDLOOKUPRC cercherà di ricerca il numero di telefono dal CallerID in tutte le liste che appartengono alla campagna di cui, più vicino è specificato per VICIDIAL Closer chiamate, ANI aggiungerà un nuovo record di piombo, con tutte le chiamate utilizzando il ANI, come il numero di telefono, ANILOOKUP cercherà di ricerca il numero di telefono dal ANI in tutto il sistema, ANILOOKUPRL cercherà di ricerca il numero di telefono dal ANI in una sola lista specificata, XDIGITID chiederà il chiamante per un codice X cifra prima della chiamata verrà messa in la coda, VIDPROMPT chiederà il chiamante per il loro numero ID e creerà un nuovo record di piombo con il CallerID come il numero di telefono e l-ID come il Vendor ID, VIDPROMPTLOOKUP tenterà di ricerca l-ID di tutto il sistema, VIDPROMPTLOOKUPRL tenterà di ricerca del fornitore ID dal ID in una sola lista specificata, VIDPROMPTLOOKUPRC tenterà di ricerca da parte del venditore ID l-ID in tutte le liste che appartengono alla campagna specificato. Di default è CID. Se un metodo CIDLOOKUP viene utilizzato con ALT, cercherà il campo alt_phone per il numero di telefono se non vengono trovate corrispondenze per il numero di telefono principale. Se un metodo viene utilizzato con CIDLOOKUP ADDR3, cercherà il campo Indirizzo3 per il numero di telefono se non vengono trovate corrispondenze per il numero di telefono principale e facoltativamente il campo alt_phone. + In-chiamata di gruppo maniglia Metodo - Se IN_GROUP è selezionato come il percorso fatto, allora questa è la gestione delle chiamate metodo utilizzato per queste chiamate. CID aggiungerà un nuovo record di piombo, con tutte le chiamate utilizzando il CallerID come il numero di telefono, CIDLOOKUP cercherà di ricerca il numero di telefono dal CallerID in tutto il sistema, CIDLOOKUPRL cercherà di ricerca il numero di telefono dal CallerID in una sola lista specificata , CIDLOOKUPRC cercherà di ricerca il numero di telefono dal CallerID in tutte le liste che appartengono alla campagna di cui, più vicino è specificato per VICIDIAL Closer chiamate, ANI aggiungerà un nuovo record di piombo, con tutte le chiamate utilizzando il ANI, come il numero di telefono, ANILOOKUP cercherà di ricerca il numero di telefono dal ANI in tutto il sistema, ANILOOKUPRL cercherà di ricerca il numero di telefono dal ANI in una sola lista specificata, XDIGITID chiederà il chiamante per un codice X cifra prima della chiamata verrà messa in la coda, VIDPROMPT chiederà il chiamante per il loro numero ID e creerà un nuovo record di piombo con il CallerID come il numero di telefono e l-ID come il Vendor ID, VIDPROMPTLOOKUP tenterà di ricerca l-ID di tutto il sistema, VIDPROMPTLOOKUPRL tenterà di ricerca del fornitore ID dal ID in una sola lista specificata, VIDPROMPTLOOKUPRC tenterà di ricerca da parte del venditore ID l-ID in tutte le liste che appartengono alla campagna specificato. Di default è CID. Se un metodo CIDLOOKUP viene utilizzato con ALT, cercherà il campo alt_phone per il numero di telefono se non vengono trovate corrispondenze per il numero di telefono principale. Se un metodo viene utilizzato con CIDLOOKUP ADDR3, cercherà il campo Indirizzo3 per il numero di telefono se non vengono trovate corrispondenze per il numero di telefono principale e facoltativamente il campo alt_phone.
    @@ -6450,7 +6794,7 @@ if ($ADD==99999)

    - Menu Prompt - Questo campo contiene il nome del file del prompt audio da riprodurre all-inizio di questo menu. È possibile immettere propmts più in questo campo e gli altri settori prompt separandole con un carattere pipe. + Menu Prompt - Questo campo contiene il nome del file del prompt audio da riprodurre all-inizio di questo menu. È possibile immettere propmts più in questo campo e gli altri settori prompt separandole con un carattere pipe. Puoi aggiungere NOINT direttamente di fronte a un nome di file audio per fare in modo che la riproduzione non può essere interrotta premendo un tasto dal chiamante, il NOINT non dovrebbe essere una parte del nome del file, è una bandiera speciale per il sistema. Si può anche utilizzare per usi speciali. Agi script in questo settore, così come la sceneggiatura cm_date.agi, discutere con l'amministratore per maggiori dettagli.
    @@ -6542,6 +6886,12 @@ if ($ADD==99999)
    Personalizzato Entry Dialplan - Questo campo consente di inserire in ogni dialplan elementi che si desidera per il menu di chiamata. +
    +
    +
    + Qualificare SQL - Questo campo consente di immettere la SQL - Structured Query Language - frammenti di database, come con i filtri, per determinare se questo menu chiamata deve giocare per il chiamante o meno. Questa caratteristica funziona solo se la chiamata è impostata l'callerIDname prima di essere inviato a questo menu chiamata, come un trasferimento sondaggio in uscita, o attraverso l'uso di un menu drop call per una chiamata In-Group. Se vi è una corrispondenza, la chiamata procede come normale. Se non vi è alcuna corrispondenza, la chiamata viene inoltrata a l'opzione D o l'opzione non valida se nessuna opzione D è impostata. Non è possibile utilizzare apici in questo campo, solo i doppi apici se sono necessari. L'impostazione predefinita è vuota per disabili. + + @@ -6673,7 +7023,7 @@ if ($ADD==99999) VICIDIAL_CAMPAIGN_HOTKEYS TABELLA


    - Con el uso de los hot keys de encargo de la campaña, los agentes que utilizan el retraso vicidial de la lata del tela-cliente y la disposicion llama apenas presionando una sola llave en su teclado. Hay dos opciones especiales que usted puede utilizar conjuntamente conel número de telefono alterno que marca, ALTPH2 de HotKey - el dialcaliente del telefono alterno y el dial caliente ADDR3-----Address3permiten que un agente utilice un hotkey al retraso su llamada,permanecen en el mismo plomo, y marcan otro número del contacto deese conducen. + Con el uso de los hot keys de encargo de la campaña, los agentes que utilizan el retraso vicidial de la lata del tela-cliente y la disposicion llama apenas presionando una sola llave en su teclado. Hay dos opciones especiales que usted puede utilizar conjuntamente conel número de telefono alterno que marca, ALTPH2 de HotKey - el dialcaliente del telefono alterno y el dial caliente ADDR3-----Address3permiten que un agente utilice un hotkey al retraso su llamada,permanecen en el mismo plomo, y marcan otro número del contacto deese conducen. È inoltre possibile utilizzare LTMG o XFTAMM come status per attivare un trasferimento automatico per l'opzione Leave-Casella Vocale. @@ -6872,10 +7222,10 @@ if ($ADD==99999)
    - Testo Script - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + Testo Script - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables:
    - <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> + <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> </iframe>

    @@ -6964,6 +7314,26 @@ if ($ADD==99999)
    Estado del tiempo de la llamada del estado - este es el co`digo dedos letras para el estado que esta definicio`n del tiempo que llamaestá para. Para que esto sea en efecto la llamada local mida eltiempo que se fija en la campaña debe tener este expediente deltiempo de la llamada del estado en e`l así como todos los plomos quetienen dos co`digos del estado de la letra en ellos. + +
    + Vacanze ID - Questo è il nome breve di un Holiday Definizione. Questo deve essere un identificatore univoco. Non utilizzare spazi o segni di punteggiatura per questo campo. max 30 caratteri, minimo di 2 caratteri. + +
    +
    + Nome di festa - Questo è un nome più descrittivo della vacanza Definizione. Questo è un breve riepilogo della definizione di vacanza. max 100 caratteri, minimo di 2 caratteri. + +
    +
    + Vacanze Commenti - This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-. max 255 characters. + +
    +
    + Vacanze Data - Questa è la data della vacanza. + +
    +
    + Vacanze Stato - Questo è lo stato della voce vacanza. Stato attivo significa che la vacanza sarà abilitata alla data di vacanza. Stato inattivo significa che la vacanza sarà ignorato, anche alla data di vacanza. Significa che la vacanza ha superato la sua data di vacanza SCADUTO. Default è inattivo. + @@ -7106,6 +7476,10 @@ if ($ADD==99999) Eliminare Casella Vocale Dopo Email - Questa impostazione consente di avere i messaggi vocali eliminato dal sistema dopo che sono state inviate fuori. Di default è N. +
    +
    + Messaggio di benvenuto - Questa impostazione opzionale consente di definire un file audio messaggio di benvenuto dal negozio audio. Predefinito è vuoto. +
    Casella Vocale Zone - Questa impostazione consente di impostare la zona che questa casella voicemail sarà impostato quando il tempo viene registrato un messaggio. Di default è impostato in Impostazioni di sistema. @@ -7149,6 +7523,8 @@ if ($ADD==99999)
  • Email
  • Frase De Seguridad
  • Note +
  • Rank +
  • Owner
    NOTAS: La funcionalidad del cargador del plomo del sobresalir espermitida por una serie de escrituras del Perl y necesita tener unarchivo correctamente configurado de /etc/astguiclient.conf en lugaren el web server. Tambien, los mo`dulos de un Perl de los pares sedeben cargar para ella para trabajar Tambien -oLE-Storage_Lite-Storage_Lite y la Hoja de balance-ParseExcel. Ustedpuede comprobar para saber si hay errores runtime en estos mirando suarchivo del error_log de apache. Tambien, para los cheques deduplicacio`n contra gampaign enumera, la lista que tiene nuevos plomosel entrar e`l necesita ser creada en el sistema antes de que ustedcomience a cargar los plomos. @@ -7240,7 +7616,7 @@ if ($ADD==99999)

    - Imposta come Webphone - Impostando questa opzione su Y tenterà di caricare un web-based telefono quando l'agente accede a loro schermo agente. Il valore predefinito è N. + Imposta come Webphone - Impostando questa opzione su Y tenterà di caricare un web-based telefono quando l'agente accede a loro schermo agente. Il valore predefinito è N. L'opzione Y_API_LAUNCH può essere utilizzato con l'API agente di lanciare il webphone in una finestra separata o Iframe.
    @@ -7291,6 +7667,10 @@ if ($ADD==99999) Eliminare Casella Vocale Dopo Email - Questa impostazione consente di avere i messaggi vocali eliminato dal sistema dopo che sono state inviate fuori. Di default è N. +
    +
    + Messaggio di benvenuto - Questa impostazione opzionale consente di definire un file audio messaggio di benvenuto dal negozio audio. Predefinito è vuoto. +

    @@ -8120,6 +8500,11 @@ if ($ADD==99999)
    Attivo Server Casella Vocale - Nei sistemi multi-server, questo è il server che consente di gestire tutte le caselle di posta vocale. Questo server è anche il luogo dove il dial-in generati prompt saranno caricati dai, il 8.168 registrazioni. +
    +
    +
    + Consentire Casella Vocale Saluto Chooser - Se questa impostazione è abilitata vi permetterà di scegliere un file audio dal negozio audio da riprodurre come messaggio di benvenuto a una casella vocale specifica. Il default è 0 per disabili. +

    @@ -8185,6 +8570,11 @@ if ($ADD==99999)
    Abilita Statistiche elenco esteso - Questa impostazione consente a due colonne aggiuntive per essere visualizzati sulla maggior parte delle tabelle nell'elenco di disaggregazione di stato la modifica dell'elenco e le pagine di modifica della campagna. Penetrazione è definita come la percentuale di cavi che sono pari o superiore al limite di conteggio di campagna chiamata e, oppure lo stato è contrassegnato come completato. Il valore predefinito è 1 per abilitato. +
    +
    +
    + Maggiore Disconnect Logging - Questa impostazione consente la registrazione delle chiamate che ricevono un segnale CONGESTIONE con un codice a causa di 1, 19, 21, 34 o 38. Noi di solito non consigliamo di abilitare questa negli Stati Uniti. Il default è 0 per disabili. +

    @@ -8201,6 +8591,26 @@ if ($ADD==99999)
    Contatti Enabled - Questa impostazione consente ai Contatti sotto-sezione in Admin che consente al gestore di aggiungere modificare o cancellare i contatti nel sistema che possono essere utilizzati come parte di un trasferimento personalizzato in una campagna in cui un agente può cercare i contatti in base al nome Cognome o in ufficio numero e quindi selezionare uno dei tanti numeri associati a tale contatto. Questa funzione viene spesso utilizzata dagli operatori o funzioni del quadro in cui l'utente avrebbe bisogno di trasferire una chiamata a un non-agent telefono. Il default è 0 per disabili. +
    +
    +
    + Chiamata Menu Qualificati Enabled - Questa impostazione abilita l'opzione nel menu di chiamata per mettere una qualifica SQL sulle persone che ascoltano quel menu chiamata. Per ulteriori informazioni sul funzionamento di tale funzione, vedere la Guida per la chiamata dei menu. Il default è 0 per disabili. + +
    +
    +
    + Livello 8 Disattiva Aggiungi - Questa impostazione, se attivata impedisce qualsiasi livello 8 all'utente di aggiungere o copiare qualsiasi record nel sistema, non importa ciò che i loro impostazioni utente sono. Sono escluse da queste restrizioni sono la possibilità di aggiungere i numeri di telefono DNC e filtro Gruppi e la pagina Aggiungi un nuovo piombo. Il default è 0 per disabili. + +
    +
    +
    + Lista Conti Admin - Questa impostazione consente di disabilitare la lista conta che compaiono negli elenchi elenco e gli schermi modify Campagna. Il default è 1 per abilitato. + +
    +
    +
    + Consenti email - Questo è dove si può impostare se questo sistema sarà in grado di ricevere e-mail in entrata, oltre alle telefonate. +

    @@ -8366,6 +8776,16 @@ if ($ADD==99999)
    Telefono Telefono QueueMetrics Ambiente Append - Questa opzione, se attivata, aggiungere il login telefono dell'agente al record data4 nella tabella log coda se il telefono campo Campagna ambiente è popolato. Il default è 0 per disabili. +
    +
    +
    + QueueMetrics Socket Invia - Questa opzione, se attivata, invierà i dati QM ad una pagina web che lo invierà attraverso una presa per il logging. L'opzione CONNECT_COMPLETE invierà CONNECT, COMPLETEAGENT e COMPLETECALLER eventi all'URL definito di seguito. Il valore predefinito è NONE per disabili. + +
    +
    +
    + QueueMetrics Socket Invia URL - Se invio socket è abilitato in precedenza, questo è l'URL che viene utilizzato per inviare i dati. Predefinito è vuoto per disabili. +

    @@ -8449,7 +8869,110 @@ if ($ADD==99999)



    + 0) + { + ?> + Account di posta elettronica VICIDIAL

    +
    +
    + The Vicidial Account di posta elettronica management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE. +
    +
    +
    + Email ID account - Questo è il nome breve dell'account di posta elettronica, non è modificabile dopo la presentazione iniziale, non deve contenere spazi e deve essere compresa tra 2 e 20 caratteri di lunghezza. + +
    +
    +
    + Email Nome account - Questo è il nome completo dell'account di posta elettronica, deve essere compresa tra 2 e 30 caratteri di lunghezza. + +
    +
    +
    + Attivo - Questo determina se questo account sarà controllata per i nuovi messaggi e-mail per essere caricato nel combinatore. + +
    +
    +
    + Email Account Descrizione - This allows for a lengthy description, if needed, of the email account. 255 characters max. + +
    +
    +
    + Email Tipo di account - Specifies whether the account is used for inbound or outbound email messages. Should be set to INBOUND. + +
    +
    +
    + Admin Gruppo Utente - Questo è il gruppo utente amministrativo per questo gruppo in entrata, questo permette la visualizzazione di questa amministrazione in-gruppo limitato dal gruppo di utenti. Il default è - ALL - che permette a qualsiasi utente amministratore per visualizzare questo gruppo. + +
    +
    +
    + Email Account protocollo - This is the email protocol used by the account you are setting up access to. Currently only IMAP and POP3 accounts are supported. + +
    +
    +
    + Email Indirizzo di risposta - The email address of the account you are setting up access to. Replies to email messages from the agent interface will read as coming from this address. + +
    +
    +
    + Email Account Server - Il server di posta elettronica che l'account è ospitato su. + +
    +
    +
    + Email Account Utente - The login used to access this account. Usually it's the portion of the reply-to address before the -at- symbol. + +
    +
    +
    + Email Password account - The password used to access this account. This is usually set at the time the email account is created. + +
    +
    +
    + Email Frequency Check Rate (mins) - How often this email account should be checked. The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time. + +
    +
    +
    + ID In-Group - L'In-Group che i messaggi di posta elettronica verranno inviati al. + +
    +
    +
    + Predefinito ID List - L'ID lista che porta sarà inserito se necessario. + +
    +
    +
    + In-chiamata di gruppo maniglia Metodo - This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into vicidial_list as a new lead. EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "ID In-Group campagna" box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the "ID In-Group List" box below. + +
    +
    +
    + Agente in-Gruppo Ricerca Metodo - Il metodo di ricerca agente per essere utilizzato dal gruppo in entrata, LO è a carico bilanciato-Overflow e cercherà di inviare la chiamata di un agente sul server locale prima di provare a inviarlo a un agente su un altro server, LB è a carico bilanciato e cercherà di inviare la chiamata all'agente successivo non importa quale server sono connessi, così è solo server e sarà solo provare a inviare le chiamate agli agenti sul server che la chiamata è venuto in su. Il default è LB. IS THIS NECESSARY? + +
    +
    +
    + ID In-Group List - Questa è l'ID elenco che verrà utilizzato per la ricerca di una corrispondenza all'interno. + +
    +
    +
    + ID In-Group campagna - Questa è l'ID campagna che verrà utilizzato per la ricerca di una corrispondenza all'interno. + + + + +



    + VICIDIAL CUSTOM TEMPLATE MAKER


    @@ -8496,7 +9019,7 @@ if ($ADD==99999) Massimo sistema Statistiche Rapporti


    - Queste statistiche sono memorizzate nella cache totali che vengono memorizzati nel corso di ogni giorno in tempo reale attraverso processi back-end. Per le chiamate in entrata, le chiamate totali per in-gruppo sono calcolati per ciascuna chiamata che entra nel processo che calcola. Per i conti tutto il sistema, i totali sono generati da voci di registro così come altre totali in gruppo e campagna. I totali potrebbero non corrispondere a causa delle impostazioni che avete nel vostro sistema, nonché quando la chiamata viene riagganciato. + Queste statistiche sono memorizzate nella cache totali che vengono memorizzati nel corso di ogni giorno in tempo reale attraverso processi back-end. Per le chiamate in entrata, le chiamate totali per in-gruppo sono calcolati per ciascuna chiamata che entra nel processo che calcola. Per i conti tutto il sistema, i totali sono generati da voci di registro così come altre totali in gruppo e campagna. I totali potrebbero non corrispondere a causa delle impostazioni che avete nel vostro sistema, nonché quando la chiamata viene riagganciato. QC VICIDIAL Codici di stato


    - The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + The Controllo di qualità-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. +



    + Rapporti

    + +
    +
    + Agente Time Dettagliata - In this report you can view how much time agents spent on what.
    + TIME CLOCK = Time the agent been logged in to the time clock.
    + AGENT TIME = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + PAUSE = Time the agent is in pause mode (LOGIN + LAGGED + ...).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + - The next table is pause codes and their time.
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +
    +
    + Agent Status Dettagliata - In this report you can view what and how many statuses has been selected by the agents.
    + CALLS = Total number of calls sent to the user.
    + CIcalls = Total number of call where there was a Umani Risposta which is set under "Admin" -> "System Esiti".
    + DNC/CI% = How much in percent DNC (Do Not Call) per Umani Rispostas.
    + And the rest is just Esiti di Defaultthat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Esiti".
    + +
    +
    + Agent Performance Dettagliata - This is a combination of Agente Time Dettagliata and Agent Status Dettagliata.
    + (Statistics related to handling of calls only)
    + CALLS = Total number of calls sent to the user.
    + TIME = Total time of these (PAUSE + WAIT + TALK + DISPO).
    + PAUSE = Amount of time being paused in related to call handling.
    + AVG means Average so everything -AVG is for example amount of PAUSE-time divided by total number of calls: (PAUSE / CALLS = PAUSAVG)
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + And the rest is just Esiti di Defaultthat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Esiti".
    + - Next table is Codici Pausa.
    + TOTALE = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + NONPAUSE = Everything except pause (WAIT + TALK + DISPO).
    + PAUSE = Only Pause.
    + - The last table is pause codes and their time (like "Agente Time Dettagliata").
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +















    @@ -8581,7 +9157,7 @@ if ($ADD==73) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -8594,11 +9170,19 @@ if ($ADD==73) echo "FILTRO: $lead_filter_id
    \n"; echo "CALL LIMIT: $call_count_limit\n"; echo "CALL TIME: $local_call_time

    \n"; + echo "With Filter:\n"; + echo "

    \n"; ### call function to calculate and print dialable leads $single_status=0; dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,$fSQL); + echo "

    \n"; + echo "Without Filter:\n"; + echo "

    \n"; + + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,''); + echo "

    \n"; echo "\n"; @@ -8690,6 +9274,7 @@ if ($ADD==7111111) $agent_log_id = 'agent_log_id'; $entry_list_id = 'entry_list_id'; $call_id = 'call_id'; + $user_group = 'user_group'; echo "\n"; echo "\n"; @@ -8841,6 +9426,7 @@ if ($ADD==7111111) $script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); $script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); $script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); + $script_text = eregi_replace('--A--user_group--B--',"$user_group",$script_text); $script_text = eregi_replace("\n","
    ",$script_text); @@ -9049,7 +9635,7 @@ if ($ADD==11) echo "\n"; echo "$NWB#vicidial_campaigns-user_group$NWE\n"; echo "
  • \n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) { @@ -9116,6 +9702,7 @@ if ($ADD==11) echo "\n"; + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -9236,7 +9823,7 @@ if ($ADD==111) } else { - echo "\n"; + echo "\n"; } echo "\n"; echo "\n"; @@ -9275,6 +9862,9 @@ if ($ADD==111) if ($ADD==121) { + ### filter for DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); + echo "
    Valg af landområde

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Viderestilling tilrådighid for agenter: < -
          AGENT OPKALD LOG:             close [X]
    +
          agent opkaldslog:             lukke [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Viderestilling tilrådighid for agenter: < -
          Søg efter en kontaktperson:             close [X]
    +
          Søg efter en kontaktperson:             lukke [X]

    \n";} + {echo "

    \n";} ?>

    Bemærkninger: når du laver en søgning efter en kontakt, der er wildcard eller delvis søgetermer ikke tilladt.
    Kontakt søgeanmodninger er alle logget ind i systemet. @@ -13679,31 +15230,31 @@ Viderestilling tilrådighid for agenter: <
    - + - + - + - + - + - + - + - + - +
    Office Number: kontor nummer:
    Første Name: fornavn:
    Sidste Name: efternavn:
    BU Name: firmanavn:
    Department: afdeling:
    Group Name: gruppenavn:
    Job Títel: stillingsbetegnelse:
    Location: location:

    INDSEND SEARCH             nulstille formular

    Afsend søgning             nulstille formular


      @@ -13711,10 +15262,10 @@ Viderestilling tilrådighid for agenter: < -
          KONTAKT SØGERESULTATER:             close [X]
    +
          KONTAKT SØGERESULTATER:             lukke [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Viderestilling tilrådighid for agenter: < - @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          Søg efter en LEAD:             close [X]
    + \n";} ?> - + 0) + {echo "\n";} + ?> +
          Søg efter en LEAD:             lukke [X]

    \n";} + {echo "

    \n";} ?>

    Bemærkninger: når du laver en søgning efter en bly, telefonnummer, fører ID eller er de bedste felter til at anvende.
    Brug de andre felter kan være langsommere. Bly søgning tillader ikke jokertegn eller delvis søgetermer.
    Bly søgeanmodninger er alle logget ind i systemet. @@ -13733,10 +15284,10 @@ Viderestilling tilrådighid for agenter: <
    - + - + - + @@ -13765,7 +15316,7 @@ Viderestilling tilrådighid for agenter: < - +
    Telefon Number: telefonnummer:
    Telefon Number Fields: telefonnummer felter: Main Telefonnummer Alternativ Telefonnummer @@ -13744,7 +15295,7 @@ Viderestilling tilrådighid for agenter: <
    Lead ID: lede id:
    : :

    INDSEND SEARCH             nulstille formular

    Afsend søgning             nulstille formular


      @@ -13773,34 +15324,34 @@ Viderestilling tilrådighid for agenter: < -
          SØGERESULTATER:             close [X]
    +
          SØGERESULTATER:             lukke [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH πράκτορας VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Διευθυντής sends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, ΣΤΑΘΜΕΥΣΗ, FROMΣΤΑΘΜΕΥΣΗ, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("θα πρέπει να επιλέξετε έναν πράκτορα να μεταφέρει κατά τη χρήση agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Αρπαγμα"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Στάθμευση"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Αρπαγμα"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Στάθμευση"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Αρπαγμα"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Στάθμευση"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Αρπαγμα"; - if (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Στάθμευση"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move στο to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (ΕπίθετοCallbackCount < CBcounT) || (ΕπίθετοCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - ΕπίθετοCallbackCount = CBcounT; - ΕπίθετοCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (ΕπίθετοCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - ΕπίθετοCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          OPKALD NOTER LOG:             close [X]
    + +
          OPKALD NOTER LOG:             lukke [X]

    \n";} + {echo "

    \n";} ?> -
    Ring Notat List
    +
    Ring Notes List


      - Luk Info Boks + Luk Info Boks
    -
          Kunde information:             close [X] + "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          Kunde information:             lukke [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Viderestilling tilrådighid for agenter: < \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    VÆLG EN PAUSEKODE :

    \n";} + {echo "

    \n";} ?> Pause Code Selection @@ -13824,7 +15375,7 @@ Viderestilling tilrådighid for agenter: < --> @@ -518,7 +519,7 @@ $URLsubmit = $URLarray[0]; --> \n"; @@ -1719,7 +1748,7 @@ echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    Vælg en forudindstillet :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Viderestilling tilrådighid for agenter: <
    VÆLG ET GRUPPE ALIAS :

    \n";} + {echo "

    \n";} ?> Gruppe alias valg @@ -13843,6 +15394,18 @@ Viderestilling tilrådighid for agenter: <
    + +
    vælge et dial-in-gruppen :
    +
    \n";} + ?> + ringe ind-gruppen Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Viderestilling tilrådighid for agenter: <
    + +
    anden live agent session var åben ved hjælp af din bruger-id. Det er blevet deaktiveret. klik ok for at fortsætte til agenten skærmen.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Viderestilling tilrådighid for agenter: < exit; -?> \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_dk/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_dk/voicemail_check.php index 757f443d..1d8e134b 100644 --- a/agc_2-X/trunk/LANG_www/agc_dk/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_dk/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Ikke gyldigt Brugernavn/Password: |$user|$pass|\n"; - exit; + echo "Ikke gyldigt Brugernavn/Password: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ikke gyldigt server_ip: |$server_ip| or Ikke gyldigt session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Voicemail check"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Voicemail check"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "voicemail box $vmail_box er ikke valid\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_el/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_el/active_list_refresh.php index 6e776225..c36367b3 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_el/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ακυρο session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Κατάλογος Οθόνης: "; -if ($ADD==1) {echo "Ενεργές τηλ. συνδέσεις";} -if ($ADD==2) {echo "Απασχολημένες τηλ. συνδέσεις";} -if ($ADD==3) {echo "Εξωτερικές γραμμές";} -if ($ADD==4) {echo "Τοπικές τηλ. συνδέσεις";} -if ($ADD==5) {echo "Διασκέψεις";} -if ($ADD==99999) {echo "ΒΟΗΘΕΙΑ";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Κατάλογος Οθόνης: "; + if ($ADD==1) {echo "Ενεργές τηλ. συνδέσεις";} + if ($ADD==2) {echo "Απασχολημένες τηλ. συνδέσεις";} + if ($ADD==3) {echo "Εξωτερικές γραμμές";} + if ($ADD==4) {echo "Τοπικές τηλ. συνδέσεις";} + if ($ADD==5) {echo "Διασκέψεις";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_el/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_el/astguiclient.php index affd95a5..c483a1e5 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_el/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Εγγραφή"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Εγγραφή"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "ΕΝΕΡΓΕΣ ΚΛΗΣΕΙΣ ΣΕ ΑΥΤΟ ΤΟ ΤΗΛΕΦΩΝΟ:
    "; + var live_calls_HTML = "ΕΝΕΡΓΕΣ ΚΛΗΣΕΙΣ ΣΕ ΑΥΤΟ ΤΟ ΤΗΛΕΦΩΝΟ:
    #ΚΑΝΑΛΙ ΠΕΛΑΤΩΝΑΠΟΜΑΚΡΟ ΚΑΝΑΛΙRECORDΚΛΕΙΣΙΜΟXFERΣΤΑΘΜΕΥΣΗ
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Εγγραφήbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Τερματισμός Ηχογράφησης";} else - {live_calls_HTML = live_calls_HTML + "Εγγραφή";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "ΣΥΝΔΙΑΣΚΕΨΗ " + head_conf + "    Συμμετέχεις: " + head_reg + "   " + reglink + "         Συμμετοχή
    Ανανέωση     Εγγραφή         Στείλε DTMF         Κλήση από συνψη
    "; + var conf_head_HTML = "ΣΥΝΔΙΑΣΚΕΨΗ " + head_conf + "    Συμμετέχεις: " + head_reg + "   " + reglink + "         Συμμετοχή
    Ανανέωση     Record         Στείλε DTMF         Κλήση από συνψη
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    #ΚΑΝΑΛΙ ΠΕΛΑΤΩΝΑΠΟΜΑΚΡΟ ΚΑΝΑΛΙRECORDΚΛΕΙΣΙΜΟXFERPARK
    ΚΛΕΙΣΙΜΟXFERΣΤΑΘΜΕΥΣΗ
    ΚΛΕΙΣΙΜΟXFERPARK
    "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK ανωμαλίας

    Active Trunks Menu
    Κλείσιμο Κορμού   |   Κλέψιμο Κορμού   |   diff --git a/agc_2-X/trunk/LANG_www/agc_el/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_el/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_el/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_el/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_el/call_log_display.php index 82094f00..4a97dd77 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_el/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ακυρο session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Έμφάνιση Καταγραμμένων Κλήσεων"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Έμφάνιση Καταγραμμένων Κλήσεων"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten δεν ισχύει ή πρωτόκολλο $protocol δεν ισχύει\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_el/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_el/conf_exten_check.php index 87b7f1eb..341405d2 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_el/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF πράκτορας IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Κατάσταση: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_el/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_el/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_el/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_el/functions.php b/agc_2-X/trunk/LANG_www/agc_el/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_el/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_el/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_el/inbound_popup.php index 9ca72157..8ac4be01 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_el/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_el/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_el/live_exten_check.php index efaa90cf..fc492f34 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_el/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ακυρο session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Ελεγχος ενεργής τηλ.σύνδεσης"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Ελεγχος ενεργής τηλ.σύνδεσης"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten δεν ισχύει ή πρωτόκολλο $protocol δεν ισχύει\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_el/manager_send.php b/agc_2-X/trunk/LANG_www/agc_el/manager_send.php index fac00c24..fab5160a 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_el/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "ΒΟΗΘΕΙΑ";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Δεν επιτρέπεται να καλέσετε σε άλλες συνεδρίες χειριστή $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate εντολή που στέλνεται για Exten $exten Κανάλι $channel στο $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='ΣΤΑΘΜΕΥΣΗED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='ΣΤΑΘΜΕΥΣΗ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='ΣΤΑΘΜΕΥΣΗ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='ΣΤΑΘΜΕΥΣΗ_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRΣΤΑΘΜΕΥΣΗED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRΣΤΑΘΜΕΥΣΗ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRΣΤΑΘΜΕΥΣΗ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context πρέπει να τεθεί\n"; echo "ext_priority $ext_priority πρέπει να τεθεί\n"; echo "\nRedirect Action μην σταλμένος\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Δεν υπάρχει κενή διάσκεψη στο $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Δεν υπάρχει κενή διάσκεψη στο $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel δεν είναι ενεργό στο $call_server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel δεν είναι ενεργό στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect εντολή που δεν έγινε εισαγωγή\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX εντολή που στέλνεται για Κανάλι $channel στο $call_server_ip and \nHungup $extrachannel στο $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel στο $call_server_ip, Hungup $extrachannel στο $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel στο $call_server_ip, Hungup $extrachannel στο $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel στο $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel στο $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority πρέπει να τεθεί\n"; echo "session_id $session_id πρέπει να τεθεί\n"; echo "\nRedirect Action μην σταλμένος\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Δεν υπάρχει κενή διάσκεψη στο $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Δεν υπάρχει κενή διάσκεψη στο $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel δεν είναι ενεργό στο $call_server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel δεν είναι ενεργό στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra εντολή που στέλνεται για Κανάλι $channel and \nExtraChannel $extrachannel\n to $exten στο $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten στο $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten στο $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra εντολή που στέλνεται για Κανάλι $channel στο $call_server_ip and \nExtraChannel $extrachannel\n to $exten στο $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going στο in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_el/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_el/park_calls_display.php index 7de9fabb..b8569f49 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_el/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_el/phone_only.php b/agc_2-X/trunk/LANG_www/agc_el/phone_only.php index 66a229f1..094253e7 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_el/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the Σύνδεση τηλεφώνου $clientDST = '1'; # set to 1 to check for DST στο server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link στο the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Τηλ web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Ελληνικά
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Τηλ-Only Σύνδεση
     
    Σύνδεση χρήστη:
    Κωδικός πρόσβασης χρήστη:
      \n"; + echo "

    ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Τηλ web client: Σύνδεση Τηλεφώνου\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Ελληνικά
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Τηλ-Only Σύνδεση
     
    Σύνδεση Τηλεφώνου:
    Κωδικός πρόσβασης Τηλεφώνου:
      \n"; + echo "

    ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Τηλ web client: Σύνδεση Τηλεφώνου\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Timeclock
    \n";} - echo "\n"; + {echo " Timeclock
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Ελληνικά
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Τηλ-Only Σύνδεση
     
    Σύνδεση Τηλεφώνου:
    Κωδικός πρόσβασης Τηλεφώνου:
      \n"; - echo "

    ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
    \n"; - echo "
    \n\n"; +echo "
    English Ελληνικά
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Τηλ-Only Σύνδεση
     
    Σύνδεση Τηλεφώνου:
    Κωδικός πρόσβασης Τηλεφώνου:
      \n"; + echo "

    ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_el/timeclock.php b/agc_2-X/trunk/LANG_www/agc_el/timeclock.php index 91c93f47..ebf71bbc 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_el/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_el/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_el/vdc_db_query.php index ffd65486..e75f98e0 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_el/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLeadΚατάσταση"])) {$CallBackLeadΚατάσταση=$_GET["CallBackLeadΚατάσταση"];} - elseif (isset($_POST["CallBackLeadΚατάσταση"])) {$CallBackLeadΚατάσταση=$_POST["CallBackLeadΚατάσταση"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Ακυρο Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Διεύθυνση Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Κεντρικός υπολογιστής Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Κεντρικός υπολογιστής Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF πράκτορας IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF πράκτορας IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Διευθυντής Σύνδεση:
    \n"; $VDdisplayMESSAGE.= "Διευθυντής Κωδικός πρόσβασης:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC ΑΡΙΘΜΟΣ\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC ΑΡΙΘΜΟΣ\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC ΑΡΙΘΜΟΣ\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST ΚΛΗΣΗ TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST ΚΛΗΣΗ TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP τελευταίος NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN τελευταίος NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP τελευταία κλήση TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN τελευταία κλήση TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Σχόλια + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Σχόλια + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Τηλ and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "τηλεφώνου και μετά του χρόνου κωδικό αναντιστοιχία ζώνη! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append στην εκστρατεία $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # ΚΛΗΣΗOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # ΚΛΗΣΗOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings στην εκστρατεία $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " ΚΛΗΣΗ NOT PLACED\nDNC ΑΡΙΘΜΟΣ\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " ΚΛΗΣΗ NOT PLACED\nDNC ΑΡΙΘΜΟΣ\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " ΚΛΗΣΗ NOT PLACED\nΑΡΙΘΜΟΣ NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "ΔΕΝ ΕΓΙΝΕ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΑΤΑΓΡΑΦΗ ΓΕΓΟΝΟΤΩΝ\n"; echo "uniqueid $uniqueid or lead_id: $lead_id δεν ισχύει\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Σχόλια + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Σχόλια + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Εκστρατεία $campaign δεν ισχύει\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups στο vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row στο selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send στο to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user στο $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Εκστρατεία $campaign δεν ισχύει or lead_id $lead_id δεν ισχύει\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Σχόλια + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Σχόλια + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send στο to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user στο $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-στην εκστρατεία as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Σχόλια Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Ηλεκτρονικό ταχυδρομείο feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLeadΚατάσταση) > 0) {$log_dispo_choice = $CallBackLeadΚατάσταση;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### ΚΛΗΣΗBACK ENTRY + ### επανάκλησης ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadΚατάσταση');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Σημειώσεις Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Σημειώσεις Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' έχει αλλαχτεί ' . $dispo_choice . " Κατάσταση\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' έχει αλλαχτεί ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserΤΑΞΙΝ[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserΤΑΞΙΝ[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserΤΑΞΙΝ); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserΤΑΞΙΝ[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -ΕΤΟΙΜΟ      -Incall      -ΠΑΥΣΗ  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Εμφάνιση Κλήσεων στην Ουρά απενεργοποιημένη για αυτή την εκστρατεία\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info στο the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "πάμε       "; + echo " κοντά "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     τηλέφωνο     ονοματεπώνυμο     περιμένετε     πράκτορας           ΚΛΗΣΗ GROUP     TYPE     καλέστε την ομάδα     τύπος  
    TAKE ΚΛΗΣΗ  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "error: θα πρέπει να εισάγετε όρους αναζήτησης, ένα από αυτά πρέπει να είναι πυκνοκατοικημένη: μόλυβδος id, id πωλητή, τον αριθμό τηλεφώνου, το επώνυμο\n"; echo "

    "; echo "Επιστροφή"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     Ημερομηνία\/ώρα     μήκος     ΚΑΤΑΣΤΑΣΗ     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     τηλέφωνο     ονοματεπώνυμο     εκστρατεία     μέσα και έξω     αναπληρωματικό     ανωμαλίας     info     ΚΛΗΣΗ  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL info ΚΛΗΣΗ ΚΛΗΣΗ
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "error: υπήρχε ένα πρόβλημα με δικούς σας όρους αναζήτησης\n"; echo "

    "; echo "Επιστροφή"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "error: θα πρέπει να εισάγετε όρους αναζήτησης, μία από αυτές θα πρέπει να συμπληρωθεί: αριθμός του γραφείου, το επώνυμο, το όνομα\n"; echo "

    "; echo "Επιστροφή"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "error: υπήρχε ένα πρόβλημα με δικούς σας όρους αναζήτησης\n"; echo "

    "; echo "Επιστροφή"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no οδηγήσει id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Τίτλος'; + $label_title = ' Τίτλος'; $label_first_name = 'Πρώτο'; $label_middle_initial = 'MI'; - $label_last_name = 'Επίθετο'; + $label_last_name = 'Επίθετο '; $label_address1 = 'Διεύθυνση1'; $label_address2 = 'Διεύθυνση2'; $label_address3 = 'Διεύθυνση3'; $label_city = 'Πόλη'; - $label_state = 'Κράτος'; + $label_state = ' Κράτος'; $label_province = 'Επαρχία'; $label_postal_code = 'Ταχ.Κωδ.'; $label_vendor_lead_code = 'ID προμηθευτού'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Τηλ'; $label_phone_code = 'Κωδικός Κλήσης'; $label_alt_phone = 'Εναλ/κό Τηλ'; $label_security_phrase = 'Παρουσίαση'; - $label_email = 'Ηλεκτρονικό ταχυδρομείο'; - $label_comments = 'Σχόλια'; + $label_email = ' Ηλεκτρονικό ταχυδρομείο'; + $label_comments = ' Σχόλια'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Τηλ and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "τηλεφώνου και μετά του χρόνου κωδικό αναντιστοιχία ζώνη! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     ονοματεπώνυμο     τηλέφωνο     ΚΑΤΑΣΤΑΣΗ     LAST ΚΛΗΣΗ     CITY     STATE     ZIP     INFO     τελευταία κλήση     πόλη     κατάσταση     zip     info     ΚΛΗΣΗ  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL info ΚΛΗΣΗ ΚΛΗΣΗ επιλέξτε
      #     FIRST NAME     LAST NAME     τελευταίος NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       τοποθεσία: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Αποκαλούμενος Since Επίθετο Reset:   $row[4]
    Χρονική ζώνη:   $row[3]
    ζήτησε από τον τελευταίο μηδενισμό:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " ΚΛΗΣΗ ";} + else + {$INFOout .= " ΚΛΗΣΗ ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    dial link:   ΚΛΗΣΗ ";} + else + {$INFOout .= "
    dial link:   ΚΛΗΣΗ ";} } $INFOout .= "
    επιλέξτε αυτό το προβάδισμα
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " ΚΛΗΣΗ ";} + else + {$INFOout .= " ΚΛΗΣΗ ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Αποκαλούμενος Count:   $row[24]
    Επίθετο Local Call Time:   $row[25]
    αριθμό των κλήσεων:   $row[24]
    τελευταία τοπική ώρα κλήσης:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Ηλεκτρονικό ταχυδρομείο log + if ($allow_emails>0) + { + $NOTESout .= "
    log email για αυτό το προβάδισμα:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     Ημερομηνία\/ώρα     πράκτορας     μήκος     ΚΑΤΑΣΤΑΣΗ     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     τηλέφωνο     εκστρατεία     μέσα και έξω     αναπληρωματικό     ανωμαλίας  
      FULL NAME     ονοματεπώνυμο  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   Ημερομηνία\/ώρα   πράκτορας   εκστρατεία   email στο   συνημμένα
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Ηλεκτρονικό ταχυδρομείο Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Εμφάνιση Κλήσεων στην Ουρά απενεργοποιημένη για αυτή την εκστρατεία\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "αγνώστων κωδικό αιτία ανωμαλίας."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_el/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_el/vdc_email_display.php new file mode 100644 index 00000000..1f58db93 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_el/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Ακυρο File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" στο the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    συνημμένα:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    συνημμένα:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_el/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_el/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_el/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_el/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_el/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_el/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_el/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_el/vdc_script_notes.php index 1ec78d25..13e4fa74 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_el/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Τίτλος'; +$label_title = 'Title'; $label_first_name = 'Πρώτο'; $label_middle_initial = 'MI'; -$label_last_name = 'Επίθετο'; +$label_last_name = 'Last'; $label_address1 = 'Διεύθυνση1'; $label_address2 = 'Διεύθυνση2'; $label_address3 = 'Διεύθυνση3'; $label_city = 'Πόλη'; -$label_state = 'Κράτος'; +$label_state = 'State'; $label_province = 'Επαρχία'; $label_postal_code = 'Ταχ.Κωδ.'; $label_vendor_lead_code = 'ID προμηθευτού'; @@ -264,8 +265,8 @@ $label_phone_number = 'Τηλ'; $label_phone_code = 'Κωδικός Κλήσης'; $label_alt_phone = 'Εναλ/κό Τηλ'; $label_security_phrase = 'Παρουσίαση'; -$label_email = 'Ηλεκτρονικό ταχυδρομείο'; -$label_comments = 'Σχόλια'; +$label_email = 'Email'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Σημειώσεις"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *Εναλ/κό Τηλ: *
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // τηλέφωνο OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Εκστρατεία: $camp_form_code
      \n"; + echo "
      \n"; echo "

    ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Κωδικός πρόσβασης Τηλεφώνου:

    ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END Σύνδεση τηλεφώνου load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a ΝΕΟ record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today στο that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Κωδικός πρόσβασης:
    \n"; echo "Εκστρατεία: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Φεβρουάριος','February','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος', +$Cmonths = Array('0','Φεβρουάριος','February','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος', 'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLeadΚατάσταση = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var ΕπίθετοCallCID=''; - var ΕπίθετοCallbackCount=0; - var ΕπίθετοCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Επανάληψη\""; var DiaLControl_auto_HTML_ready = "\"\"Επανάληψη\""; var DiaLControl_auto_HTML_OFF = "\"\"Επανάληψη\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "συναγερμού είναι"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "ειδοποίηση είναι απενεργοποιημένη"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'ΣΤΑΘΜΕΥΣΗ_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("AgentΚατάστασηΚατάσταση").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("AgentΚατάστασηCalls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("AgentΚατάστασηDiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,7 +4498,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("Κατάσταση: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'ΣΤΑΘΜΕΥΣΗ_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'ΣΤΑΘΜΕΥΣΗ_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'ΣΤΑΘΜΕΥΣΗ_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLeadΚατάσταση = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbCOMMENTS; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadΚατάσταση + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "σημειώνοντας
    px\">\">" + var CB_HTML = "
    # ΚΛΗΣΗBACK DATE/TIMEΑΡΙΘΜΟΣINFONAME ΚΑΤΑΣΤΑΣΗCAMPAIGNLAST ΗΜΕΡΟΜΗΝΙΑ/ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΚΛΗΣΗ ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - ΕπίθετοCallbackViewed=1; - ΕπίθετοCallbackCount = (ΕπίθετοCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Ψευδώνυμο Ομάδας: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Κάντε κλικ εδώ για να Επιλέξτε ένα Ψευδώνυμο Ομάδας"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "καλέσουν ομάδα: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "κάντε κλικ εδώ για να επιλέξετε μια σύνδεση μέσω τηλεφώνου στην ομάδα"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     κάντε κλικ εδώ για να ενεργοποιήσετε"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while στο inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Σχόλια (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Σχόλια + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS επανάκλησης "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Τελευταία Κλήση: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Επανάκληση: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Χειριστής: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Σχολιασμός:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Γρήγορη"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Γρήγορη"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Σελίδα\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Σελίδα\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     κάντε κλικ εδώ για να απενεργοποιήσετε"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     κάντε κλικ εδώ για να ενεργοποιήσετε"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Αποκαλούμενος: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Στάθμευση"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Τέλος χρόνος της κλήσης, να έρθετε σε επαφή με το διαχειριστή\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Κλήση"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Στάθμευση"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Κλήση"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Κλήση"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - ΕπίθετοCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("ΚΕΝΟΣ HOPPER","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Δεν υπάρχουν άλλοι οδηγοί στον hopper για την εκστρατεία:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Αυτός ο αριθμός τηλεφώνου δεν είναι στις λίστες της εκστρατεία:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Αυτός ο αριθμός τηλεφώνου είναι έξω από την τοπική ώρα κλήσης:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Απροσδιόριστο σφάλμα:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Κλήση"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Επανάληψη\"
    \"Κλήση"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("ΚΕΝΟΣ HOPPER","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Δεν υπάρχουν άλλοι οδηγοί στον hopper για την εκστρατεία:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Αυτός ο αριθμός τηλεφώνου δεν είναι στις λίστες της εκστρατεία:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Αυτός ο αριθμός τηλεφώνου είναι έξω από την τοπική ώρα κλήσης:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Απροσδιόριστο σφάλμα:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Κλήση"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Σε Κλήση: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Σελίδα\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Σελίδα\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS ΚΛΗΣΗBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Τελευταία Κλήση: " + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Επανάκληση: " + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Χειριστής: " + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Σχολιασμός:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Κλείσιμο"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Επανάληψη\"
    \"Κλήση"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Σχόλια (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Σχόλια + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Σε Κλήση: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Σελίδα\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Σελίδα\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS επανάκλησης "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Τελευταία Κλήση: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Επανάκληση: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Χειριστής: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Σχολιασμός:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Κλείσιμο"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,7 +7755,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: αναπληρωματικό ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: 3ΔΙΕΥΘΥΝΣΗ ";} var REGalt_dial = new RegExp("X","g"); @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + ΕπίθετοCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - ΕπίθετοCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " ΚΛΗΣΗ NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - ΕπίθετοCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Σχόλια (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Σχόλια + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS ΚΛΗΣΗBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS επανάκλησης "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Τελευταία Κλήση: " + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Επανάκληση: " + CBcallback_time; @@ -7677,7 +8444,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: αναπληρωματικό ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: 3ΔΙΕΥΘΥΝΣΗ ";} var REGalt_dial = new RegExp("X","g"); @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Στάθμευση"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Εισερχόμενο: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add στο all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS ΚΛΗΣΗ PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Εισερχόμενο: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS επανάκλησης "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Τελευταία Κλήση: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Επανάκληση: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Χειριστής: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Σχολιασμός:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: αναπληρωματικό ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: 3ΔΙΕΥΘΥΝΣΗ ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " ΕΝΑΛΛ ΑΡΙΘΜΟΣ ΚΛΗΣΗΣ: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Τηλεφωνικός Αριθμός και Κωδικός: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Αλλαγή του αριθμού τηλεφώνου σε Ανενεργό";} + else + {EAactive_link = "Αλλαγή του αριθμού τηλεφώνου σε Ενεργό";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Ενεργό:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Εναλλ Μετρητής:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Σημειώσεις:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Εισερχόμενο: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Στάθμευση"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Κλείσιμο"; + + document.getElementById("XferControl").innerHTML = "\"Μεταφορά"; + + document.getElementById("LocalCloser").innerHTML = "\"ΤΟΠΙΚΟΣ"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Τυφλή"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Γρήγορη"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Γρήγορη"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Προσαρμοσμένη"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Επανάληψη\"
    \"Κλήση"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Σελίδα\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Σελίδα\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Εισερχόμενο: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Σελίδα"; } document.getElementById("ParkControl").innerHTML = "\"Στάθμευση"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallΣημειώσειςContent").innerHTML = "
    Καλέστε Σημειώσεις:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Καλέστε Σημειώσεις:
    "; } else { - document.getElementById("PerCallΣημειώσειςContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("ΘΑ ΠΡΕΠΕΙ ΝΑ ΠΑΥΣΗ Για να αναζητήσετε ένα ΜΟΛΥΒΔΟΥ"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("ΘΑ ΠΡΕΠΕΙ ΝΑ ΠΑΥΣΗ Για να αναζητήσετε ένα ΜΟΛΥΒΔΟΥ"); + alert_box("θα πρέπει να είναι σε μια ενεργή εισερχόμενη κλήση για να αναζητήσετε ένα προβάδισμα"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the καλέσουν ομάδα Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # επανάκλησης Ημερομηνία\/ώρα ΑΡΙΘΜΟΣ info ονοματεπώνυμο ΚΑΤΑΣΤΑΣΗ εκστρατεία τελευταίος ΗΜΕΡΟΜΗΝΙΑ/ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΚΛΗΣΗ αναπληρωματικό
    καλέσουν ομάδα
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Επιστροφή"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadΚατάσταση=" + CallBackLeadΚατάσταση + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLeadΚατάσταση = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error στο this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " ελαχιστοποιήστε "; document.getElementById("DispoSelectHAspan").innerHTML = "Ξανακλήσε"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "επόμενη παύση κλήσης"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + ΕπίθετοCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - ΕπίθετοCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the καλέσουν ομάδα + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "καλέσουν ομάδα: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they κοντά their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Your Shift is over or has changed, you have been logged out of your session

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or κοντά the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or κοντά the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or κοντά the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("ΘΑ ΠΡΕΠΕΙ ΝΑ ΠΑΥΣΗ Για να αναζητήσετε ένα ΜΟΛΥΒΔΟΥ"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Ανανέωση the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLΣημειώσειςDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Ανανέωση the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause στο the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "επόμενη παύση κλήσης Set"; + } + + // ################################################################################ // Παρουσίαση the groups selection span function OpeNGrouPSelectioN() @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLeadΚατάσταση = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLeadΚατάσταση = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "dial ειδοποιεί:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('ΧρήστηςBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLΣημειώσειςDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,17 +13259,19 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallΣημειώσειςButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('AgentΚατάστασηCalls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('AgentΚατάστασηSpan');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Εγχειρίδιο ουρά είναι εκτός λειτουργίας
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ΣΤΑΘΜΕΥΣΗ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentViewΚατάσταση',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY ανωμαλίας " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "ΟΜΆΔΕΣ     \n";} ?> ΑΠΟΣΥΝΔΕΣΗ\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    ID εργασίας:     Ενεργή κλήση
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; ΠΡΟΒΟΛΗ ΟΔΗΓΟΥ
    ΚΛΗΣΗ ENAΛ/ΚΟΥ ΤΗΛΕΦΩΝΟΥ
    + επόμενη παύση κλήσης
    + + Εναρξη ηχογράφισης

    Σελίδα Διαδικτύου
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Στάθμευση Κλήσης
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Πληροφορίες Πελάτη:         ΜΟΛΥΒΔΟΣ ΑΝΑΖΗΤΗΣΗ";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Καλέστε Σημειώσεις: "; if ($agent_call_log_view == '1') - {echo "
    δείτε τις σημειώσεις ";} + {echo "
    δείτε τις σημειώσεις ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "συναγερμού είναι";} else - {echo "Alert is OFF";} + {echo "ειδοποίηση είναι απενεργοποιημένη";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -ΠΛΗΚΤΡΑ ΚΛΕΙΔΙΑ ΑΝΕΝΕΡΓΑ - - δευτερόλεπτα:     @@ -13130,8 +14648,8 @@ $zi=2;
    - -Your Κατάσταση:
    Calls Dialing: + +Your Status:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -Άλλη Κατάσταση Χειριστών:  
     
    +Άλλη Κατάσταση Χειριστών:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +επαναφέρετε μορφή + + + +refresh @@ -13374,6 +14904,23 @@ if ($agent_display_dialable_leads > 0)
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +ΠΛΗΚΤΡΑ ΚΛΕΙΔΙΑ ΑΝΕΝΕΡΓΑ + + + + + px height='px'> + + + + + + +
    δείτε το ιστορικό σχόλιο:
    +
    + @@ -13447,7 +14994,7 @@ if ($agent_display_dialable_leads > 0) -
    Η σύνοδός σας έχει τεθεί εκτός λειτουργίας
    ΑΠΟΣΥΝΔΕΣΗ

    Επιστροφή +
    Η σύνοδός σας έχει τεθεί εκτός λειτουργίας
    ΑΠΟΣΥΝΔΕΣΗ

    @@ -13476,18 +15023,18 @@ if ($agent_display_dialable_leads > 0)
    Τερματισμός Κλήσης :       Ξανακλήσε       ελαχιστοποιήστε

    \n";} + {echo "

    \n";} ?> - + Επιλογή τερματισμού της κλήσης
    ΤΕΡΜΑΤΙΣΜΟΣ ΚΛΗΣΗΣ
    ΕΠΑΝΑΦΟΡΑ | ΥΠΟΒΑΛΕΤΕ

    - WEB FORM ΥΠΟΒΑΛΕΤΕ + ιστοσελίδα μορφή υποβάλλει

     
    @@ -13496,7 +15043,7 @@ if ($agent_display_dialable_leads > 0)
    Επιλέξτε μια ημερομηνία CallBack :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ if ($agent_display_dialable_leads > 0)

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ if ($agent_display_dialable_leads > 0) -
    ΝΕΑ ΧΕΙΡΟΚΙΝΗΤΗ ΚΛΗΣΗ ΟΔΗΓΟΥ ΓΙΑ :

    Καταχωρήστε τις πληροφορίες παρακάτω για τον νέο οδηγό που επιθυμήτε να καλέσετε. + - + @@ -13613,7 +15164,7 @@ if ($agent_display_dialable_leads > 0)
    ΝΕΑ ΧΕΙΡΟΚΙΝΗΤΗ ΚΛΗΣΗ ΟΔΗΓΟΥ ΓΙΑ :

    Καταχωρήστε τις πληροφορίες παρακάτω για τον νέο οδηγό που επιθυμήτε να καλέσετε.
    \n"; } @@ -13578,9 +15125,9 @@ if ($agent_display_dialable_leads > 0)
    Κωδικός Κλήσης:   (Αυτό είναι συνήθως ένα 1 στις ΗΠΑ)
    Τηλ Number: αριθμός τηλεφώνου: -   (digits only) +   (μόνο ψηφία) @@ -13593,6 +15140,10 @@ if ($agent_display_dialable_leads > 0)

        +

    +     +

    +


    Εάν θέλετε να καλέσετε έναν αριθμό και να μην προστεθεί ως νέος οδηγός, καταχωρήστε τον με την σωστή μορφή στο πεδίο Αγνόησε Κλήση παρακάτω. Για να κλείσετε αυτή την κλήση θα πρέπει να ανοίξετε το ΚΛΗΣΕΙΣ ΣΕ ΑΥΤΗ ΤΗΝ ΔΙΑΙΔΚΑΣΙΑ στο κάτω μέρος της οθόνης και να την κλείσετε επιλέγοντας το κανάλι.
     
    CLOSER ΕΙΣΕΡΧΟΜΕΝΗ ΕΠΙΛΟΓΗ ΟΜΑΔΑΣ

    \n";} + {echo "

    \n";} ?> Επιλογή Closer εισερχόμενης ομάδας
    @@ -13635,7 +15186,7 @@ if ($agent_display_dialable_leads > 0)
    ΕΠΙΛΟΓΗ ΕΔΑΦΟΣ

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ if ($agent_display_dialable_leads > 0) -
          AGENT ΚΛΗΣΗ LOG:             close [X]
    +
          παράγοντα καταγραφής κλήσεων:             κοντά [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ if ($agent_display_dialable_leads > 0) -
          Αναζήτηση επαφής:             close [X]
    +
          Αναζήτηση επαφής:             κοντά [X]

    \n";} + {echo "

    \n";} ?>

    Σημειώσεις: όταν κάνετε μια αναζήτηση για μια επαφή, δεν επιτρέπεται μπαλαντέρ ή μερική όρους αναζήτησης.
    Τα αιτήματα αναζήτησης Επικοινωνία όλοι συνδεδεμένοι στο σύστημα. @@ -13679,31 +15230,31 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + - + - + - + - + - + - +
    Office Number: αριθμός γραφείων:
    Πρώτο Name: όνομα:
    Επίθετο Name: επώνυμο:
    BU Name: εμπορική επωνυμία:
    Department: Τμήμα:
    Group Name: το όνομα της ομάδας:
    Job Τίτλος: τίτλος θέσης εργασίας:
    Location: τοποθεσία:

    ΥΠΟΒΑΛΕΤΕ SEARCH             επαναφέρετε μορφή

    υποβολή αναζήτησης             επαναφέρετε μορφή


      @@ -13711,10 +15262,10 @@ if ($agent_display_dialable_leads > 0) -
          ΕΠΙΚΟΙΝΩΝΙΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΝΑΖΗΤΗΣΗΣ:             close [X]
    + @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          ΕΠΙΚΟΙΝΩΝΙΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΝΑΖΗΤΗΣΗΣ:             κοντά [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ if ($agent_display_dialable_leads > 0) - \n";} ?> - + 0) + {echo "\n";} + ?> +
          Αναζήτηση ΜΟΛΥΒΔΟΥ:             close [X]
    +
          Αναζήτηση ΜΟΛΥΒΔΟΥ:             κοντά [X]

    \n";} + {echo "

    \n";} ?>

    Σημειώσεις: όταν κάνετε μια αναζήτηση για το μόλυβδο, τον αριθμό τηλεφώνου, να οδηγήσει ταυτότητας ή είναι τα καλύτερα πεδία για να χρησιμοποιήσετε.
    Χρησιμοποιώντας τα άλλα πεδία μπορεί να είναι βραδύτερη. Ο μόλυβδος έρευνα δεν επιτρέπει μπαλαντέρ ή μερική όρους αναζήτησης.
    Οι επικεφαλής όλων των αιτημάτων αναζήτησης συνδεδεμένοι στο σύστημα. @@ -13733,10 +15284,10 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + @@ -13765,7 +15316,7 @@ if ($agent_display_dialable_leads > 0) - +
    Τηλ Number: αριθμός τηλεφώνου:
    Τηλ Number Fields: πεδία αριθμού τηλεφώνου: Κύρια Τηλέφωνο Αναπληρωτής Τηλέφωνο @@ -13744,7 +15295,7 @@ if ($agent_display_dialable_leads > 0)
    Lead ID: οδηγήσει id:
    : :

    ΥΠΟΒΑΛΕΤΕ SEARCH             επαναφέρετε μορφή

    υποβολή αναζήτησης             επαναφέρετε μορφή


      @@ -13773,34 +15324,34 @@ if ($agent_display_dialable_leads > 0) - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Directorsends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, RETENER, FROMRETENER, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("Debe seleccionar un AGENTE PARA TRANSFERIR A AL USAR AGENTDIRECT"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Capturar"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Retener"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Capturar"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Retener"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Capturar"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_RETENER_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Retener"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_RETENER_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Capturar"; - if (ivr_park_call=='ENABLED_RETENER_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Retener"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_RETENER_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move en to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (ÚltimoCallbackCount < CBcounT) || (ÚltimoCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - ÚltimoCallbackCount = CBcounT; - ÚltimoCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (ÚltimoCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - ÚltimoCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΝΑΖΗΤΗΣΗΣ:             close [X]
    +
          ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΝΑΖΗΤΗΣΗΣ:             κοντά [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - -
          Σημειώσεων μητρώου κλήσεων:             close [X]
    + +
          Σημειώσεων μητρώου κλήσεων:             κοντά [X]

    \n";} + {echo "

    \n";} ?> -
    Καλέστε Σημειώσεις Λίστα
    +
    Καλέστε Σημειώσεις Λίστα


      - Κλείσιμο Πληροφορίες + Κλείσιμο Πληροφορίες
    - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          Πληροφορίες Πελάτη:             close [X] + \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          Πληροφορίες Πελάτη:             κοντά [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ if ($agent_display_dialable_leads > 0) --> @@ -518,7 +519,7 @@ $URLsubmit = $URLarray[0]; --> \n"; @@ -1719,7 +1748,7 @@ echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    ΕΠΙΛΕΞΤΕ έναν ΚΩΔΙΚΟ ΓΙΑ ΣΥΝΤΟΜΗ ΔΙΑΚΟΠΗ :

    \n";} + {echo "

    \n";} ?> Παύση Code Selection @@ -13824,7 +15375,7 @@ if ($agent_display_dialable_leads > 0) "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    Επιλέξτε ένα προκαθορισμένο :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ if ($agent_display_dialable_leads > 0)
    ΕΠΙΛΕΞΤΕ ΕΝΑ ΨΕΥΔΩΝΥΜΟ ΟΜΑΔΑΣ :

    \n";} + {echo "

    \n";} ?> Επιλογή Ψευδώνυμο Ομάδας @@ -13843,6 +15394,18 @@ if ($agent_display_dialable_leads > 0)
    + +
    επιλέξτε μια κλήση στην ομάδα :
    +
    \n";} + ?> + καλέσουν ομάδα Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ if ($agent_display_dialable_leads > 0)
    + +
    μια άλλη ζωντανή συνεδρία παράγοντα που χρησιμοποιούν ανοικτού όνομα χρήστη σας. έχει απενεργοποιηθεί. κάντε κλικ στο κουμπί OK για να συνεχίσετε στην οθόνη παράγοντα.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ if ($agent_display_dialable_leads > 0) exit; -?> \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php index 085ba6e5..cf9a32d9 100644 --- a/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_el/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; - exit; + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Έλεγχος φωνητικού ταχυδρομείου"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Έλεγχος φωνητικού ταχυδρομείου"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "Κουτί φωνητικού ταχυδρομείου $vmail_box δεν ισχύει\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_es/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_es/active_list_refresh.php index 0bf8883d..7a6ca55f 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_es/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Despliegue de listas: "; -if ($ADD==1) {echo "Extensiones activas";} -if ($ADD==2) {echo "Extensiones ocupadas";} -if ($ADD==3) {echo "Líneas de salida";} -if ($ADD==4) {echo "Extensiones Locales";} -if ($ADD==5) {echo "Conferencias";} -if ($ADD==99999) {echo "AYUDA";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Despliegue de listas: "; + if ($ADD==1) {echo "Extensiones activas";} + if ($ADD==2) {echo "Extensiones ocupadas";} + if ($ADD==3) {echo "Líneas de salida";} + if ($ADD==4) {echo "Extensiones Locales";} + if ($ADD==5) {echo "Conferencias";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_es/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_es/astguiclient.php index a415ae44..e1299632 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_es/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Grabar"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Grabar"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "LLAMADAS ACTIVAS EN ESTE TELÉFONO:
    "; + var live_calls_HTML = "LLAMADAS ACTIVAS EN ESTE TELÉFONO:
    #CANAL DEL CLIENTECANAL REMOTORECORDCOLGARTRANSFERENCIARETENER
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Grabarbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Detener la grabación";} else - {live_calls_HTML = live_calls_HTML + "Grabar";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "CONFERENCIA " + head_conf + "    Registrado a: " + head_reg + "   " + reglink + "         Entrar a la conferencia
    Recargar     Grabar         Enviar DTMF         Marcar desde la conferencia
    "; + var conf_head_HTML = "CONFERENCIA " + head_conf + "    Registrado a: " + head_reg + "   " + reglink + "         Entrar a la conferencia
    Recargar     Record         Enviar DTMF         Marcar desde la conferencia
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); diff --git a/agc_2-X/trunk/LANG_www/agc_es/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_es/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_es/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_es/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_es/call_log_display.php index 195892ab..d97e47a0 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_es/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Desplegar el registro de llamadas"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Desplegar el registro de llamadas"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten No es válido o protocolo $protocol No es válido\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_es/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_es/conf_exten_check.php index 0fe43c0c..ca477947 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_es/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF AGENTE IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Estado: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_es/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_es/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_es/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_es/functions.php b/agc_2-X/trunk/LANG_www/agc_es/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_es/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_es/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_es/inbound_popup.php index 8e39e920..c9859e99 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_es/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "\n"; echo "\n";echo "\n"; echo "
    #CANAL DEL CLIENTECANAL REMOTORECORDCOLGARTRANSFERENCIAPARK
    COLGARTRANSFERENCIARETENER
    COLGARTRANSFERENCIAPARK
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_es/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_es/live_exten_check.php index fd358459..a25a57c3 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_es/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Revisar la extensión activa"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Revisar la extensión activa"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten No es válido o protocolo $protocol No es válido\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_es/manager_send.php b/agc_2-X/trunk/LANG_www/agc_es/manager_send.php index 1e4fcf71..cd720989 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_es/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "AYUDA";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR No está autorizado para marcar en sesiones de otro agente $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate comando enviado para Exten $exten Canal $channel en $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='RETENERED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='RETENER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='RETENER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='RETENER_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRRETENERED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRRETENER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRRETENER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context debe ser fijo\n"; echo "ext_priority $ext_priority debe ser fijo\n"; echo "\nRedirect Action no se envió\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference en $server_ip, Redirect No se ingresó el comando\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No puede encontrar una conferencia vacía en $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No puede encontrar una conferencia vacía en $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel no está activo en $call_server_ip, Redirect No se ingresó el comando\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel no está activo en $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel no está activo en $server_ip, Redirect No se ingresó el comando\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel no está activo en $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect No se ingresó el comando\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX comando enviado para Canal $channel en $call_server_ip and \nHungup $extrachannel en $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel en $call_server_ip, Hungup $extrachannel en $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel en $call_server_ip, Hungup $extrachannel en $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel en $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel en $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority debe ser fijo\n"; echo "session_id $session_id debe ser fijo\n"; echo "\nRedirect Action no se envió\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference en $server_ip, Redirect No se ingresó el comando\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No puede encontrar una conferencia vacía en $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No puede encontrar una conferencia vacía en $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel no está activo en $call_server_ip, Redirect No se ingresó el comando\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel no está activo en $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel no está activo en $server_ip, Redirect No se ingresó el comando\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel no está activo en $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando enviado para Canal $channel and \nExtraChannel $extrachannel\n to $exten en $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten en $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten en $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando enviado para Canal $channel en $call_server_ip and \nExtraChannel $extrachannel\n to $exten en $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going en in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_es/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_es/park_calls_display.php index 8a4b8dcc..fefe5a76 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_es/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_es/phone_only.php b/agc_2-X/trunk/LANG_www/agc_es/phone_only.php index 923ebeeb..a1011921 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_es/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the Iniciar sesión telefónica $clientDST = '1'; # set to 1 to check for DST en server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link en the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Teléfono web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Reloj checador
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Español
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Teléfono-Only Inicio de sesión
     
    Inicio de sesión del usuario:
    Contraseña del usuario:
      \n"; + echo "

    VERSIÓN: $version       CONSTRUCCIÓN: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Teléfono web client: Inicio de sesión del teléfono\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Reloj checador
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Español
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Teléfono-Only Inicio de sesión
     
    Inicio de sesión del teléfono:
    Contraseña del teléfono:
      \n"; + echo "

    VERSIÓN: $version       CONSTRUCCIÓN: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Teléfono web client: Inicio de sesión del teléfono\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Reloj checador
    \n";} - echo "\n"; + {echo " Reloj checador
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Español
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Teléfono-Only Inicio de sesión
     
    Inicio de sesión del teléfono:
    Contraseña del teléfono:
      \n"; - echo "

    VERSIÓN: $version       CONSTRUCCIÓN: $build
    \n"; - echo "
    \n\n"; +echo "
    English Español
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Teléfono-Only Inicio de sesión
     
    Inicio de sesión del teléfono:
    Contraseña del teléfono:
      \n"; + echo "

    VERSIÓN: $version       CONSTRUCCIÓN: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_es/timeclock.php b/agc_2-X/trunk/LANG_www/agc_es/timeclock.php index e3081812..596647d0 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_es/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_es/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_es/vdc_db_query.php index 90cf9d5b..923bdf27 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_es/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLeadEstado"])) {$CallBackLeadEstado=$_GET["CallBackLeadEstado"];} - elseif (isset($_POST["CallBackLeadEstado"])) {$CallBackLeadEstado=$_POST["CallBackLeadEstado"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Inválido Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Dirección Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Servidor Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Servidor Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF AGENTE IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF AGENTE IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "DirectorInicio de sesión:
    \n"; $VDdisplayMESSAGE.= "DirectorContraseña:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NÚMERO\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NÚMERO\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NÚMERO\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST LLAMADA TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST LLAMADA TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP ÚLTIMO NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN ÚLTIMO NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP ÚLTIMA LLAMADA TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN ÚLTIMA LLAMADA TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentarios + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentarios + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Teléfono and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "Teléfono y código de tiempo del anuncio coinciden Zone! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append en la campaña $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # LLAMADAOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # LLAMADAOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings en la campaña $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " LLAMADA NOT PLACED\nDNC NÚMERO\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " LLAMADA NOT PLACED\nDNC NÚMERO\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " LLAMADA NOT PLACED\nNÚMERO NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "NO SE INGRESÓ EL REGISTRO\n"; echo "uniqueid $uniqueid or lead_id: $lead_id No es válido\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentarios + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentarios + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaña $campaign No es válido\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups en vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row en selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send en to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user en $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaña $campaign No es válido or lead_id $lead_id No es válido\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentarios + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentarios + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send en to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user en $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-en la campaña as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Comentarios Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Correo electrónico feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLeadEstado) > 0) {$log_dispo_choice = $CallBackLeadEstado;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### LLAMADABACK ENTRY + ### VOLVER A LLAMAR ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadEstado');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Notas Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Notas Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' se ha cambiado a ' . $dispo_choice . " Estado\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' se ha cambiado a ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDEN[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDEN[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserORDEN); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserORDEN[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -LISTO      -INCALL      -PAUSA  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "La vista de llamadas en cola se desactivó para esta campaña\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info en the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,20 +10536,20 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "IR       "; + echo " cerrar "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     TELÉFONO     NOMBRE     EL TIEMPO DE ESPERA     AGENTE           LLAMADA GROUP     TYPE     LLAME GRUPO     EL TIPO DE LLAMADA  
    TAKE LLAMADA  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "ERROR: Debe introducir los términos de búsqueda, una de ellas debe ser poblada: ID plomo, ID de proveedor, número de teléfono, el apellido\n"; echo "

    "; echo "Regresar"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,13 +10915,13 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     FECHA \/ HORA     LARGO     ESTADO     PHONE     FULL NAME     CAMPAIGN     IN/OUT     TELÉFONO     NOMBRE     CAMPAÑA     IN\/OUT     ALT     HANGUP     INFO   $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL INFO MARCAR MARCAR
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "ERROR: Hubo un problema con los términos de búsqueda\n"; echo "

    "; echo "Regresar"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "ERROR: Debe introducir los términos de búsqueda, uno de ellos deben estar siempre ocupados: número de oficina, apellido, nombre\n"; echo "

    "; echo "Regresar"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "ERROR: Hubo un problema con los términos de búsqueda\n"; echo "

    "; echo "Regresar"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no Número de registro(Lead ID)";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Título'; + $label_title = ' Título'; $label_first_name = 'Primero'; $label_middle_initial = 'MI'; - $label_last_name = 'Último'; + $label_last_name = 'Último '; $label_address1 = 'Dirección1'; $label_address2 = 'Dirección2'; $label_address3 = 'Dirección3'; $label_city = 'Ciudad'; - $label_state = 'Estado'; + $label_state = ' Estado'; $label_province = 'Provincia'; $label_postal_code = 'CódigoPostal'; $label_vendor_lead_code = 'ID del vendedor'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Teléfono'; $label_phone_code = 'Código de marcación'; $label_alt_phone = 'Teléfono alternativo'; $label_security_phrase = 'Mostrar'; - $label_email = 'Correo electrónico'; - $label_comments = 'Comentarios'; + $label_email = ' Correo electrónico'; + $label_comments = ' Comentarios'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Teléfono and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "Teléfono y código de tiempo del anuncio coinciden Zone! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     NOMBRE     TELÉFONO     ESTADO     LAST LLAMADA     CITY     STATE     ZIP     ÚLTIMA LLAMADA     CIUDAD     ESTADO     CÓDIGO POSTAL     INFO     MARCAR  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL INFO MARCAR MARCAR SELECCIONAR
      #     FIRST NAME     LAST NAME     ÚLTIMO NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Ubicación: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Llamado Since Último Reset:   $row[4]
    Zona Horaria:   $row[3]
    Llamado desde el último reinicio:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " MARCAR ";} + else + {$INFOout .= " MARCAR ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    Marque Enlace:   MARCAR ";} + else + {$INFOout .= "
    Marque Enlace:   MARCAR ";} } $INFOout .= "
    Seleccione esta LEAD
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " MARCAR ";} + else + {$INFOout .= " MARCAR ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Llamado Count:   $row[24]
    Último Local Call Time:   $row[25]
    Llamado conde:   $row[24]
    Última Hora local llamada:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Correo electrónico log + if ($allow_emails>0) + { + $NOTESout .= "
    EMAIL REGISTRO PARA ESTE CABLE:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     FECHA \/ HORA     AGENTE     LARGO     ESTADO     PHONE     CAMPAIGN     IN/OUT     TELÉFONO     CAMPAÑA     IN\/OUT     ALT     HANGUP  
      FULL NAME     NOMBRE  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   FECHA \/ HORA   AGENTE   CAMPAÑA   correo electrónico a   ACCESORIOS
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Correo electrónico Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: La vista de llamadas en cola se desactivó para esta campaña\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "Unidentified Colgar Código Causa."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_es/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_es/vdc_email_display.php new file mode 100644 index 00000000..8a5fc6ed --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_es/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Inválido File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" en the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    Adjuntos:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    Adjuntos:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_es/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_es/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_es/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_es/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_es/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_es/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_es/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_es/vdc_script_notes.php index 42865030..eb7f0e51 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_es/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Título'; +$label_title = 'Title'; $label_first_name = 'Primero'; $label_middle_initial = 'MI'; -$label_last_name = 'Último'; +$label_last_name = 'Last'; $label_address1 = 'Dirección1'; $label_address2 = 'Dirección2'; $label_address3 = 'Dirección3'; $label_city = 'Ciudad'; -$label_state = 'Estado'; +$label_state = 'State'; $label_province = 'Provincia'; $label_postal_code = 'CódigoPostal'; $label_vendor_lead_code = 'ID del vendedor'; @@ -264,8 +265,8 @@ $label_phone_number = 'Teléfono'; $label_phone_code = 'Código de marcación'; $label_alt_phone = 'Teléfono alternativo'; $label_security_phrase = 'Mostrar'; -$label_email = 'Correo electrónico'; -$label_comments = 'Comentarios'; +$label_email = 'Email'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Notas"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *Teléfono alternativo: *
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // TELÉFONO OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Campaña: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSIÓN: $version       CONSTRUCCIÓN: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Contraseña del teléfono:

    VERSIÓN: $version       CONSTRUCCIÓN: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END Iniciar sesión telefónica load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NUEVO record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today en that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Contraseña:
    \n"; echo "Campaña: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Enero','February','Marzo','Abril','Mayo','Junio', +$Cmonths = Array('0','Enero','February','Marzo','Abril','Mayo','Junio', 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLeadEstado = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var ÚltimoCallCID=''; - var ÚltimoCallbackCount=0; - var ÚltimoCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Retomar\""; var DiaLControl_auto_HTML_ready = "\"\"Retomar\""; var DiaLControl_auto_HTML_OFF = "\"\"Retomar\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "Alerta está activado"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "Alerta está apagado"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'RETENER_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'RETENER_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'RETENER_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'RETENER_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'RETENER_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'RETENER_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'RETENER_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'RETENER_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'RETENER_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'RETENER_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'RETENER_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("AgentEstadoEstado").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("AgentEstadoCalls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("AgentEstadoDiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,7 +4498,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("Estado: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'RETENER_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'RETENER_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'RETENER_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLeadEstado = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbCOMMENTS; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadEstado + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "grabación
    px\">\">" + var CB_HTML = "
    # LLAMADABACK DATE/TIMENÚMEROINFONAME ESTADOCAMPAIGNLAST FECHA/HORA DE LA LLAMADA MARCAR ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - ÚltimoCallbackViewed=1; - ÚltimoCallbackCount = (ÚltimoCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Alias de grupo: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Haga click aquí para escoger un alias de grupo"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Marque En-Group: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "Pinchar aquí para elejir una llamada en-Group"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Haga clic aquí para activar"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while en inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Comentarios (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Comentarios + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS VOLVER A LLAMAR "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última llamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Servicio de devolución de llamada:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentarios:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"TRANSFERENCIA"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"TRANSFERENCIA"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Formulario\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulario\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Haga clic aquí para desactivar"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Haga clic aquí para activar"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Llamado: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Retener"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_RETENER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Tiempo de espera superado, contacte al administrador del sistema\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Marcar"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Marcar"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Marcar"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Marcar"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - ÚltimoCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("FILA DE MARCACIÓN VACÍO","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("No hay más contactos en la fila de marcación de la campaña:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Este número telefónico no está en las listas de la campaña:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Este número de teléfono se encuentra fuera del tiempo de las llamadas locales:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Error no especificado:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Marcar"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Retomar\"
    \"Marcar"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("FILA DE MARCACIÓN VACÍO","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("No hay más contactos en la fila de marcación de la campaña:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Este número telefónico no está en las listas de la campaña:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Este número de teléfono se encuentra fuera del tiempo de las llamadas locales:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Error no especificado:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Marcar"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Llamando: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Formulario\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulario\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS LLAMADABACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Última llamada:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Servicio de devolución de llamada:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Comentarios:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Colgar"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Retomar\"
    \"Marcar"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Comentarios (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Comentarios + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Llamando: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Formulario\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulario\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS VOLVER A LLAMAR "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última llamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Servicio de devolución de llamada:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentarios:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Colgar"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + ÚltimoCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - ÚltimoCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " LLAMADA NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - ÚltimoCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Comentarios (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Comentarios + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS LLAMADABACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS VOLVER A LLAMAR "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Última llamada:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Servicio de devolución de llamada:" + CBcallback_time; @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Retener"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_RETENER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Entrante: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add en all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS LLAMADA PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS VOLVER A LLAMAR "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última llamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Servicio de devolución de llamada:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentarios:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE MARCACIÓN ALTERNATIVA: ALT ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE MARCACIÓN ALTERNATIVA: DIRECCIÓN3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " NÚMERO DE MARCACIÓN ALTERNATIVA: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Código y número telefónicos: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Cambiar este número telefónico a INACTIVOS";} + else + {EAactive_link = "Cambiar este número telefónico a ACTIVOS";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Activo:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Cuenta alternativa: " + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Notas:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Retener"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Colgar"; + + document.getElementById("XferControl").innerHTML = "\"Transferir"; + + document.getElementById("LocalCloser").innerHTML = "\"VERIFICADOR"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Enviar"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"TRANSFERENCIA"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"TRANSFERENCIA"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Custom"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Retomar\"
    \"Marcar"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Formulario\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulario\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Entrante: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulario"; } document.getElementById("ParkControl").innerHTML = "\"Retener"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_RETENER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallNotasContent").innerHTML = "
    Notas de la llamada:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Notas de la llamada:
    "; } else { - document.getElementById("PerCallNotasContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("USTED DEBE SER DETENIDO PARA BUSCAR A PLOMO"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("USTED DEBE SER DETENIDO PARA BUSCAR A PLOMO"); + alert_box("Usted debe estar en una llamada entrante ACTIVO PARA BUSCAR A PLOMO"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the Marque En-Group Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # VOLVER A LLAMAR FECHA \/ HORA NÚMERO INFO NOMBRE ESTADO CAMPAÑA ÚLTIMO FECHA/HORA DE LA LLAMADA MARCAR ALT
    MARCAR EN GRUPO
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Regresar"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadEstado=" + CallBackLeadEstado + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLeadEstado = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error en this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimizar "; document.getElementById("DispoSelectHAspan").innerHTML = "Colgar de nuevo"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "Siguiente llamada Pausa"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + ÚltimoCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - ÚltimoCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the Marque En-Group + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Marque En-Group: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they cerrar their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Su turno se terminó o cambió, se ha cerrado su sesión

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or cerrar the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or cerrar the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or cerrar the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("USTED DEBE SER DETENIDO PARA BUSCAR A PLOMO"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Recargar the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLNotasDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Recargar the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause en the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "Siguiente llamada Pausa Set"; + } + + // ################################################################################ // Mostrar the groups selection span function OpeNGrouPSelectioN() @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLeadEstado = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLeadEstado = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "MARCAR ALERTA:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('BienvenidoBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLNotasDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,17 +13259,19 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallNotasButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('AgentEstadoCalls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('AgentEstadoSpan');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Manual de la cola está Desactivado
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_RETENER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentViewEstado',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPOS     \n";} ?> CERRAR SESIÓN\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    ID de sesión:     Llamada activa
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; VISUALIZAR EL CONTACTO
    MARCAR AL TELÉFONO ALTERNATIVO
    + Siguiente llamada Pausa
    + + Comenzar la Grabación

    Formulario Web
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Retener la llamada
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Información del cliente:         PERSPECTIVA BUSCAR";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Notas de la llamada: "; if ($agent_call_log_view == '1') - {echo "
    ver las notas ";} + {echo "
    ver las notas ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "Alerta está activado";} else - {echo "Alert is OFF";} + {echo "Alerta está apagado";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -TECLAS ACCESO RÁPIDO INACTIVAS - - segundos:     @@ -13130,8 +14648,8 @@ $zi=2;
    - -Su Estado:
    Calls Dialing: + +Su Estado:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -Estado de otros agentes:  
     
    +Estado de otros agentes:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +Nueva búsqueda + + + +refresh @@ -13374,6 +14904,23 @@ Transferencia a los agentes disponibles: <
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +TECLAS ACCESO RÁPIDO INACTIVAS + + + + + px height='px'> + + + + + + +
    Ver comentario Historia:
    +
    + @@ -13447,7 +14994,7 @@ Transferencia a los agentes disponibles: < -
    Se ha inhabilitado su sesión
    CERRAR SESIÓN

    Regresar +
    Se ha inhabilitado su sesión
    CERRAR SESIÓN

    @@ -13476,18 +15023,18 @@ Transferencia a los agentes disponibles: <
    DISPOSICIÓN DEL ESTADO DE LA LLAMADA :       Colgar de nuevo       minimizar

    \n";} + {echo "

    \n";} ?> - + Selección de la disposición de fin de llamada
    PAUSAR LA MARCACIÓN DEL AGENTE
    ELIMINAR EL FORMULARIO | INGRESAR

    - WEB FORM INGRESAR + PÁGINA DEL PRESENTE

     
    @@ -13496,7 +15043,7 @@ Transferencia a los agentes disponibles: <
    Seleccione una fecha para devolver la llamada :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ Transferencia a los agentes disponibles: <

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Transferencia a los agentes disponibles: < - "; $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $print_ctp++; } + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + } else { @@ -1477,7 +1498,7 @@ if (ereg('O',$with_inbound)) { $multi_drop++; - $stmt="select agent_pause_codes_active from vicidial_campaigns $group_SQLwhere;"; + $stmt="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' $group_SQLand;"; $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; @@ -1614,6 +1635,8 @@ else $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where active='Y' $group_SQLand;"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where calls_today > -1 $non_inboundSQL;"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' $group_SQLand;"; } else { @@ -1627,12 +1650,16 @@ else $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active,list_order_mix,auto_hopper_level from vicidial_campaigns where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN ($group_SQL,$closer_campaignsSQL);"; } else { $stmt="select avg(auto_dial_level),max(dial_status_a),max(dial_status_b),max(dial_status_c),max(dial_status_d),max(dial_status_e),max(lead_order),max(lead_filter_id),max(hopper_level),max(dial_method),max(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),max(available_only_ratio_tally),max(adaptive_latest_server_time),max(local_call_time),max(dial_timeout),max(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where campaign_id IN($group_SQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN($group_SQL);"; } } if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} @@ -1658,10 +1685,12 @@ else $CALLtime = $row[16]; $DIALtimeout = $row[17]; $DIALstatuses = $row[18]; - $agent_pause_codes_active = $row[19]; $DIALmix = $row[20]; $AHOPlev = $row[21]; + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; $stmt="select count(*) from vicidial_hopper $group_SQLwhere;"; $rslt=mysql_query($stmt, $link); @@ -2143,6 +2172,7 @@ while($p<$k) if ($CDcall_type[$p] == 'IN') { $G=""; $EG=''; + $Ccampaign_id="$Ccampaign_id"; } if (strlen($CDagent_only[$p]) > 0) {$Gcalltypedisplay = "$G$Cagent_only$EG";} @@ -2257,7 +2287,7 @@ $HTpause = ''; $HDigcall = "------+------------------"; $HTigcall = " HOLD | IN-GROUP "; -if (!ereg("N",$agent_pause_codes_active)) +if ($agent_pause_codes_active > 0) { $HDstatus = "----------"; $HTstatus = " STATUS "; @@ -2331,8 +2361,10 @@ else if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} } -if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} +if ( !preg_match("/ALL-/",$LOGallowed_campaigns) ) {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} +else if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} else {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} + if (strlen($usergroup)<1) {$usergroupSQL = '';} else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} @@ -2560,7 +2592,7 @@ $talking_to_print = mysql_num_rows($rslt); $comments= $Acomments[$i]; $calls_today = sprintf("%-5s", $Acalls_today[$i]); - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) {$pausecode=' ';} else {$pausecode='';} @@ -2580,7 +2612,7 @@ $talking_to_print = mysql_num_rows($rslt); } else { - if (!ereg("$Acallerid[$i]\|",$callerids)) + if (!ereg("$Acallerid[$i]\|",$callerids) && !eregi("EMAIL",$comments)) { $Acall_time[$i]=$Astate_change[$i]; @@ -2596,6 +2628,8 @@ $talking_to_print = mysql_num_rows($rslt); { if (eregi("INBOUND",$comments)) {$CM='I';} + else if (eregi("EMAIL",$comments)) + {$CM='E';} else {$CM='M';} } @@ -2676,7 +2710,7 @@ $talking_to_print = mysql_num_rows($rslt); } if ($Lstatus=='PAUSED') { - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) { $twentyfour_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-24,date("i"),date("s"),date("m"),date("d"),date("Y"))); $stmtC="select sub_status from vicidial_agent_log where agent_log_id >= \"$Aagent_log_id[$i]\" and user='$Luser' order by agent_log_id desc limit 1;"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/admin.php b/agc_2-X/trunk/LANG_www/vicidial_fr/admin.php index cdaef2d6..56985444 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/admin.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/admin.php @@ -1,9 +1,11 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,6 +72,8 @@ $reports_font = 'BLACK'; $cts_font = 'BLACK'; $subcamp_font = 'BLACK'; +### QC font and color variables +require_once('qc/QC_admin_variables.php'); ### comment this section out for colorful section headings $users_color = '#E6E6E6'; $campaigns_color = '#E6E6E6'; @@ -105,9 +109,9 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $QUERY_STRING = getenv("QUERY_STRING"); -$Vreports = "NONE, Real-Time Main Report, Real-Time Campagne Summary , Entrant Report, Entrant Service Level Report, Entrant Résumé Hourly Report, Entrant Daily Report, Entrant DID Report, Entrant IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listes Statuts De Campagne Report, Campagne Status List Report, Appels d'exportation Rapport, Pistes d'exportation Rapport , Agent Time Détails, Agent Status Détail, Agent Performance Détail, Team Performance Détail, Single Agent Daily , UtilisateurHorloge en temps Report, Groupe utilisateurHorloge en temps Status Report, UtilisateurHorloge en temps Rapport détaillé , Server Performance Report, Administration Change Log, List Update Stats, Statistiques utilisateur, Utilisateur Feuille de temps, Download List, Dialer Rapport d'inventaire, Maximum System Stats, Maximum Stats Détail, Search Leads Logs"; +$Vreports = 'NONE, Real-Time Main Report, Real-Time Campagne Summary , Entrant Report, Entrant Service Level Report, Entrant Résumé Hourly Report, Entrant Daily Report, Entrant DID Report, Entrant IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listes Statuts De Campagne Report, Campagne Status List Report, Appels d exportation Rapport, Pistes d exportation Rapport , Agent Time Détails, Agent Status Détail, Agent Performance Détail, Team Performance Détail, Single Agent Daily, Groupe utilisateur Login Report, UtilisateurHorloge en temps Report, Groupe utilisateurHorloge en temps Status Report, UtilisateurHorloge en temps Rapport détaillé , Server Performance Report, Administration Change Log, List Update Stats, Statistiques utilisateur, Utilisateur Feuille de temps, Download List, Dialer Rapport d inventaire, Maximum System Stats, Maximum Stats Détail, Search Leads Logs, Email Log Report, Rapport Connexion Transporteur, Campagne Debug, Hangup Cause Report'; -$UGreports = "ALL RAPPORTS, NONE, Real-Time Main Report, Real-Time Campagne Summary , Entrant Report, Entrant Service Level Report, Entrant Résumé Hourly Report, Entrant Daily Report, Entrant DID Report, Entrant IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listes Statuts De Campagne Report, Campagne Status List Report, Appels d'exportation Rapport , Pistes d'exportation Rapport , Agent Time Détails, Agent Status Détail, Agent Performance Détail, Team Performance Détail, Single Agent Daily , UtilisateurHorloge en temps Report, Groupe utilisateurHorloge en temps Status Report, UtilisateurHorloge en temps Rapport détaillé , Server Performance Report, Administration Change Log, List Update Stats, Statistiques utilisateur, Utilisateur Feuille de temps, Download List, Dialer Rapport d'inventaire, Custom Rapports Links, CallCard Search, Maximum System Stats, Maximum Stats Détail, Search Leads Logs"; +$UGreports = 'ALL RAPPORTS, NONE, Real-Time Main Report, Real-Time Campagne Summary , Entrant Report, Entrant Service Level Report, Entrant Résumé Hourly Report, Entrant Daily Report, Entrant DID Report, Entrant Email Report, Entrant IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listes Statuts De Campagne Report, Campagne Status List Report, Appels d exportation Rapport , Pistes d exportation Rapport , Agent Time Détails, Agent Status Détail, Agent Performance Détail, Team Performance Détail, Single Agent Daily, Groupe utilisateur Login Report, UtilisateurHorloge en temps Report, Groupe utilisateurHorloge en temps Status Report, UtilisateurHorloge en temps Rapport détaillé , Server Performance Report, Administration Change Log, List Update Stats, Statistiques utilisateur, Utilisateur Feuille de temps, Download List, Dialer Rapport d inventaire, Custom Rapports Links, CallCard Search, Maximum System Stats, Maximum Stats Détail, Search Leads Logs, Email Log Report'; $Vtables = 'NONE,log_noanswer,did_agent_log,contact_information'; @@ -1540,6 +1544,8 @@ if (isset($_GET["auto_resume_precall"])) {$auto_resume_precall=$_GET["auto_res elseif (isset($_POST["auto_resume_precall"])) {$auto_resume_precall=$_POST["auto_resume_precall"];} if (isset($_GET["auto_pause_precall_code"])) {$auto_pause_precall_code=$_GET["auto_pause_precall_code"];} elseif (isset($_POST["auto_pause_precall_code"])) {$auto_pause_precall_code=$_POST["auto_pause_precall_code"];} +if (isset($_GET["audit_comments"])) {$audit_comments=$_GET["audit_comments"];} + elseif (isset($_POST["audit_comments"])) {$audit_comments=$_POST["audit_comments"];} if (isset($_GET["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_GET["reload_dialplan_on_servers"];} elseif (isset($_POST["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_POST["reload_dialplan_on_servers"];} if (isset($_GET["manual_dial_cid"])) {$manual_dial_cid=$_GET["manual_dial_cid"];} @@ -1724,11 +1730,78 @@ if (isset($_GET["territory_reset"])) {$territory_reset=$_GET["territory_reset" elseif (isset($_POST["territory_reset"])) {$territory_reset=$_POST["territory_reset"];} if (isset($_GET["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_GET["hopper_vlc_dup_check"];} elseif (isset($_POST["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_POST["hopper_vlc_dup_check"];} +if (isset($_GET["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_GET["download_max_system_stats_metric"];} + elseif (isset($_POST["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_POST["download_max_system_stats_metric"];} +if (isset($_GET["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_GET["download_max_system_stats_metric_name"];} + elseif (isset($_POST["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_POST["download_max_system_stats_metric_name"];} if (isset($_GET["inventory_report"])) {$inventory_report=$_GET["inventory_report"];} elseif (isset($_POST["inventory_report"])) {$inventory_report=$_POST["inventory_report"];} if (isset($_GET["report_rank"])) {$report_rank=$_GET["report_rank"];} elseif (isset($_POST["report_rank"])) {$report_rank=$_POST["report_rank"];} - +if (isset($_GET["in_group_dial"])) {$in_group_dial=$_GET["in_group_dial"];} + elseif (isset($_POST["in_group_dial"])) {$in_group_dial=$_POST["in_group_dial"];} +if (isset($_GET["in_group_dial_select"])) {$in_group_dial_select=$_GET["in_group_dial_select"];} + elseif (isset($_POST["in_group_dial_select"])) {$in_group_dial_select=$_POST["in_group_dial_select"];} +if (isset($_GET["dial_ingroup_cid"])) {$dial_ingroup_cid=$_GET["dial_ingroup_cid"];} + elseif (isset($_POST["dial_ingroup_cid"])) {$dial_ingroup_cid=$_POST["dial_ingroup_cid"];} +if (isset($_GET["allow_emails"])) {$allow_emails=$_GET["allow_emails"];} + elseif (isset($_POST["allow_emails"])) {$allow_emails=$_POST["allow_emails"];} +if (isset($_GET["group_handling"])) {$group_handling=$_GET["group_handling"];} + elseif (isset($_POST["group_handling"])) {$group_handling=$_POST["group_handling"];} +if (isset($_GET["agentcall_email"])) {$agentcall_email=$_GET["agentcall_email"];} + elseif (isset($_POST["agentcall_email"])) {$agentcall_email=$_POST["agentcall_email"];} +if (isset($_GET["modify_email_accounts"])) {$modify_email_accounts=$_GET["modify_email_accounts"];} + elseif (isset($_POST["modify_email_accounts"])) {$modify_email_accounts=$_POST["modify_email_accounts"];} +if (isset($_GET["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_GET["safe_harbor_audio_field"];} + elseif (isset($_POST["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_POST["safe_harbor_audio_field"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_GET["call_menu_qualify_enabled"];} + elseif (isset($_POST["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_POST["call_menu_qualify_enabled"];} +if (isset($_GET["qualify_sql"])) {$qualify_sql=$_GET["qualify_sql"];} + elseif (isset($_POST["qualify_sql"])) {$qualify_sql=$_POST["qualify_sql"];} +if (isset($_GET["admin_list_counts"])) {$admin_list_counts=$_GET["admin_list_counts"];} + elseif (isset($_POST["admin_list_counts"])) {$admin_list_counts=$_POST["admin_list_counts"];} +if (isset($_GET["voicemail_greeting"])) {$voicemail_greeting=$_GET["voicemail_greeting"];} + elseif (isset($_POST["voicemail_greeting"])) {$voicemail_greeting=$_POST["voicemail_greeting"];} +if (isset($_GET["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_GET["allow_voicemail_greeting"];} + elseif (isset($_POST["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_POST["allow_voicemail_greeting"];} +if (isset($_GET["pause_after_next_call"])) {$pause_after_next_call=$_GET["pause_after_next_call"];} + elseif (isset($_POST["pause_after_next_call"])) {$pause_after_next_call=$_POST["pause_after_next_call"];} +if (isset($_GET["owner_populate"])) {$owner_populate=$_GET["owner_populate"];} + elseif (isset($_POST["owner_populate"])) {$owner_populate=$_POST["owner_populate"];} +if (isset($_GET["queuemetrics_socket"])) {$queuemetrics_socket=$_GET["queuemetrics_socket"];} + elseif (isset($_POST["queuemetrics_socket"])) {$queuemetrics_socket=$_POST["queuemetrics_socket"];} +if (isset($_GET["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_GET["queuemetrics_socket_url"];} + elseif (isset($_POST["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_POST["queuemetrics_socket_url"];} +if (isset($_GET["holiday_id"])) {$holiday_id=$_GET["holiday_id"];} + elseif (isset($_POST["holiday_id"])) {$holiday_id=$_POST["holiday_id"];} +if (isset($_GET["holiday_name"])) {$holiday_name=$_GET["holiday_name"];} + elseif (isset($_POST["holiday_name"])) {$holiday_name=$_POST["holiday_name"];} +if (isset($_GET["holiday_comments"])) {$holiday_comments=$_GET["holiday_comments"];} + elseif (isset($_POST["holiday_comments"])) {$holiday_comments=$_POST["holiday_comments"];} +if (isset($_GET["holiday_date"])) {$holiday_date=$_GET["holiday_date"];} + elseif (isset($_POST["holiday_date"])) {$holiday_date=$_POST["holiday_date"];} +if (isset($_GET["holiday_status"])) {$holiday_status=$_GET["holiday_status"];} + elseif (isset($_POST["holiday_status"])) {$holiday_status=$_POST["holiday_status"];} +if (isset($_GET["holiday_rule"])) {$holiday_rule=$_GET["holiday_rule"];} + elseif (isset($_POST["holiday_rule"])) {$holiday_rule=$_POST["holiday_rule"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_GET["use_other_campaign_dnc"];} + elseif (isset($_POST["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_POST["use_other_campaign_dnc"];} +if (isset($_GET["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_GET["enhanced_disconnect_logging"];} + elseif (isset($_POST["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_POST["enhanced_disconnect_logging"];} +if (isset($_GET["amd_inbound_group"])) {$amd_inbound_group=$_GET["amd_inbound_group"];} + elseif (isset($_POST["amd_inbound_group"])) {$amd_inbound_group=$_POST["amd_inbound_group"];} +if (isset($_GET["amd_callmenu"])) {$amd_callmenu=$_GET["amd_callmenu"];} + elseif (isset($_POST["amd_callmenu"])) {$amd_callmenu=$_POST["amd_callmenu"];} +if (isset($_GET["level_8_disable_add"])) {$level_8_disable_add=$_GET["level_8_disable_add"];} + elseif (isset($_POST["level_8_disable_add"])) {$level_8_disable_add=$_POST["level_8_disable_add"];} +if (isset($_GET["survey_wait_sec"])) {$survey_wait_sec=$_GET["survey_wait_sec"];} + elseif (isset($_POST["survey_wait_sec"])) {$survey_wait_sec=$_POST["survey_wait_sec"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1740,9 +1813,61 @@ if (strlen($dial_status) > 0) $status = $dial_status; } +if ($download_max_system_stats_metric_name) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + $CSV_text=""; + + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total call count in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls','total call count in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total inbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_inbound_all','total inbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total outbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_outbound_all','total outbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','(max_inbound + max_outbound)','most concurrent calls in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls inbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_inbound','most concurrent calls inbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls outbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_outbound','most concurrent calls outbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent agents") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_agents','most concurrent agents',$end_date); + } + + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "MAX_SYSTEM_STATS_$US$FILE_TIME.csv"; + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + header('Content-type: application/octet-stream'); + + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text"; + + exit; +} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -1780,6 +1905,12 @@ if ($qm_conf_ct > 0) $SSalt_log_login = $row[28]; $SSalt_log_pass = $row[29]; $SStables_use_alt_log_db = $row[30]; + $SScall_menu_qualify_enabled = $row[31]; + $SSadmin_list_counts = $row[32]; + $SSallow_voicemail_greeting = $row[33]; + $SSsvn_revision = $row[34]; + $SSallow_emails = $row[35]; + $SSlevel_8_disable_add = $row[36]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2015,6 +2146,13 @@ if ($non_latin < 1) $admin_hide_lead_data = ereg_replace("[^0-9]","",$admin_hide_lead_data); $max_calls_count = ereg_replace("[^0-9]","",$max_calls_count); $report_rank = ereg_replace("[^0-9]","",$report_rank); + $dial_ingroup_cid = ereg_replace("[^0-9]","",$dial_ingroup_cid); + $call_menu_qualify_enabled = ereg_replace("[^0-9]","",$call_menu_qualify_enabled); + $admin_list_counts = ereg_replace("[^0-9]","",$admin_list_counts); + $allow_voicemail_greeting = ereg_replace("[^0-9]","",$allow_voicemail_greeting); + $enhanced_disconnect_logging = ereg_replace("[^0-9]","",$enhanced_disconnect_logging); + $level_8_disable_add = ereg_replace("[^0-9]","",$level_8_disable_add); + $survey_wait_sec = ereg_replace("[^0-9]","",$survey_wait_sec); $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); @@ -2030,9 +2168,6 @@ if ($non_latin < 1) $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); $queue_priority = ereg_replace("[^-0-9]","",$queue_priority); - ### DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); - ### Y or N ONLY ### $allow_closers = ereg_replace("[^NY]","",$allow_closers); $reset_hopper = ereg_replace("[^NY]","",$reset_hopper); @@ -2084,7 +2219,7 @@ if ($non_latin < 1) $delete_vm_after_email = ereg_replace("[^NY]","",$delete_vm_after_email); $crm_popup_login = ereg_replace("[^NY]","",$crm_popup_login); $ignore_list_script_override = ereg_replace("[^NY]","",$ignore_list_script_override); - $is_webphone = ereg_replace("[^NY]","",$is_webphone); + $is_webphone = ereg_replace("[^-_0-9a-zA-Z]","",$is_webphone); $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); @@ -2179,6 +2314,9 @@ if ($non_latin < 1) $use_custom_cid = ereg_replace("[^0-9a-zA-Z]","",$use_custom_cid); $action_xfer_cid = ereg_replace("[^0-9a-zA-Z]","",$action_xfer_cid); $callback_list_calltime = ereg_replace("[^0-9a-zA-Z]","",$callback_list_calltime); + $pause_after_next_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_next_call); + $owner_populate = ereg_replace("[^0-9a-zA-Z]","",$owner_populate); + $use_other_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_other_campaign_dnc); ### DIGITS and Dots $server_ip = ereg_replace("[^\.0-9]","",$server_ip); @@ -2257,6 +2395,7 @@ if ($non_latin < 1) $server_id = ereg_replace("[^-_0-9a-zA-Z]","",$server_id); $stage = ereg_replace("[^-_0-9a-zA-Z]","",$stage); $state_rule = ereg_replace("[^-_0-9a-zA-Z]","",$state_rule); + $holiday_rule = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_rule); $trunk_restriction = ereg_replace("[^-_0-9a-zA-Z]","",$trunk_restriction); $user = ereg_replace("[^-_0-9a-zA-Z]","",$user); $user_group = ereg_replace("[^-_0-9a-zA-Z]","",$user_group); @@ -2403,9 +2542,17 @@ if ($non_latin < 1) $admin_hide_phone_data = ereg_replace("[^-_0-9a-zA-Z]","",$admin_hide_phone_data); $max_calls_method = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_method); $max_calls_action = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_action); + $in_group_dial = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial); + $in_group_dial_select = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial_select); + $queuemetrics_socket = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_socket); + $holiday_id = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_id); + $holiday_date = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_date); + $holiday_status = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_status); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $amd_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$amd_inbound_group); + $amd_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$amd_callmenu); ### ALPHA-NUMERIC and underscore and dash and slash and dot - $menu_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_prompt); $menu_timeout_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_timeout_prompt); $menu_invalid_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_invalid_prompt); $after_hours_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$after_hours_message_filename); @@ -2444,6 +2591,11 @@ if ($non_latin < 1) $survey_ni_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_ni_audio_file); $survey_third_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_third_audio_file); $survey_fourth_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_fourth_audio_file); + $safe_harbor_audio_field = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio_field); + $voicemail_greeting = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$voicemail_greeting); + + ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma + $menu_prompt = ereg_replace("[^-\/\|\,\._0-9a-zA-Z]","",$menu_prompt); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -2461,7 +2613,7 @@ if ($non_latin < 1) $group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); ### ALPHA-NUMERIC and hash and star and dot and underscore $hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); - $did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); + $did_pattern = ereg_replace("[^\+\*\#\.\_0-9a-zA-Z]","",$did_pattern); $voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); $phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); $phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); @@ -2555,6 +2707,8 @@ if ($non_latin < 1) $group = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group); $job_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$job_title); $location = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$location); + $holiday_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_name); + $holiday_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_comments); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); @@ -2635,6 +2789,14 @@ if ($non_latin < 1) $modify_url = ereg_replace(";","",$modify_url); $modify_url = ereg_replace("\r","",$modify_url); $modify_url = ereg_replace("\"","",$modify_url); + $qualify_sql = ereg_replace("\\\\","",$qualify_sql); + $qualify_sql = ereg_replace(";","",$qualify_sql); + $qualify_sql = ereg_replace("\r","",$qualify_sql); + $qualify_sql = ereg_replace("'",'"',$qualify_sql); + $queuemetrics_socket_url = ereg_replace("\\\\","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace(";","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("\r","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("'",'"',$queuemetrics_socket_url); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address # $queuemetrics_url @@ -3046,16 +3208,53 @@ else # 120316-1203 - Fixed DIALBLE counts for completed statuses # 120402-2111 - Added lead loading template and two carrier log reports to the admin utils page # 120409-1136 - Added Search Leads Logs as slave db option +# 120420-1620 - Forked 2.4 to branches, changing trunk to 2.6 +# 120512-0844 - Added In-Group Manual Dial options to campaign screen +# 120514-0936 - Added Dial In-group CID override setting +# 120518-1456 - Added XFTAMM/LTMG special hotkeys for send to answering machine message +# 120526-0827 - Added User Group User Login Report +# 120529-2112 - Added safe_harbor_audio_field campaign option +# 120706-1255 - Added Max stats date range and call menu qualify_sql options +# 120713-2123 - Added max stats download link and extended_vl option +# 120810-1018 - Added Admin List Counts system settings option +# 120820-1104 - Added is_webphone option Y_API_LAUNCH +# 120831-1523 - Added vicidial_dial_log outbound call logging +# 121018-2321 - Added blank option to owner only dialing +# 121019-0520 - Added voicemail greeting audio chooser options to phones and voicemail boxes +# 121025-2339 - Added without-filter output to test filter function, added server option to test call +# 121027-2344 - Added servers versions page +# 121029-0109 - Added pause_after_next_call and owner_populate campaign options +# 121114-1923 - Added Basic Lead Management page link. Added INGROUP as a recording filename option +# 121116-1410 - Added QC functionality +# 121120-0824 - Added queuemetrics_socket functionality to system settings +# 121123-1208 - Added inbound holiday functions +# 121124-1957 - Added List Expiration Date feature and Campaign Other-DNC-List feature +# 121129-2319 - Added enhanced_disconnect_logging option +# 121130-1425 - Fixed user group permissions issue with allowed campaigns modifications of user groups +# 121205-1619 - Added parentheses around filter SQL when in SQL queries +# 121206-0630 - Added inbound lead search feature +# 121212-1529 - Standardization of list_id fields at 19 digits in forms +# 121222-2146 - Added new email features +# 130102-1135 - Small change to admin log viewing for email accounts +# 130124-1721 - Added Inbound Email report link, added Status Display LEADID options(issue #639) +# 130130-1207 - Added new CPD AMD options for In-Groups and CallMenus +# 130221-1736 - Added Level 8 Disable Add option to system settings and new Email Log Report link, DID exten made non-editable +# 130402-2322 - Added user_group script variable +# 130414-1924 - Added report logging and display +# 130424-1601 - Added survey_wait_sec campaign survey option +# 130425-0700 - Added DROP option for survey_no_response_action to go to campaign drop method +# 130503-1509 - Added red color to server table on reports page if asterisk out of sync # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.4-364a'; -$build = '120409-1136'; +$admin_version = '2.6-400a'; +$build = '130503-1509'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); $REPORTdate = date("Y-m-d"); +$EXPtestdate = date("Ymd"); $CIDdate = date("mdHis"); while (strlen($CIDdate) > 9) {$CIDdate = substr("$CIDdate", 1);} @@ -3067,6 +3266,7 @@ $modify_rafraîchir_set=0; $modify_footer_rafraîchir=0; $check_time = ($STARTtime - 86400); $SSanswer_transfer_agent = '8368'; +$add_copy_disabled=0; $month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $past_month_date = date("Y-m-d H:i:s",$month_old); @@ -3105,10 +3305,9 @@ if ($force_logout) echo "Vous êtes maintenant déconnecté. Merci.\n"; exit; } - ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_rafraîchir,nocache_admin,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_rafraîchir,nocache_admin,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -3123,6 +3322,7 @@ if ($qm_conf_ct > 0) $SSadmin_modify_rafraîchir = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; + $SSemail_enabled = $row[8]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -3146,6 +3346,10 @@ if ( ($reports_auth > 0) and ($auth < 1) ) $ADD=999999; $reports_only_user=1; } +############################################## +# Include QC Agents with no other permission # +############################################## +require_once('qc/QC_admin_include02.php'); if ($SSwebroot_writable > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} @@ -3154,7 +3358,7 @@ $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); -if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) ) ) +if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) and ($qc_auth < 1)) ) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); @@ -3162,7 +3366,7 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) an exit; } -if ( ($auth > 0) or ($reports_auth > 0) ) +if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) { $office_no=strtoupper($PHP_AUTH_USER); $password=strtoupper($PHP_AUTH_PW); @@ -3306,6 +3510,9 @@ if ( ($auth > 0) or ($reports_auth > 0) ) { $reports_only_user=1; } + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} } else { @@ -3334,8 +3541,10 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; -echo "\n"; +echo "\n"; echo "\n"; +echo "\n"; +echo "\n"; if ($SSnocache_admin=='1') { echo "\n"; @@ -3366,6 +3575,8 @@ if ($ADD==1411) {$hh='ingroups'; echo "CopieDID";} if ($ADD==1511) {$hh='ingroups'; echo "Ajouter un appel Menu";} if ($ADD==1611) {$hh='ingroups'; echo "Copiez Appel du menu";} if ($ADD==1711) {$hh='ingroups'; echo "Ajouter un groupe Téléphone filtre";} +if ($ADD==1811) {$hh='ingroups'; echo "Ajouter un nouvel e-mail dans-groupe";} +if ($ADD==1911) {$hh='ingroups'; echo "Copiez EMAIL In-Group";} if ($ADD==11111) {$hh='remoteagent'; echo "Ajouter de nouveaux agents distants";} if ($ADD==12111) {$hh='remoteagent'; echo "Ajouter un groupe d'extension";} if ($ADD==111111) {$hh='usergroups'; echo "Ajouter de nouveaux groupes d'utilisateurs";} @@ -3374,6 +3585,7 @@ if ($ADD==11111111) {$hh='filters'; echo "Ajouter un nouveau filtre";} if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Ajouter une nouvelle période d'appels";} if ($ADD==131111111) {$hh='admin'; $sh='shifts'; echo "Ajouter un nouveau Shift";} if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Ajouter une nouvelle période d'appels d'état";} +if ($ADD==1211111111) {$hh='admin'; $sh='times'; echo "Ajouter vacances";} if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "AJOUTER UN NOUVEAU TELEPEHONE";} if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "AJOUTER UN NOUVEAU TELEPEHONE ALIAS";} if ($ADD==13111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW GROUP ALIAS";} @@ -3409,6 +3621,8 @@ if ($ADD==2411) {$hh='ingroups'; echo "Nouvelle adjonction Copied DID";} if ($ADD==2511) {$hh='ingroups'; echo "Nouvel appel Menu";} if ($ADD==2611) {$hh='ingroups'; echo "Nouvel appel Menu";} if ($ADD==2711) {$hh='ingroups'; echo "Nouveau groupe Téléphone filtre";} +if ($ADD==2811) {$hh='ingroups'; echo "Nouveau groupe Email Addition";} +if ($ADD==2911) {$hh='ingroups'; echo "New Copié Email groupe Addition";} if ($ADD==21111) {$hh='remoteagent'; echo "Ajout d'un nouvel agent distant";} if ($ADD==22111) {$hh='remoteagent'; echo "New Ajout d'extension du groupe";} if ($ADD==211111) {$hh='usergroups'; echo "Ajout d'un nouveau groupe d'utilisateurs";} @@ -3417,6 +3631,7 @@ if ($ADD==21111111) {$hh='filters'; echo "Ajout d'un nouveau filtre";} if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Ajout d'une nouvelle période d'appels";} if ($ADD==231111111) {$hh='admin'; $sh='shifts'; echo "New Shift adjonction";} if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Ajout d'une nouvelle période d'appels d'état";} +if ($ADD==2211111111) {$hh='admin'; $sh='times'; echo "New Addition de vacances";} if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "AJOUTER UN NOUVEAU TELEPHONE";} if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "AJOUT DE NOUVEAU TÉLÉPHONE ALIAS";} if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "AJOUT DE NOUVEAU GROUPE ALIAS";} @@ -3480,6 +3695,7 @@ if ($ADD==3311) {$hh='ingroups'; echo "ModifierDID";} if ($ADD==3321) {$hh='ingroups'; echo "Modifier DID RA Extension Remplace";} if ($ADD==3511) {$hh='ingroups'; echo "Modifier menu d-appel";} if ($ADD==3711) {$hh='ingroups'; echo "Modifier le groupe Téléphone filtre";} +if ($ADD==3811) {$hh='ingroups'; echo "Modifier EMAIL In-Group";} if ($ADD==31111) {$hh='remoteagent'; echo "Modifier les agents distants";} if ($ADD==32111) {$hh='remoteagent'; echo "Modifier le groupe d'extension";} if ($ADD==311111) {$hh='usergroups'; echo "Modifier les groupes d'utilisateurs";} @@ -3489,6 +3705,7 @@ if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modifier la période d'app if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modifier la liste des définitions des périodes d'appels d'état";} if ($ADD==331111111) {$hh='admin'; $sh='shifts'; echo "Modifier Shift";} if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modifier la période d'appels d'état";} +if ($ADD==3211111111) {$hh='admin'; $sh='times'; echo "Modifier vacances";} if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFIER LE TELEPHONE";} if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "MODIFIER LE TELEPHONE ALIAS";} if ($ADD==33111111111) {$hh='admin'; $sh='phones'; echo "Modifier un groupe ALIAS";} @@ -3524,6 +3741,7 @@ if ($ADD==4111) {$hh='ingroups'; echo "Modifier le In-Group";} if ($ADD==4311) {$hh='ingroups'; echo "ModifierDID";} if ($ADD==4511) {$hh='ingroups'; echo "Modifier menu d-appel";} if ($ADD==4711) {$hh='ingroups'; echo "Modifier le groupe Téléphone filtre";} +if ($ADD==4811) {$hh='ingroups'; echo "ModifierEmail In-Group";} if ($ADD==41111) {$hh='remoteagent'; echo "Modifier les agents distants";} if ($ADD==42111) {$hh='remoteagent'; echo "Modifier le groupe d'extension";} if ($ADD==411111) {$hh='usergroups'; echo "Modifier les groupes d'utilisateurs";} @@ -3532,6 +3750,7 @@ if ($ADD==41111111) {$hh='filters'; echo "Modifier le filtre";} if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modifier la période d'appels";} if ($ADD==431111111) {$hh='admin'; $sh='shifts'; echo "Modifier Shift";} if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modifier la période d'appels d'état";} +if ($ADD==4211111111) {$hh='admin'; $sh='times'; echo "Modifier vacances";} if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFIER LE TELEPHONE";} if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFIER LE TELEPHONE ALIAS";} if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "Modifier un groupe ALIAS";} @@ -3567,6 +3786,7 @@ if ($ADD==51111111) {$hh='filters'; echo "Supprimer le filtre";} if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "SupprimerCall Time";} if ($ADD==531111111) {$hh='admin'; $sh='shifts'; echo "Maj + Suppr";} if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Supprimer la période d'appels d'état";} +if ($ADD==5211111111) {$hh='admin'; $sh='times'; echo "Supprimer vacances";} if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} if ($ADD==53111111111) {$hh='admin'; $sh='phones'; echo "DELETE GROUP ALIAS";} @@ -3603,6 +3823,7 @@ if ($ADD==61111111) {$hh='filters'; echo "Supprimer le filtre";} if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "SupprimerCall Time";} if ($ADD==631111111) {$hh='admin'; $sh='shifts'; echo "Maj + Suppr";} if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Supprimer la période d'appels d'état";} +if ($ADD==6211111111) {$hh='admin'; $sh='times'; echo "Supprimer vacances";} if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "DELETE GROUP ALIAS";} @@ -3623,6 +3844,9 @@ if ($ADD==700000000000000) {$hh='reports'; echo "ADMINISTRATION DE VICIDIAL CHAN if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL UTILISATEUR ADMIN CHANGE LOG";} if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL SECTION ADMIN CHANGE LOG";} if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL DETAIL ADMIN CHANGE LOG";} +if ($ADD==800000000000000) {$hh='reports'; echo "ADMINISTRATION DE VICIDIAL journal de rapport";} +if ($ADD==810000000000000) {$hh='reports'; echo "VICIDIAL utilisateur admin RAPPORT LOG";} +if ($ADD==830000000000000) {$hh='reports'; echo "VICIDIAL DETAIL rapport Administration LOG";} if ($ADD==0) {$hh='users'; echo "Liste des utilisateurs";} if ($ADD==8) {$hh='users'; echo "Rappels de l'agent";} if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Rappels dans la campagne ";} @@ -3635,6 +3859,7 @@ if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} if ($ADD==1320) {$hh='ingroups'; echo "Modifier DID RA Extension Remplace";} if ($ADD==1500) {$hh='ingroups'; echo "Appel Menus";} if ($ADD==1700) {$hh='ingroups'; echo "Téléphone Groupes Filter";} +if ($ADD==1800) {$hh='ingroups'; echo "Email dans-groupes";} if ($ADD==10000) {$hh='remoteagent'; echo "Agents distants";} if ($ADD==12000) {$hh='remoteagent'; echo "Groupes d'extension";} if ($ADD==100000) {$hh='usergroups'; echo "Groupes d'utilisateurs";} @@ -3643,6 +3868,7 @@ if ($ADD==10000000) {$hh='filters'; echo "Filtres";} if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Périodes d'appels";} if ($ADD==130000000) {$hh='admin'; $sh='shifts'; echo "Shifts";} if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Périodes d'appels d'états";} +if ($ADD==1200000000) {$hh='admin'; $sh='times'; echo "Fêtes";} if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "LISTE DE TELEPHONES";} if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "TÉLÉLISTE DE TELEPHONESE ALIAS";} if ($ADD==13000000000) {$hh='admin'; $sh='phones'; echo "GROUPE ALIAS LISTE";} @@ -3656,6 +3882,8 @@ if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo "ECRAN LISTE DES ETIQUET if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo "LA LISTE DES CONTACTS";} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "LISTE DE CONFERENCES";} if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL LISTE DE CONFERENCES";} +##QC +require_once('qc/QC_admin_variables01.php'); if ($ADD==550) {$hh='users'; echo "Formulaire de recherche";} if ($ADD==551) {$hh='users'; echo "RECHERCHER DES TELEPHONES";} if ($ADD==660) {$hh='users'; echo "Résultats de la recherche";} @@ -3669,7 +3897,35 @@ if ($ADD==999995) {$hh='reports'; echo "Licence de marque déposée COPYRIGHT" if ($ADD==999994) {$hh='reports'; echo "ADMIN UTILITIES";} if ($ADD==999993) {$hh='reports'; echo "Statistiques récapitulatives";} if ($ADD==999992) {$hh='reports'; echo "SYSTEM Statistiques récapitulatives";} +if ($ADD==999991) {$hh='reports'; echo "SERVERS VERSIONS";} +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + if ($ADD==999993) {$report_name = "Statistiques récapitulatives";} + if ($ADD==999992) {$report_name = "SYSTEM Statistiques récapitulatives";} + if ($ADD==730000000000000) {$report_name = "DETAIL ADMIN CHANGE LOG";} + if ($ADD==830000000000000) {$report_name = "DETAIL ADMIN journal de rapport";} + + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $stage, $report_display_type|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + } if ( ($ADD>9) and ($ADD < 99998) ) { @@ -3869,7 +4125,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD ##### BEGIN get inbound groups listing for checkboxes ##### $xfer_groupsSQL=''; - if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and (eregi('list_activation', $stage))) ) + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (eregi('list_activation', $stage)) or (ereg('test_call',$stage)) ) ) ) { $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); @@ -4321,6 +4577,11 @@ if ($ADD==99999)
    Appel manuel pour l'agent- Cette option autorise un agent à entrer manuellement une nouvelle fiche et à l'appeler. Elle autorise aussi l'appel de n'importe quel numéro de téléphone depuis vicidial et met cette appel dans sa session. Utilisez cette option avec précaution. +
    + +
    + Agent Call Email - This option is disabled. +

    @@ -4346,7 +4607,7 @@ if ($ADD==99999)

    - Ecrasement de l'enregistrement de VICIDIAL - Cette option va écraser l'option d'enregistrement de la campagne quelle qu'elle soit. DISABLED n'écrasera pas les réglages d'enregistrement de la campagne. NEVER désactivera l'enregistrement sur le client. ONDEMAND est la valeur par défaut et autorise l'agent à démarrer ou arrêter l'enregistrement si nécessaire. ALLCALLS démarrera l'enregistrment à chaque fois qu'un appel est passé à un agent. ALLFORCE démarrera l'enregistrement à chaque fois qu'un appel à un agent est passé sans permettre à l'agent d'arrêter l'enregistrement. Pour les valeurs ALLCALLS et ALLFORCE il possible d'utiliser l'option 'Délai d'enregistrement' pour réduire la taille des enregistrments et la charge du système. + VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Délai d'enregistrement to cut down on very short recordings and reduce system load.
    @@ -4361,7 +4622,7 @@ if ($ADD==99999)

    - Override Recherche Agent principal - Ce paramètre remplace quelle que soit la campagne s'est fixé pour principal agent de recherche. NOT_ACTIVE utilisera le paramètre de campagne. ENABLED permettra recherche de plomb et de DISABLED ne permettra pas la recherche de plomb. Par défaut est NOT_ACTIVE. + Override Recherche Agent principal - Ce paramètre remplace quelle que soit la campagne s'est fixé pour principal agent de recherche. NOT_ACTIVE utilisera le paramètre de campagne. ENABLED permettra recherche de plomb et de DISABLED ne permettra pas la recherche de plomb. Par défaut est NOT_ACTIVE. LIVE_CALL_INBOUND permettra recherche pendant un certain temps d'avance sur un appel entrant uniquement. LIVE_CALL_INBOUND_AND_MANUAL permettra recherche pendant un certain temps d'avance sur un appel entrant ou pendant la pause. Quand Lead Recherche est utilisé sur un appel entrant direct, le chef de file de l'appel quand il est allé à l'agent sera changé pour un statut de LSMERG, et les journaux de l'appel sera modifié pour créer un lien vers l'agent principal choisi à la place.
    @@ -4484,6 +4745,18 @@ if ($ADD==99999)
    Modifier les fiches - Si cette otpion est à 1 elle autorise l'utilisateur à modifier les fiches dans la page des résultats de la recherche de fiches dans la section d'administration. + 0) + { + ?> +
    +
    +
    + Modifier Comptes de messagerie - Cette option, si mis à 1 permet à l'utilisateur de modifier les comptes de messagerie dans la page de gestion de compte de messagerie. + +

    @@ -4707,6 +4980,17 @@ if ($ADD==99999)
    Autoriser les Closers - C'est ici que vous pouvez définir si les utilisateurs de cette campagne pouront envoyer l'appel vers une campagne de type closer. + 0) + { + ?> +
    +
    +
    + Laisser Emails - C'est là que vous pouvez définir si les utilisateurs de cette campagne seront en mesure de recevoir des e-mails entrants, en plus des appels téléphoniques. +

    @@ -4928,12 +5212,22 @@ if ($ADD==99999)

    - AMD envoyé au vm exten -<\/B> Ce menu vous permet de définir si un message est laissé sur un répondeur quand il est détecté. L'appel sera immédiatement transmis à l'extention Answering-Machine-Message si AMD est actif et si il est déterminé que l'appel est un répondeur. + AMD envoyer à l'action - Cette option vous permet de définir si un appel est envoyé à l'action AMD lorsqu'un répondeur est détecté. Si ce paramètre est réglé à N, l'appel sera raccroché dès qu'il est déterminé à être un répondeur. Défaut est N.

    - CPD AMD Action - Si vous utilisez le Sangoma ParaXip Call Progress logiciel de détection, vous souhaitez activer ce paramètre, soit la mise à disposition DISPO qui l'appel comme AA et l'accrocher si l'appel est en cours de traitement et n'a pas été envoyée à un agent ou encore MESSAGE qui enverra l'appel à la définition Message de répondeur pour cette campagne. La valeur par défaut est DISABLED. + CPD AMD Action - Si vous utilisez le Sangoma ParaXip Call Progress logiciel de détection, vous souhaitez activer ce paramètre, soit la mise à disposition DISPO qui l'appel comme AA et l'accrocher si l'appel est en cours de traitement et n'a pas été envoyée à un agent ou encore MESSAGE qui enverra l'appel à la définition Message de répondeur pour cette campagne. La valeur par défaut est DISABLED. Un réglage à ingroup enverra un répondeur à un groupe entrant. Un réglage à CALLMENU enverra un répondeur à un menu d'appel dans le système. + +
    +
    +
    + AMD Entrant Groupe - Si CPD AMD Action est réglé sur ingroup, alors c'est le groupe entrant que l'appel sera envoyé si un répondeur est détecté. + +
    +
    +
    + AMD Appel Menu - Si CPD AMD Action est réglé sur CALLMENU, alors c'est le menu d'appel que l'appel sera envoyé si un répondeur est détecté.
    @@ -4960,6 +5254,11 @@ if ($ADD==99999)
    Safe Harbour Audio - Il s'agit du fichier audio rapide qui se joue, si l'action Drop est réglé sur AUDIO. Par défaut est buzz. +
    +
    +
    + Safe Harbour Audio terrain - Ce paramètre optionnel vous permet de définir un champ dans la liste que le système va utiliser comme nom de fichier audio pour chaque conducteur à la place du fichier audio Safe Harbor. Si cela est défini sur Désactivé Le fichier audio Safe Harbor sera toujours utilisé. Le système ne fera pas de validation pour s'assurer que le fichier audio existant autre que de s'assurer que la valeur du champ est au moins un caractère, donc si vous voulez une avance d'utiliser le Safe Audio de port par défaut alors que vous venez de définir la valeur du champ en tête se vider. Vous pouvez utiliser le caractère pipe de relier plusieurs fichiers audio en même temps à la valeur du champ pour chaque fil. Est désactivée par défaut. Voici la liste des champs qui peuvent être utilisés pour ce paramètre: vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, alt_phone, email, security_phrase, comments, rank, owner, entry_list_id +

    @@ -4988,7 +5287,12 @@ if ($ADD==99999)

    - Propriétaire composer seulement - Si elle est activée, l-agent ne recevra pistes qu-ils sont dans les paramètres de propriété pour. Si cela est réglé sur Utilisateur, puis l-agent doit être définie par l-utilisateur dans la base de données en tant que propriétaire de ce plomb. Si cela est défini au territoire, le propriétaire de la direction doit correspondre au territoire énumérées dans l-écran de Modification de l-utilisateur pour cet agent. Si ce réglage est à GROUPE_UTILISATEUR le propriétaire du nom de la sonde doit correspondre au groupe d-utilisateurs que l-agent est un membre de. Pour que cette fonction soit la méthode cadran doit être réglé en mode manuel ou INBOUND_MAN Hopper et pas d-appel doit être activé. Par défaut est AUCUN pour les handicapés. + Propriétaire composer seulement - Si elle est activée, l-agent ne recevra pistes qu-ils sont dans les paramètres de propriété pour. Si cela est réglé sur Utilisateur, puis l-agent doit être définie par l-utilisateur dans la base de données en tant que propriétaire de ce plomb. Si cela est défini au territoire, le propriétaire de la direction doit correspondre au territoire énumérées dans l-écran de Modification de l-utilisateur pour cet agent. Si ce réglage est à GROUPE_UTILISATEUR le propriétaire du nom de la sonde doit correspondre au groupe d-utilisateurs que l-agent est un membre de. Pour que cette fonction soit la méthode cadran doit être réglé en mode manuel ou INBOUND_MAN Hopper et pas d-appel doit être activé. Par défaut est AUCUN pour les handicapés. Si l'option est vierge à la fin, les utilisateurs sont autorisés à composer pistes sans propriétaire défini en plus de propriétaire défini conduit. + +
    +
    +
    + Propriétaire Remplir - Si cette option est activée et le champ propriétaire de la mine est vide, le champ de propriétaire pour le plomb va peupler avec l'ID utilisateur de l'agent qui traite l'appel en premier. Est désactivée par défaut. 0) @@ -5042,6 +5346,11 @@ if ($ADD==99999)
    Enquête DTMF Digits - Ce domaine est l'endroit où vous définissez les chiffres que le client peut presse comme une option sur une campagne de sondage. valable chiffres DTMF sont0123456789*#. Toutes les options à l-exception des pas intéressé, troisième et quatrième options chiffre passera à la voie des appels de méthode Enquête. +
    +
    +
    + Enquête Attendez secondes - C'est le nombre de secondes en mode d'enquête le système attend l'entrée de la personne appelée jusqu'à ce que l'enquête ou de l'action de chute est déclenchée. Ne s'applique pas si la méthode d'enquête est HANGUP. Défaut est de 10 secondes. +

    @@ -5070,7 +5379,7 @@ if ($ADD==99999)

    - Etude de non-réponse de l'action - C'est là que vous définissez ce qui se passera s'il n'y a pas de réponse à la question de sondage. OptIn ne envoyer l'appel à la méthode d'enquête, si le client en pressant une chiffres DTMF. OptOut envoie le client sur la méthode d'enquête, même si elles ne sont pas sur un chiffre DTMF. + Etude de non-réponse de l'action - C'est là que vous définissez ce qui se passera s'il n'y a pas de réponse à la question de sondage. OptIn ne envoyer l'appel à la méthode d'enquête, si le client en pressant une chiffres DTMF. OptOut envoie le client sur la méthode d'enquête, même si elles ne sont pas sur un chiffre DTMF. DROP abandonner l'appel en utilisant la méthode de la goutte de campagne, mais toujours se connecter à l'appel en tant que PM a joué état du message.
    @@ -5182,12 +5491,12 @@ if ($ADD==99999)

    - Enregistrement de la campagne - Ce menu permet de choisir le niveau d'enregistrement autorisé pour cette campagne. NEVER désactive l'enregistrement sur l'application client. ONDEMAND est la valeur par défaut et permet à l'agent de démarrer et arrêter l'enregistrement si nécessaire. ALLCALLS démarrera l'enregistrement pour tous les appels passés vers un agent. ALLFORCE démarrera l'enregistrement à chaque appel passés vers un agent sans donné la possibilité à l'agent de stopper l'enregistrement. Pour ALLCALLS et ALLFORCE il y a une option pour utiliser un délai d'enregistrement afin de réduire les enregistrements et la charge système. + Enregistrement de campagne - Ce menu vous autorise à choisir quel niveau d'enregistrement est autorisé pour cette campagne. NEVER désactivera l'enregistrement sur le client. ONDEMAND est la valeur par défaut et autorise l'agent à démarrer et arrêter l'enregistrement au besoin. ALLCALLS démarera l'enregistrement sur le client quand un appel est lancé par un agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Délai d'enregistrement to cut down on very short recordings and reduce system load.

    - Nom du fichier d'enregistrement de la campagne - Ce champ vous permet de personnaliser le nom de l'enregistrement quand la campagne est ONDEMAND ou ALLCALLS. Les variables sont permis CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. La valeur par défaut est FULLDATE_AGENT et devrait ressembler à ceci 20051020-103108_6666. Un autre exemple est CAMPAIGN_TINYDATE_CUSTPHONE qui devrait ressembler à ceci TESTCAMP_51020103108_3125551212. 50 char max. + Nom du fichier d'enregistrement de la campagne - Ce champ vous permet de personnaliser le nom de l'enregistrement quand la campagne est ONDEMAND ou ALLCALLS. Les variables sont permis CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. La valeur par défaut est FULLDATE_AGENT et devrait ressembler à ceci 20051020-103108_6666. Un autre exemple est CAMPAIGN_TINYDATE_CUSTPHONE qui ressemblerait à ceci TESTCAMP_51020103108_3125551212. Te résultant nom de fichier doit être inférieure à 90 caractères.
    @@ -5202,7 +5511,7 @@ if ($ADD==99999)

    - Recherche de plomb Agent - La définition de cette option pour activer permettra aux agents de rechercher des pistes et afficher des informations de plomb pendant la pause dans l'interface agent. En outre, si le Groupe de l'agent utilisateur est autorisé à afficher des journaux d'appels, puis l'agent sera en mesure d'afficher des notes d'appel passées pour toute avance qu'ils sont affichés sur les informations. Par défaut est DISABLED. + Recherche de plomb Agent - La définition de cette option pour activer permettra aux agents de rechercher des pistes et afficher des informations de plomb pendant la pause dans l'interface agent. En outre, si le Groupe de l'agent utilisateur est autorisé à afficher des journaux d'appels, puis l'agent sera en mesure d'afficher des notes d'appel passées pour toute avance qu'ils sont affichés sur les informations. Par défaut est DISABLED. LIVE_CALL_INBOUND permettra recherche pendant un certain temps d'avance sur un appel entrant uniquement. LIVE_CALL_INBOUND_AND_MANUAL permettra recherche pendant un certain temps d'avance sur un appel entrant ou pendant la pause. Quand Lead Recherche est utilisé sur un appel entrant direct, le chef de file de l'appel quand il est allé à l'agent sera changé pour un statut de LSMERG, et les journaux de l'appel sera modifié pour créer un lien vers l'agent principal choisi à la place.
    @@ -5297,7 +5606,7 @@ if ($ADD==99999)

    - Rappels réguliers comte - Cette option vous permet de définir si seuls rappels VIVANTS, l'utilisateur seulement rappels réguliers qui ont frappé leur date de déclenchement et le temps, ou les rappels ALL_ACTIVE, l'utilisateur ne les rappels qui sont actives dans le système ainsi que les rappels vivent, doivent be3 compté, il int la section d'alerte de rappel d'agent sur l'écran l'agent. Par défaut est ALL_ACTIVE. + Rappels réguliers comte - These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks. LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered. You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE. Default is ALL_ACTIVE.
    @@ -5359,6 +5668,11 @@ if ($ADD==99999)
    Utilisez Campagne DNC List - Cela définit si cette campagne est de filtrer les mène à une liste DNC qui est spécifique à cette campagne seulement. Si elle est définie à Y, la trémie sera, pour chaque numéro de téléphone dans la campagne des DNC avant de le placer dans la trémie. Si elle est dans la campagne des DNC liste, il va changer le statut qui conduisent à DNCC il ne peut donc pas être composé. La valeur par défaut est N. L-option AreaCode est comme l-option Y, sauf qu-il est utilisé pour filtrer également un code région entière en Amérique du Nord d-être appelé, dans ce cas en utilisant l-entrée 201XXXXXXX dans la liste DNC serait de bloquer tous les appels à l-indicatif régional 201 si elle est activée. +
    +
    +
    + Autre Campagne DNC - Si l'option Utiliser la liste des DNC de campagne est activée, cette option peut vous permettre d'utiliser une liste de DNC de campagne différente, il suffit de mettre l'ID de campagne de l'Autre Campagne dans ce domaine. Si vous utilisez cette option, la liste DNC de campagne originale ne sera plus cochée, seul l'autre liste de DNC de la campagne sera utilisé. Cela n'affecte pas l'utilisation de la liste DNC système interne. Par défaut est vide. +

    @@ -5397,7 +5711,7 @@ if ($ADD==99999)

    - Agent Afficher Queue Count - Si la valeur de Y, lorsque le client est en attente d'un agent, la file d'attente de demande d'affichage en haut de l'agent de l'écran devient rouge et indique le nombre d'appels en attente. Le défaut est Y. + Agent Nombre d'écrans de file d'attente - Si la valeur de Y, lorsque le client est en attente d'un agent, la file d'attente de demande d'affichage en haut de l'agent de l'écran devient rouge et indique le nombre d'appels en attente. Le défaut est Y.
    @@ -5439,6 +5753,16 @@ if ($ADD==99999)
    Message Téléphone Décalage horaire alerte - Cette fonction manuelle cadran seule, si elle est activée, va afficher une alerte si le fuseau horaire pour le code postal de plomb, ou le code postal, est différente de la zone de temps de l'indicatif régional du numéro de téléphone pour le plomb. L'option OUTSIDE_CALLTIME_ONLY ne montrent l'alerte si les deux fuseaux horaires sont différents et l'un des fuseaux horaires est en dehors de la durée d'appel choisi pour la campagne. OUTSIDE_CALLTIME_PHONE ne fera que vérifier le fuseau horaire du numéro de téléphone de la tête et d'alerter si elle est en dehors du temps d'un appel local. OUTSIDE_CALLTIME_POSTAL ne fera que vérifier le fuseau horaire du code postal du plomb et d'alerter si elle est en dehors du temps d'un appel local. OUTSIDE_CALLTIME_BOTH va vérifier le code postal et le numéro de téléphone pour être dans le délai d'un appel local, même si elles sont dans le même fuseau horaire. Ces alertes seront afficher dans l'info journal des appels, Informations sur la liste des rappels, des résultats de recherche d'info, quand un chef de file est composé et quand un chef de file est visualisé. Par défaut est DISABLED. +
    +
    +
    + In-Group Composition manuelle - Cette fonction vous permet d'activer la possibilité pour les agents de placer numérotation des appels sortants manuelles qui sont enregistrés comme en appels de groupe affecté à un particulier en groupe. L'option MANUAL_DIAL permet la mise en place des appels téléphoniques à travers un In-groupe à l'agent effectuant l'appel. L'option NO_DIAL permet à l'agent de se connecter de temps sur un appel qui n'existe pas, comme s'il s'agissait d'un véritable appel, ce qui est souvent utilisé pour la connexion e-mail ou télécopie temps. Le BOTH option permettra à la fois appel et sans appel de composition en groupe. Désactivé par défaut. + +
    +
    +
    + In-Group Manuel molette SELECT - Cette option n'est active que si le dessus en groupe fonction de composition manuelle n'est pas désactivé. Cette option limite le choix In-groupes que l'agent peut placer In-Group Manuel composer des appels à travers. CAMPAIGN_SELECTED n'indiquera que les en-groupes que la campagne s'est fixé comme admissible au-groupes. ALL_USER_GROUP montrera tous les en-groupes qui sont visibles pour les membres du groupe d'utilisateurs qui appartient l'agent. +

    @@ -5626,6 +5950,11 @@ if ($ADD==99999)
    Agent Pause après chaque appel - Cette option s-il est réglé sur Y se mettra en pause l-agent après chaque appel automatiquement. Par défaut est n. +
    +
    +
    + Agent Pause après appel Lien suivant - Cette option si elle est activée affichera un lien sur l'écran de l'agent qui vous permettra de l'agent aller en pause automatiquement après avoir raccroché leur prochain appel. Est désactivée par défaut. +

    @@ -5692,6 +6021,16 @@ if ($ADD==99999)
    Reset Times - Ce champ vous permet de mettre fois, séparées par un tiret, que cette liste sera automatiquement remis à zéro par le système. Les heures doivent être au format 24 heures sans ponctuation, par exemple 0800-1700 serait rétablir la liste à 8 h et 5pm tous les jours. Par défaut est vide. +
    +
    +
    + Date d'expiration - Cette option vous permet de définir la date après laquelle conduit dans cette liste ne seront pas autorisés à être composés automatiquement ou manuel-list-composé par le système. Par défaut 2099-12-31. + +
    +
    +
    + Commentaires de vérification - Cette option permet de commentaires pour être déplacés vers une table d'audit. Ce n'est plus modifiable, mais visible avec la date-time-créateur de chaque commentaire. Défaut est N. Il s'agit d'une partie du contrôle de la qualité Add-On. +

    @@ -5724,7 +6063,7 @@ if ($ADD==99999)

    - Rapport d'inventaire - Si le Rapport d'inventaire est activé sur votre système, cette option permettra de déterminer si cette liste est inclus dans le rapport ou non. Par défaut est O pour oui. + Rapport d inventaire - Si le Rapport d'inventaire est activé sur votre système, cette option permettra de déterminer si cette liste est inclus dans le rapport ou non. Par défaut est O pour oui.
    @@ -5889,7 +6228,7 @@ if ($ADD==99999)

    - Transfert d'action CID - Utilisé pour Drop, après les heures et les Non-agent-pas-de file d'attente des actions. C'est le numéro de l'appelant que l'appel utilise avant qu'il ne soit transféré à des extensions, des messages, la messagerie vocale ou des menus d'appel. Vous pouvez utiliser CLIENT dans ce domaine à utiliser le numéro de téléphone du client, ou CAMPAGNE à utiliser le premier numéro de permis Identifiant campagne appelant. Par défaut est CLIENT. + Transfert d'action CID - Utilisé pour Drop, après les heures et les Non-agent-pas-de file d'attente des actions. C'est le numéro de l'appelant que l'appel utilise avant qu'il ne soit transféré à des extensions, des messages, la messagerie vocale ou des menus d'appel. Vous pouvez utiliser CLIENT dans ce domaine à utiliser le numéro de téléphone du client, ou CAMPAGNE à utiliser le premier numéro de permis Identifiant campagne appelant. Par défaut est CLIENT. Si c'est un appel qui ira à un menu d'appel, puis revenir à un groupe, nous vous suggérons d'utiliser CUSTOMERCLOSER dans ce domaine, et aussi vous devez définir la méthode de recherche In-Group dans le menu d'appel à CLOSER.
    @@ -6184,7 +6523,7 @@ if ($ADD==99999)

    - In-Group Recording Filename - This field will override the Enregistrement de la campagne Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. La valeur par défaut est FULLDATE_AGENT et devrait ressembler à ceci 20051020-103108_6666. Un autre exemple est CAMPAIGN_TINYDATE_CUSTPHONE qui devrait ressembler à ceci TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + In-Group Recording Filename - Ce champ remplace le régime de Dénomination de fichiers d'enregistrement de la campagne si elle est réglée sur NONE. Les variables autorisées sont CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID. La valeur par défaut est FULLDATE_AGENT et devrait ressembler à ceci 20051020-103108_6666. Un autre exemple est CAMPAIGN_TINYDATE_CUSTPHONE qui ressemblerait à ceci TESTCAMP_51020103108_3125551212. Te résultant nom de fichier doit être inférieure à 90 caractères. Default is NONE. 0) @@ -6251,7 +6590,7 @@ if ($ADD==99999)

    - Dispo Call Web - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank. + Dispo Call Web - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time en secondes of the call. Default is blank.
    @@ -6268,6 +6607,11 @@ if ($ADD==99999)
    Groupe par défaut Alias - Si vous avez permis à Groupe Alias pour la campagne que l'agent est entré dans ce groupe est l'alias qui est sélectionnée par défaut sur la première d'un appel provenant de l'arrivée de ce groupe quand l'agent choisit de utiliser un alias pour un groupe émetteur manuel appel. La valeur par défaut est None ou vide. +
    +
    +
    + Composez In-groupe CID - Si la campagne de l'agent permet de Manuel Dans la composition de groupe, ce numéro d'identification de l'appelant sera envoyée comme le CID sortant de l'appel téléphonique s'il est rempli, remplaçant les paramètres de la campagne et la liste Paramètre de remplacement CID. Default est vide. +

    @@ -6372,7 +6716,7 @@ if ($ADD==99999)

    - In-Group Call Manipuler Méthode - Si IN_GROUP est sélectionné comme la Route de DID, alors c-est la gestion des appels de méthode utilisée pour ces appels. CID va ajouter un enregistrement nouveau chef de file à chaque appel en utilisant le CallerID que le numéro de téléphone, CIDLOOKUP va tenter de rechercher le numéro de téléphone par le CallerID dans l-ensemble du système, CIDLOOKUPRL va tenter de rechercher le numéro de téléphone par le CallerID dans une seule liste spécifiée , CIDLOOKUPRC va tenter de rechercher le numéro de téléphone par le CallerID dans toutes les listes qui appartiennent à la campagne déterminée, CLOSER est spécifié pour VICIDIAL Closer appels, ANI ajouter un enregistrement nouveau chef de file à chaque appel en utilisant l-ANI que le numéro de téléphone, ANILOOKUP va tenter de rechercher le numéro de téléphone par l-ANI dans le système tout entier, ANILOOKUPRL va tenter de rechercher le numéro de téléphone par l-ANI dans une seule liste spécifiée, XDIGITID va demander à l-appelant d-un code à quatre chiffres X avant l-appel sera mis en la file d-attente, VIDPROMPT va demander à l-appelant pour leur numéro d-identification et permettra de créer un dossier avec le nouveau chef de file CallerID que le numéro de téléphone et l-identifiant comme l-ID du vendeur, VIDPROMPTLOOKUP va tenter de rechercher l-ID dans l-ensemble du système, VIDPROMPTLOOKUPRL va tenter de rechercher l-ID de fournisseur par l-ID dans une seule liste spécifiée, VIDPROMPTLOOKUPRC va tenter de rechercher l-ID de fournisseur par l-ID dans l-ensemble des listes qui appartiennent à la campagne spécifié. Par défaut est CID. Si une méthode est utilisée avec CIDLOOKUP ALT, il va rechercher le domaine alt_phone pour le numéro de téléphone si aucune correspondance n'est trouvée pour le numéro de téléphone principal. Si une méthode est utilisée avec CIDLOOKUP ADDR3, il va rechercher le domaine address3 pour le numéro de téléphone si aucune correspondance n'est trouvée pour le numéro de téléphone principal et éventuellement le domaine alt_phone. + En appel de groupe Méthode de poignée - Si IN_GROUP est sélectionné comme la Route de DID, alors c-est la gestion des appels de méthode utilisée pour ces appels. CID va ajouter un enregistrement nouveau chef de file à chaque appel en utilisant le CallerID que le numéro de téléphone, CIDLOOKUP va tenter de rechercher le numéro de téléphone par le CallerID dans l-ensemble du système, CIDLOOKUPRL va tenter de rechercher le numéro de téléphone par le CallerID dans une seule liste spécifiée , CIDLOOKUPRC va tenter de rechercher le numéro de téléphone par le CallerID dans toutes les listes qui appartiennent à la campagne déterminée, CLOSER est spécifié pour VICIDIAL Closer appels, ANI ajouter un enregistrement nouveau chef de file à chaque appel en utilisant l-ANI que le numéro de téléphone, ANILOOKUP va tenter de rechercher le numéro de téléphone par l-ANI dans le système tout entier, ANILOOKUPRL va tenter de rechercher le numéro de téléphone par l-ANI dans une seule liste spécifiée, XDIGITID va demander à l-appelant d-un code à quatre chiffres X avant l-appel sera mis en la file d-attente, VIDPROMPT va demander à l-appelant pour leur numéro d-identification et permettra de créer un dossier avec le nouveau chef de file CallerID que le numéro de téléphone et l-identifiant comme l-ID du vendeur, VIDPROMPTLOOKUP va tenter de rechercher l-ID dans l-ensemble du système, VIDPROMPTLOOKUPRL va tenter de rechercher l-ID de fournisseur par l-ID dans une seule liste spécifiée, VIDPROMPTLOOKUPRC va tenter de rechercher l-ID de fournisseur par l-ID dans l-ensemble des listes qui appartiennent à la campagne spécifié. Par défaut est CID. Si une méthode est utilisée avec CIDLOOKUP ALT, il va rechercher le domaine alt_phone pour le numéro de téléphone si aucune correspondance n'est trouvée pour le numéro de téléphone principal. Si une méthode est utilisée avec CIDLOOKUP ADDR3, il va rechercher le domaine address3 pour le numéro de téléphone si aucune correspondance n'est trouvée pour le numéro de téléphone principal et éventuellement le domaine alt_phone.
    @@ -6450,7 +6794,7 @@ if ($ADD==99999)

    - Menu rapide - Ce champ contient le nom du fichier audio de l-invite à jouer au début de ce menu. Vous pouvez entrer propmts multiples dans ce domaine et invite les autres champs en les séparant par un caractère pipe. + Menu rapide - Ce champ contient le nom du fichier audio de l-invite à jouer au début de ce menu. Vous pouvez entrer propmts multiples dans ce domaine et invite les autres champs en les séparant par un caractère pipe. Vous pouvez ajouter NOINT directement en face du nom d'un fichier audio pour en faire de sorte que la lecture ne peut pas être interrompue par une pression sur la touche par l'appelant, le NOINT ne devrait pas être une partie du nom de fichier, c'est un drapeau spécial pour le système. Vous pouvez également utiliser spécial. Scripts agi dans ce domaine ainsi que le script cm_date.agi, discutez avec votre administrateur pour plus de détails.
    @@ -6542,6 +6886,12 @@ if ($ADD==99999)
    Entrée personnalisée Dialplan - Ce champ vous permet d-entrer dans tous les éléments de plan de numérotation que vous souhaitez pour le menu d-appel. +
    +
    +
    + Qualifiez-SQL - Ce champ vous permet d'entrer SQL - Structured Query Language - fragments de bases de données, comme des filtres, afin de déterminer si ce menu d'appel doit jouer pour l'appelant ou non. Cette fonctionnalité ne fonctionne que si l'appel a l'ensemble de callerIDname avant d'être envoyé à ce menu d'appel, soit comme un transfert d'enquête à l'étranger, ou par le biais d'un menu d'appel de baisse pour un appel en groupe. S'il ya un match, l'appel se déroulera comme normal. Si aucune correspondance n'est trouvée, l'appel sera acheminé à l'option D ou l'option non valide si aucune option D est réglé. Vous ne pouvez pas utiliser les guillemets simples dans ce domaine, seuls les guillemets si elles sont nécessaires. Default est vide pour handicapés. + + @@ -6673,7 +7023,7 @@ if ($ADD==99999) VICIDIAL_CAMPAIGN_HOTKEYS TABLE


    - En utilisant des raccourcis clavier personnalisés, les agents utilisant le client web VICIDIAL peuvent raccrocher et statuer les appels juste en pressant une seule touche du clavier. Il y a deux raccourcis claviers que vous pouvez utiliser en même temps que l'appel du numéro alternatif, ALTPH2 - Alternate Phone Hot Dial et ADDR3 - Adresse3 qui permet à un agent d'utiliser un raccourci pour raccocher l'appel, rester sur la fiche et appeler un autre numéro de la fiche. + En utilisant des raccourcis clavier personnalisés, les agents utilisant le client web VICIDIAL peuvent raccrocher et statuer les appels juste en pressant une seule touche du clavier. Il y a deux raccourcis claviers que vous pouvez utiliser en même temps que l'appel du numéro alternatif, ALTPH2 - Alternate Phone Hot Dial et ADDR3 - Adresse3 qui permet à un agent d'utiliser un raccourci pour raccocher l'appel, rester sur la fiche et appeler un autre numéro de la fiche. Vous pouvez également utiliser LTMG ou XFTAMM que les statuts de déclencher un transfert automatique de l'option Leave-Boîte vocale. @@ -6872,10 +7222,10 @@ if ($ADD==99999)
    - Texte du script - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + Texte du script - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables:
    - <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> + <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> </iframe>

    @@ -6964,6 +7314,26 @@ if ($ADD==99999)
    State Call Time State -<\/B> Ce sont les deux lettres code pour l'état auquel cette définition de période d'appels correspond. Pour que cela prenne effet, la période d'appel locale qui est définie dans la campagne doit avoir cette enregistrement d'état de période d'appel aussi bien que toutes les fiches ayant ces deux lettre codes d'état. + +
    + ID vacances - C'est le nom court d'une définition de vacances. Cela doit être un identifiant unique. Ne pas utiliser d'espaces ou de la ponctuation pour ce champ. maximum 30 caractères, un minimum de 2 caractères. + +
    +
    + Nom de vacances - C'est un nom plus descriptif de la Définition de vacances. Ceci est un bref résumé de la définition de vacances. max 100 caractères, un minimum de 2 caractères. + +
    +
    + Vacances Commentaires - This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-. max 255 characters. + +
    +
    + Date de vacances - Il s'agit de la date de la fête. + +
    +
    + Statut de vacances - C'est l'état de l'entrée de vacances. Signifie le statut actif que la fête sera activé à la date de vacances. Signifie inactif que la fête sera ignorée, même sur la date de vacances. Signifie que le jour férié a passé sa date de vacances EXPIRATION. Défaut est inactif. + @@ -7106,6 +7476,10 @@ if ($ADD==99999) Supprimer messagerie vocale après le courrier électronique - Ce paramètre facultatif vous permet d-avoir les messages vocaux supprimés du système après avoir été envoyé par courriel Out. Par défaut est n. +
    +
    + Message d'accueil - Ce paramètre optionnel vous permet de définir un fichier audio message d'accueil du magasin audio. Défaut est vide. +
    Zone de messagerie vocale - Ce paramètre vous permet de définir la zone que cette boîte vocale sera réglé lorsque le temps est enregistré pour un message. Par défaut est définie dans les paramètres système. @@ -7149,6 +7523,8 @@ if ($ADD==99999)
  • Adresse mail
  • Phrase de sécurité
  • Commentaires +
  • Rank +
  • Owner
    NOTES : La fonctionnalité de chargeur de fil d'exceler est permisepar une série de manuscrits de Perl et doit avoir un dossier en placecorrectement configuré de /etc/astguiclient.conf sur le web server.En outre, des modules d'un Perl de couples doivent être chargés pourelle pour travailler aussi bien - oLE-Storage_Lite-Storage_Lite et leBilan-ParseExcel. Vous pouvez vérifier les erreurs d'exécution dansces derniers en regardant votre dossier d'error_log d'apache. Enoutre, pour des contrôles de duplication contre le gampaignénumère, la liste qui a de nouveaux fils entrer dans lui doit êtrecréée dans le système avant que vous commenciez à charger lesfils. @@ -7240,7 +7616,7 @@ if ($ADD==99999)

    - Définir en tant que Webphone - La définition de cette option à Y va tenter de charger un téléphone basé sur le Web lorsque l'agent se connecte à l'écran de leur agent. Par défaut est N. + Définir en tant que Webphone - La définition de cette option à Y va tenter de charger un téléphone basé sur le Web lorsque l'agent se connecte à l'écran de leur agent. Par défaut est N. L'option Y_API_LAUNCH peut être utilisé avec l'API de l'agent pour lancer le webphone dans une Iframe ou fenêtre séparée.
    @@ -7291,6 +7667,10 @@ if ($ADD==99999) Supprimer messagerie vocale après le courrier électronique - Ce paramètre facultatif vous permet d-avoir les messages vocaux supprimés du système après avoir été envoyé par courriel Out. Par défaut est n. +
    +
    + Message d'accueil - Ce paramètre optionnel vous permet de définir un fichier audio message d'accueil du magasin audio. Défaut est vide. +

    @@ -8120,6 +8500,11 @@ if ($ADD==99999)
    Active Server Boîte vocale - Dans les systèmes multi-serveur, c-est le serveur qui va gérer toutes les boîtes de messagerie vocale. Ce serveur est également lorsque le dial-in générée invites seront téléchargées à partir, le 8168 enregistrements. +
    +
    +
    + La messagerie vocale Sélecteur de voeux - Si ce paramètre est activé, il vous permettra de choisir un fichier audio à partir du magasin audio pour être joué que le message d'accueil d'une boîte vocale spécifique. Par défaut est 0 pour les handicapés. +

    @@ -8185,6 +8570,11 @@ if ($ADD==99999)
    Activer Statistiques liste élargie - Ce réglage permet à deux colonnes supplémentaires pour être affichés sur la plupart des tables de la Liste des dégradation de situation sur la liste et la modification des pages de modification de la campagne. La pénétration est définie comme étant la pour cent des conducteurs qui sont au niveau ou au-dessus de la limite de comptage des appels et la campagne ou le statut est marqué comme complété. Par défaut est 1 pour activé. +
    +
    +
    + Enhanced Disconnect Logging - Ce paramètre active la journalisation des appels qui obtiennent un signal d'encombrement avec un code de cause de 1, 19, 21, 34 ou 38. Habituellement, nous ne recommandons pas l'activation de cette aux Etats-Unis. Par défaut est 0 pour les handicapés. +

    @@ -8201,6 +8591,26 @@ if ($ADD==99999)
    Contacts Enabled - Ce paramètre permet les contacts dans la sous-section Admin qui permet à un gestionnaire d'ajouter, modifier ou supprimer des contacts dans le système qui peuvent être utilisés dans le cadre d'un transfert personnalisé dans une campagne où un agent peut rechercher des contacts par Prénom Nom ou au bureau numéro, puis sélectionnez l'une des nombreux numéros associés à ce contact. Cette fonction est souvent utilisée par les opérateurs ou dans les fonctions de standard où l'utilisateur aurait besoin de transférer un appel vers un téléphone non-agent. Par défaut est 0 pour les handicapés. +
    +
    +
    + Menu Appel qualifier Activé - Ce paramètre active l'option dans les menus d'appel pour mettre une qualification SQL sur les personnes qui entendent que le menu d'appel. Pour plus d'informations sur la façon dont cette fonctionnalité fonctionne, consultez l'aide pour les menus d'appel. Par défaut est 0 pour les handicapés. + +
    +
    +
    + Niveau 8 désactiver des - Ce paramètre si elle est activée empêchera tout utilisateur de niveau 8 de l'ajout ou la copie de tout document dans le système, quelles que soient leurs réglages de l'utilisateur sont. Sont exclus de ces restrictions sont la possibilité d'ajouter des numéros de téléphone Groupes DNC et le filtre et la page Ajouter un nouveau chef de file. Par défaut est 0 pour les handicapés. + +
    +
    +
    + Liste des comtes d'administration - Ce réglage permet de désactiver la liste des chefs d'accusation qui figurent sur la liste des listes et des écrans de forçage de la campagne. Défaut est 1 pour activé. + +
    +
    +
    + Laisser Emails - C'est là que vous pouvez définir si ce système sera en mesure de recevoir des e-mails entrants, en plus des appels téléphoniques. +

    @@ -8366,6 +8776,16 @@ if ($ADD==99999)
    Téléphone QueueMetrics Environnement Téléphone Append - Cette option, si elle est activée, va ajouter le login de téléphone d'agent à l'enregistrement données4 dans la table du journal file d'attente si le domaine de l'environnement de la campagne est peuplée Téléphone. Par défaut est 0 pour les handicapés. +
    +
    +
    + QueueMetrics Socket Envoyer - Cette option, si elle est activée, va envoyer des données QM vers une page web qui va l'envoyer à travers une prise pour la connexion. L'option CONNECT_COMPLETE enverra événements CONNECT, COMPLETEAGENT et COMPLETECALLER à l'URL définie ci-dessous. Défaut est NONE pour handicapés. + +
    +
    +
    + QueueMetrics Socket Envoyer URL - Si Socket Send est activé au-dessus, c'est l'URL qui est utilisé pour envoyer les données. Par défaut est vide pour handicapés. +

    @@ -8449,7 +8869,110 @@ if ($ADD==99999)



    + 0) + { + ?> + Comptes de messagerie Vicidial

    +
    +
    + The Vicidial Comptes de messagerie management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE. +
    +
    +
    + Email Account ID - C'est le nom abrégé du compte e-mail, il n'est pas modifiable après la présentation initiale, ne doivent pas contenir d'espaces et doit être comprise entre 2 et 20 caractères de long. + +
    +
    +
    + Email Nom du compte - Il s'agit du nom complet du compte de messagerie, il doit être compris entre 2 et 30 caractères de long. + +
    +
    +
    + Active - Cela détermine si ce compte sera vérifié pour les nouveaux messages e-mail pour être chargé dans le composeur. + +
    +
    +
    + Email Description de compte - This allows for a lengthy description, if needed, of the email account. 255 characters max. + +
    +
    +
    + Email Type de compte - Specifies whether the account is used for inbound or outbound email messages. Should be set to INBOUND. + +
    +
    +
    + Groupe d'utilisateurs d'administration - C'est le groupe d'utilisateur d'administration pour ce groupe entrant, ce qui permet la visualisation de cette administration en groupe restreint par groupe d'utilisateurs. Par défaut est - ALL - qui permet à tout utilisateur admin pour voir ce groupe en. + +
    +
    +
    + Email Protocole de compte - This is the email protocol used by the account you are setting up access to. Currently only IMAP and POP3 accounts are supported. + +
    +
    +
    + Email Adresse de réponse - The email address of the account you are setting up access to. Replies to email messages from the agent interface will read as coming from this address. + +
    +
    +
    + Email Account Serveur - Le serveur de messagerie que le compte est logé sur. + +
    +
    +
    + Email Utilisateur Account - The login used to access this account. Usually it's the portion of the reply-to address before the -at- symbol. + +
    +
    +
    + Email Account Mot de passe - The password used to access this account. This is usually set at the time the email account is created. + +
    +
    +
    + Email Frequency Check Rate (mins) - How often this email account should be checked. The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time. + +
    +
    +
    + ID en groupe - L'In-Group que les e-mails seront envoyés aux. + +
    +
    +
    + ID par défaut de la liste - L'ID de la liste qui mène sera insérée dans le cas échéant. + +
    +
    +
    + En appel de groupe Méthode de poignée - This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into vicidial_list as a new lead. EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "Dans le groupe de campagne ID" box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group Liste ID" box below. + +
    +
    +
    + In-Group Agent Méthode de recherche - La méthode de recherche de l'agent pour être utilisé par le groupe entrant, LO est Load-Balanced-débordement et va essayer d'envoyer l'appel à un agent sur le serveur local avant d'essayer de parvenir à un agent sur un autre serveur, LB est à charge équilibrée et va essayer d'envoyer l'appel vers l'agent suivant, peu importe quel serveur ils sont allumées, est serveur uniquement et ne tentera d'envoyer les appels aux agents sur le serveur que l'appel est arrivé sur. Par défaut LB. IS THIS NECESSARY? + +
    +
    +
    + In-Group Liste ID - C'est l'ID de la liste qui sera utilisé pour rechercher un donneur compatible dans. + +
    +
    +
    + Dans le groupe de campagne ID - C'est l'ID de campagne qui sera utilisé pour rechercher un donneur compatible dans. + + + + +



    + VICIDIAL CUSTOM TEMPLATE MAKER


    @@ -8496,7 +9019,7 @@ if ($ADD==99999) Maximum du système des rapports statistiques


    - Ces statistiques sont mises en cache totaux qui sont stockés sur chaque journée de en temps réel par le biais des processus back-end. Pour les appels entrants, les appels totaux par en-groupe sont calculés pour chaque appel qui pénètre dans le processus qui calcule. Pour les chefs d'accusation ensemble du système, les totaux sont générés à partir des entrées de journal ainsi que d'autres totaux en groupe et de la campagne. Ces totaux peuvent ne pas s'additionner à cause des paramètres que vous avez dans votre système ainsi que lorsque l'appel est raccroché. + Ces statistiques sont mises en cache totaux qui sont stockés sur chaque journée de en temps réel par le biais des processus back-end. Pour les appels entrants, les appels totaux par en-groupe sont calculés pour chaque appel qui pénètre dans le processus qui calcule. Pour les chefs d'accusation ensemble du système, les totaux sont générés à partir des entrées de journal ainsi que d'autres totaux en groupe et de la campagne. Ces totaux peuvent ne pas s'additionner à cause des paramètres que vous avez dans votre système ainsi que lorsque l'appel est raccroché. VICIDIAL QC ÉTAT DES CODES


    - The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + The Contrôle de la qualité-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. +



    + Rapports

    + +
    +
    + Agent Time Détails - In this report you can view how much time agents spent on what.
    + TIME CLOCK = Time the agent been logged in to the time clock.
    + AGENT TIME = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + PAUSE = Time the agent is in pause mode (LOGIN + LAGGED + ...).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + - The next table is pause codes and their time.
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +
    +
    + Agent Status Détail - In this report you can view what and how many statuses has been selected by the agents.
    + CALLS = Total number of calls sent to the user.
    + CIcalls = Total number of call where there was a Réponse de l'homme which is set under "Admin" -> "System Statuts".
    + DNC/CI% = How much in percent DNC (Do Not Call) per Réponse de l'hommes.
    + And the rest is justStatuts De Systèmethat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Statuts".
    + +
    +
    + Agent Performance Détail - This is a combination of Agent Time Détails and Agent Status Détail.
    + (Statistics related to handling of calls only)
    + CALLS = Total number of calls sent to the user.
    + TIME = Total time of these (PAUSE + WAIT + TALK + DISPO).
    + PAUSE = Amount of time being paused in related to call handling.
    + AVG means Average so everything -AVG is for example amount of PAUSE-time divided by total number of calls: (PAUSE / CALLS = PAUSAVG)
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + And the rest is justStatuts De Systèmethat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Statuts".
    + - Next table is Pause Codes.
    + TOTAL = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + NONPAUSE = Everything except pause (WAIT + TALK + DISPO).
    + PAUSE = Only Pause.
    + - The last table is pause codes and their time (like "Agent Time Détails").
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +















    @@ -8581,7 +9157,7 @@ if ($ADD==73) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -8594,11 +9170,19 @@ if ($ADD==73) echo "FILTER: $lead_filter_id
    \n"; echo "CALL LIMIT: $call_count_limit\n"; echo "CALL TIME: $local_call_time

    \n"; + echo "With Filter:\n"; + echo "

    \n"; ### call function to calculate and print dialable leads $single_status=0; dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,$fSQL); + echo "

    \n"; + echo "Without Filter:\n"; + echo "

    \n"; + + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,''); + echo "

    \n"; echo "\n"; @@ -8690,6 +9274,7 @@ if ($ADD==7111111) $agent_log_id = 'agent_log_id'; $entry_list_id = 'entry_list_id'; $call_id = 'call_id'; + $user_group = 'user_group'; echo "\n"; echo "\n"; @@ -8841,6 +9426,7 @@ if ($ADD==7111111) $script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); $script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); $script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); + $script_text = eregi_replace('--A--user_group--B--',"$user_group",$script_text); $script_text = eregi_replace("\n","
    ",$script_text); @@ -8981,7 +9567,7 @@ if ($ADD=="1A") if ($LOGuser_level==9) {$levelMAX=10;} else {$levelMAX=$LOGuser_level;} - echo "
  • \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) { @@ -9116,6 +9702,7 @@ if ($ADD==11) echo "\n"; + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -9236,7 +9823,7 @@ if ($ADD==111) } else { - echo "\n"; + echo "\n"; } echo "\n"; echo "\n"; @@ -9275,6 +9862,9 @@ if ($ADD==111) if ($ADD==121) { + ### filter for DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); + echo "
    NUEVO CONTACTO DE MARCACIÓN MANUAL PARA :

    Ingrese la información del nuevo contacto al que desea llamar a continuación. + - + @@ -13613,7 +15164,7 @@ Transferencia a los agentes disponibles: <
    NUEVO CONTACTO DE MARCACIÓN MANUAL PARA :

    Ingrese la información del nuevo contacto al que desea llamar a continuación.
    \n"; } @@ -13578,9 +15125,9 @@ Transferencia a los agentes disponibles: <
    Código de marcación:   (Éste, por lo general, es un 1 en EE.UU. y Canadá)
    Teléfono Number: Número de Teléfono: -   (digits only) +   (sólo dígitos) @@ -13593,6 +15140,10 @@ Transferencia a los agentes disponibles: <

        +

    +     +

    +


    Si usted desea marcar un número y NO desea agregarlo como nuevo contacto, captúrelo en la cadena de marcación a la que desea llamar del campo de invalidación de marcación siguiente. Para colgar esta llamada, tendrá que abrir el enlace de LLAMADAS EN ESTA SESIÓN en la parte inferior de la pantalla y colgarla al hacer click en el enlace del canal que se encuentra ahí.
     
    SELECCIÓN DEL GRUPO DE VERIFICADORES ENTRANTES

    \n";} + {echo "

    \n";} ?> Selección del grupo de verificadores entrantes
    @@ -13635,7 +15186,7 @@ Transferencia a los agentes disponibles: <
    TERRITORIO DE SELECCIÓN

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Transferencia a los agentes disponibles: < -
          AGENT LLAMADA LOG:             close [X]
    +
          Registro de llamada de agente:             cerrar [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Transferencia a los agentes disponibles: < -
          Buscar un contacto:             close [X]
    + @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          Buscar un contacto:             cerrar [X]

    \n";} + {echo "

    \n";} ?>

    Notas: al hacer una búsqueda de un contacto, los términos de búsqueda comodín o parcial no se les permite.
    Solicitudes de contacto de búsqueda están registra en el sistema de. @@ -13679,31 +15230,31 @@ Transferencia a los agentes disponibles: <
    - + - + - + - + - + - + - + - + - +
    Office Number: Número de la oficina:
    Primero Name: Nombre:
    Último Name: Apellido:
    BU Name: BU Nombre:
    Department: Departamento:
    Group Name: Nombre del grupo:
    Job Título: Título del trabajo:
    Location: Ubicación:

    INGRESAR SEARCH             Nueva búsqueda

    Enviar búsqueda             Nueva búsqueda


      @@ -13711,10 +15262,10 @@ Transferencia a los agentes disponibles: < - \n";} ?> - + 0) + {echo "\n";} + ?> +
          CONTACTOS RESULTADOS DE LA BÚSQUEDA:             close [X]
    +
          CONTACTOS RESULTADOS DE LA BÚSQUEDA:             cerrar [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Transferencia a los agentes disponibles: < - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH Agent VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Gestionnairesends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, MISE EN ATT, FROMMISE EN ATT, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("vous devez sélectionner un agent de transfert lors de l'utilisation agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Recup."; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Mettre"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Recup."; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Mettre"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Recup."; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Mettre"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Recup."; - if (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Mettre"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move sur to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (NomCallbackCount < CBcounT) || (NomCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - NomCallbackCount = CBcounT; - NomCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (NomCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - NomCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          BUSCAR UN PLOMO:             close [X]
    +
          BUSCAR UN PLOMO:             cerrar [X]

    \n";} + {echo "

    \n";} ?>

    Notas: cuando se hace una búsqueda de una ventaja, el número de teléfono, llevar DNI o son los mejores campos de usar.
    Utilizando los otros campos puede ser más lenta. La búsqueda de plomo no permite términos de búsqueda comodín o parcial.
    Las solicitudes de búsqueda de plomo están registra en el sistema de. @@ -13733,10 +15284,10 @@ Transferencia a los agentes disponibles: <
    - + - + - + @@ -13765,7 +15316,7 @@ Transferencia a los agentes disponibles: < - +
    Teléfono Number: Número de Teléfono:
    Teléfono Number Fields: Los campos de número de teléfono: Número de teléfono Principal Número de teléfono alternativo @@ -13744,7 +15295,7 @@ Transferencia a los agentes disponibles: <
    Lead ID: Número de registro(Lead ID):
    : :

    INGRESAR SEARCH             Nueva búsqueda

    Enviar búsqueda             Nueva búsqueda


      @@ -13773,34 +15324,34 @@ Transferencia a los agentes disponibles: < - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          RESULTADOS DE LA BÚSQUEDA:             close [X]
    +
          RESULTADOS DE LA BÚSQUEDA:             cerrar [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          Notas de la llamada LOG:             close [X]
    + +
          Notas de la llamada LOG:             cerrar [X]

    \n";} + {echo "

    \n";} ?> -
    Lista de llamadas Notas
    +
    Lista de llamadas Notas


      - Cerrar cuadro de información + Cerrar cuadro de información
    - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Información del cliente:             close [X] + \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Información del cliente:             cerrar [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Transferencia a los agentes disponibles: < \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    SELECCIONE UN CÓDIGO DE PAUSA :

    \n";} + {echo "

    \n";} ?> Pausa Code Selection @@ -13824,7 +15375,7 @@ Transferencia a los agentes disponibles: < --> diff --git a/agc_2-X/trunk/LANG_www/agc_fr/vicidial.php b/agc_2-X/trunk/LANG_www/agc_fr/vicidial.php index 19847d72..ae2550a4 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the téléphone connexion $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls sur hold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Raccrocher $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT COMPOSER by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable autre COMPOSER by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link sur the agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Titre'; +$label_title = ' Titre'; $label_first_name = 'Prenom'; $label_middle_initial = 'MI'; -$label_last_name = 'Nom'; +$label_last_name = 'Nom '; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'Ville'; -$label_state = 'État'; +$label_state = ' État'; $label_province = 'Province'; $label_postal_code = 'CodePostal'; $label_vendor_lead_code = 'CodeVendeur'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Téléphone'; $label_phone_code = 'DialCode'; $label_alt_phone = 'Tel. 2nd'; $label_security_phrase = 'Visualiser'; $label_email = 'Email'; -$label_comments = 'Commentaires'; +$label_comments = ' Commentaires'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF Agent SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    Elija un preset :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Transferencia a los agentes disponibles: <
    SELECCIONAR UN ALIAS DE GRUPO :

    \n";} + {echo "

    \n";} ?> Selección del alias de grupo @@ -13843,6 +15394,18 @@ Transferencia a los agentes disponibles: <
    + +
    SELECCIONAR UN MARCAR EN GRUPO :
    +
    \n";} + ?> + Marque En-Group Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Transferencia a los agentes disponibles: <
    + +
    Otra sesión de agente en vivo fue abierta con su nombre de usuario. Se ha desactivado. Haga clic en Aceptar para continuar con la pantalla de agente.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Transferencia a los agentes disponibles: < exit; -?> \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_es/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_es/voicemail_check.php index 2aa600b3..981ba3df 100644 --- a/agc_2-X/trunk/LANG_www/agc_es/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_es/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; - exit; + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Revisar el buzón de voz"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Revisar el buzón de voz"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "buzón de voz $vmail_box No es válido\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_fr/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_fr/active_list_refresh.php index 2e9c0760..37065266 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Invalide Username/Mot de passe: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Invalide session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Mode Liste: "; -if ($ADD==1) {echo "Extensions en cours d'appel";} -if ($ADD==2) {echo "Extensions Occupées";} -if ($ADD==3) {echo "Lignes Extérieures";} -if ($ADD==4) {echo "Extensions Locales";} -if ($ADD==5) {echo "Conférences";} -if ($ADD==99999) {echo "AIDE";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mode Liste: "; + if ($ADD==1) {echo "Extensions en cours d'appel";} + if ($ADD==2) {echo "Extensions Occupées";} + if ($ADD==3) {echo "Lignes Extérieures";} + if ($ADD==4) {echo "Extensions Locales";} + if ($ADD==5) {echo "Conférences";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_fr/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_fr/astguiclient.php index 1fd4ee69..8cbcaaf2 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Enregistrement"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Enregistrement"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "APPELS EN COURS SUR CE TELEPHONE:
    "; + var live_calls_HTML = "APPELS EN COURS SUR CE TELEPHONE:
    #CANAL CLIENTCANAL DISTANTRECORDRACCROCHERTRANSFERTMISE EN ATT
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Enregistrementbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Arrêter l'Enregistrement";} else - {live_calls_HTML = live_calls_HTML + "Enregistrement";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "CONFÉRENCE " + head_conf + "    Enregistré à: " + head_reg + "   " + reglink + "         Rejoindre la Conférence
    Rafraichir     Enregistrement         Envoyez DTMF         Appels a pertir d'une Conférence
    "; + var conf_head_HTML = "CONFÉRENCE " + head_conf + "    Enregistré à: " + head_reg + "   " + reglink + "         Rejoindre la Conférence
    Rafraichir     Record         Envoyez DTMF         Appels a pertir d'une Conférence
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    #CANAL CLIENTCANAL DISTANTRECORDRACCROCHERTRANSFERTPARK
    RACCROCHERTRANSFERTMISE EN ATT
    RACCROCHERTRANSFERTPARK
    "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK raccrochage

    Active Trunks Menu
    Raccrocher le Faisceau   |   Intercepter le Faisceau   |   diff --git a/agc_2-X/trunk/LANG_www/agc_fr/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_fr/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_fr/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_fr/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_fr/call_log_display.php index 8a52cf2b..7330dc2c 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Invalide Username/Mot de passe: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Invalide session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Affichage de l'historique d'Appel"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Affichage de l'historique d'Appel"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten est invalide ou protocole $protocol est invalide\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_fr/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_fr/conf_exten_check.php index 89358bdc..58fd5909 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF Agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Statut: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_fr/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_fr/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_fr/functions.php b/agc_2-X/trunk/LANG_www/agc_fr/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_fr/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_fr/inbound_popup.php index 1b734c3b..95dfae71 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_fr/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_fr/live_exten_check.php index 85224fc3..c82c8af7 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Invalide Username/Mot de passe: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Invalide session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Vérification De l'extension"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Vérification De l'extension"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten est invalide ou protocole $protocol est invalide\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_fr/manager_send.php b/agc_2-X/trunk/LANG_www/agc_fr/manager_send.php index 3e5c6e11..f0f3a1b6 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "AIDE";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Vous n-êtes pas autorisé à composer dans les séances d-un autre agent $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate commande envoyée pour Exten $exten Canal $channel sur $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='MISE EN ATTED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='MISE EN ATT',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='MISE EN ATT',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='MISE EN ATT_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRMISE EN ATTED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRMISE EN ATT',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRMISE EN ATT',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context est obligatoire\n"; echo "ext_priority $ext_priority est obligatoire\n"; echo "\nRedirect Action pas envoyé\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference sur $server_ip, Redirect commande non insérée\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Il n'y a pas de conférence disponible sur $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Il n'y a pas de conférence disponible sur $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel n'est pas en ligne sur $call_server_ip, Redirect commande non insérée\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel n'est pas en ligne sur $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel n'est pas en ligne sur $server_ip, Redirect commande non insérée\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel n'est pas en ligne sur $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect commande non insérée\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX commande envoyée pour Canal $channel sur $call_server_ip and \nHungup $extrachannel sur $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel sur $call_server_ip, Hungup $extrachannel sur $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel sur $call_server_ip, Hungup $extrachannel sur $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel sur $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel sur $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority est obligatoire\n"; echo "session_id $session_id est obligatoire\n"; echo "\nRedirect Action pas envoyé\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference sur $server_ip, Redirect commande non insérée\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Il n'y a pas de conférence disponible sur $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Il n'y a pas de conférence disponible sur $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel n'est pas en ligne sur $call_server_ip, Redirect commande non insérée\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel n'est pas en ligne sur $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel n'est pas en ligne sur $server_ip, Redirect commande non insérée\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel n'est pas en ligne sur $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra commande envoyée pour Canal $channel and \nExtraChannel $extrachannel\n to $exten sur $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten sur $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten sur $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra commande envoyée pour Canal $channel sur $call_server_ip and \nExtraChannel $extrachannel\n to $exten sur $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going sur in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_fr/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_fr/park_calls_display.php index bc20d026..55d2fa40 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_fr/phone_only.php b/agc_2-X/trunk/LANG_www/agc_fr/phone_only.php index 8f3a09af..ce2ea503 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the téléphone connexion $clientDST = '1'; # set to 1 to check for DST sur server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link sur the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Téléphone web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Français
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Téléphone-Only Ouverture de Session
     
    Ouverture de Session:
    Mot de passe Utilisateur:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Téléphone web client: Ouverture de Session téléphonique\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Français
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Téléphone-Only Ouverture de Session
     
    Ouverture de Session téléphonique:
    Mot de passe du Téléphone:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Téléphone web client: Ouverture de Session téléphonique\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo "Timeclock
    \n";} - echo "\n"; + {echo "Timeclock
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Français
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Téléphone-Only Ouverture de Session
     
    Ouverture de Session téléphonique:
    Mot de passe du Téléphone:
      \n"; - echo "

    VERSION: $version       BUILD: $build
    \n"; - echo "
    \n\n"; +echo "
    English Français
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Téléphone-Only Ouverture de Session
     
    Ouverture de Session téléphonique:
    Mot de passe du Téléphone:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_fr/timeclock.php b/agc_2-X/trunk/LANG_www/agc_fr/timeclock.php index 20a6c8dd..2d969824 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_fr/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_fr/vdc_db_query.php index def3a337..b981fd92 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLeadStatut"])) {$CallBackLeadStatut=$_GET["CallBackLeadStatut"];} - elseif (isset($_POST["CallBackLeadStatut"])) {$CallBackLeadStatut=$_POST["CallBackLeadStatut"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Invalide Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Adresse Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Serveur Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Serveur Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF Agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF Agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "GestionnaireOuverture de Session:
    \n"; $VDdisplayMESSAGE.= "GestionnaireMot de passe:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NOMBRE\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NOMBRE\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NOMBRE\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST APPEL TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST APPEL TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP dernier NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN dernier NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP dernier appel TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN dernier appel TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Commentaires + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Commentaires + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Téléphone and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "téléphone et code postal fuseau horaire décalage! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append en campagne $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # APPELOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # APPELOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings en campagne $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " APPEL NOT PLACED\nDNC NOMBRE\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " APPEL NOT PLACED\nDNC NOMBRE\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " APPEL NOT PLACED\nNOMBRE NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "NOTATION NON ENTRÉE\n"; echo "uniqueid $uniqueid or lead_id: $lead_id est invalide\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Commentaires + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Commentaires + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagne $campaign est invalide\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups sur vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row sur selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send sur to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user sur $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagne $campaign est invalide or lead_id $lead_id est invalide\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Commentaires + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Commentaires + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send sur to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user sur $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-en campagne as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Commentaires Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLeadStatut) > 0) {$log_dispo_choice = $CallBackLeadStatut;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,14 +8501,14 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### APPELBACK ENTRY + ### callback ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatut');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6453,7 +8542,7 @@ if ($ACTION == 'updateDISPO') } ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' a été changé en ' . $dispo_choice . " Statut\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' a été changé en ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDRE[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDRE[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserORDRE); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserORDRE[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -PRÊT      -INCALL      -PAUSE  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Appels en attente Voir désactivé pour cette campagne\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info sur the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "aller       "; + echo " proche "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     téléphone     nom et prénom     attendre     Agent           APPEL GROUP     TYPE     appel de groupe     catégorie  
    TAKE APPEL  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "erreur: vous devez saisir en termes de recherche, l'un d'entre eux doivent être remplis: id plomb, identification du fournisseur, numéro de téléphone, nom de famille\n"; echo "

    "; echo "Retour"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     Date\/heure     longueur     STATUT     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     téléphone     nom et prénom     campagne     dans et hors     autre     raccrochage     infos     COMPOSER  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL infos COMPOSER COMPOSER
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "erreur: il y avait un problème avec vos termes de recherche\n"; echo "

    "; echo "Retour"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "erreur: vous devez saisir en termes de recherche, l'un d'entre eux doivent être remplis: le numéro du bureau, nom, prénom\n"; echo "

    "; echo "Retour"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "erreur: il y avait un problème avec vos termes de recherche\n"; echo "

    "; echo "Retour"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no Identifiant conduire";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Titre'; + $label_title = ' Titre'; $label_first_name = 'Prenom'; $label_middle_initial = 'MI'; - $label_last_name = 'Nom'; + $label_last_name = 'Nom '; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'Ville'; - $label_state = 'État'; + $label_state = ' État'; $label_province = 'Province'; $label_postal_code = 'CodePostal'; $label_vendor_lead_code = 'CodeVendeur'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Téléphone'; $label_phone_code = 'DialCode'; $label_alt_phone = 'Tel. 2nd'; $label_security_phrase = 'Visualiser'; - $label_email = 'Email'; - $label_comments = 'Commentaires'; + $label_email = ' Email'; + $label_comments = ' Commentaires'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Téléphone and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "téléphone et code postal fuseau horaire décalage! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     nom et prénom     téléphone     STATUT     LAST APPEL     CITY     STATE     ZIP     INFO     dernier appel     ville     Etat     zip     infos     COMPOSER  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL infos COMPOSER COMPOSER sélectionner
      #     FIRST NAME     LAST NAME     dernier NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       emplacement: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Appelé Since Nom Reset:   $row[4]
    fuseau horaire:   $row[3]
    appelé depuis la dernière réinitialisation:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " COMPOSER ";} + else + {$INFOout .= " COMPOSER ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    composez le lien:   COMPOSER ";} + else + {$INFOout .= "
    composez le lien:   COMPOSER ";} } $INFOout .= "
    sélectionner ce fil
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " COMPOSER ";} + else + {$INFOout .= " COMPOSER ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Appelé Count:   $row[24]
    Nom Local Call Time:   $row[25]
    nombre d'appels:   $row[24]
    dernière fois d'un appel local:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    email journal pour ce conducteur:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     Date\/heure     Agent     longueur     STATUT     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     téléphone     campagne     dans et hors     autre     raccrochage  
      FULL NAME     nom et prénom  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   Date\/heure   Agent   campagne   par courriel à   pièces jointes
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Appels en attente Voir désactivé pour cette campagne\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "non identifiés code de cause de raccrochage."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_fr/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_fr/vdc_email_display.php new file mode 100644 index 00000000..d584fe4b --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_fr/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Invalide Username/Mot de passe: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Invalide File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" sur the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    pièces jointes:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    pièces jointes:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_fr/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_fr/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_notes.php index c84714c7..ca0bd7b0 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Titre'; +$label_title = 'Title'; $label_first_name = 'Prenom'; $label_middle_initial = 'MI'; -$label_last_name = 'Nom'; +$label_last_name = 'Last'; $label_address1 = 'Adresse1'; $label_address2 = 'Adresse2'; $label_address3 = 'Adresse3'; $label_city = 'Ville'; -$label_state = 'État'; +$label_state = 'State'; $label_province = 'Province'; $label_postal_code = 'CodePostal'; $label_vendor_lead_code = 'CodeVendeur'; @@ -265,7 +266,7 @@ $label_phone_code = 'DialCode'; $label_alt_phone = 'Tel. 2nd'; $label_security_phrase = 'Visualiser'; $label_email = 'Email'; -$label_comments = 'Commentaires'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *
    Campagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -907,7 +932,7 @@ echo "
    Campagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -957,7 +982,7 @@ echo "
    Campagne: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login téléphone connexion
     
    Ouverture de Session téléphonique:
    Mot de passe du Téléphone:
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF Agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "Vous devez vous connecter pour timeclock LE PREMIER
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF Agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND Agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "GestionnaireOuverture de Session:
    \n"; $VDdisplayMESSAGE.= "GestionnaireMot de passe:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND Agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Ouverture de Campagne\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Mot de passe:
    \n"; echo "Campagne: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1603,7 +1632,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // téléphone OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Campagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Mot de passe du Téléphone:

    VERSION: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END téléphone connexion load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NOUVEAU record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today sur that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Mot de passe:
    \n"; echo "Campagne: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Janvier','February','Mars','Avril','Mai','Juin', +$Cmonths = Array('0','Janvier','February','Mars','Avril','Mai','Juin', 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLeadStatut = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var NomCallCID=''; - var NomCallbackCount=0; - var NomCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Résumé\""; var DiaLControl_auto_HTML_ready = "\"\"Résumé\""; var DiaLControl_auto_HTML_OFF = "\"\"Résumé\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "alerte est présent"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "alerte est éteint"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'MISE EN ATT_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'MISE EN ATT_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'MISE EN ATT_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'MISE EN ATT_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'MISE EN ATT_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'MISE EN ATT_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'MISE EN ATT_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'MISE EN ATT_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'MISE EN ATT_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'MISE EN ATT_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'MISE EN ATT_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("AgentStatutStatut").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("AgentStatutCalls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("AgentStatutDiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,7 +4498,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("Statut: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'MISE EN ATT_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'MISE EN ATT_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'MISE EN ATT_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLeadStatut = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbCOMMENTS; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatut + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "Enregistrement
    px\">\">" + var CB_HTML = "
    # APPELBACK DATE/TIMENOMBREINFONAME STATUTCAMPAIGNLAST APPEL DATE/TIME COMPOSER ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - NomCallbackViewed=1; - NomCallbackCount = (NomCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Groupe Alias: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Cliquez ici pour choisir un groupe Alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "composer en groupe: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "cliquez ici pour choisir un cadran en groupe"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Cliquez ici pour activer"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while sur inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Commentaires (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Commentaires + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Dernier Appel :" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Rappel :" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent :" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Commentaires:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Formulaire\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulaire\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     cliquez ici pour désactiver"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Cliquez ici pour activer"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Appelé: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Mettre"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Expiration du délais de numérotation, contactez votre administrateur système\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Appel"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Mettre"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Appel"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Appel"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - NomCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("LISTE D'APPEL VIDE","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Plus de fiches clients éligibles pour cette campagne:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Ce numéro de téléphone n'est pas dans la campagne des listes:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Ce numéro de téléphone est en dehors du temps d'un appel local:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Erreur non spécifiée:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Appel"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Résumé\"
    \"Appel"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("LISTE D'APPEL VIDE","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Plus de fiches clients éligibles pour cette campagne:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Ce numéro de téléphone n'est pas dans la campagne des listes:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Ce numéro de téléphone est en dehors du temps d'un appel local:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Erreur non spécifiée:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Appel"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Appeler: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Formulaire\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulaire\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS APPELBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Dernier Appel :" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Rappel :" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agent :" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Commentaires:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Raccrocher\""; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Résumé\"
    \"Appel"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Commentaires (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Commentaires + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Appeler: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Formulaire\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulaire\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Dernier Appel :" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Rappel :" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent :" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Commentaires:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Raccrocher\""; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,13 +7755,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT numéro: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: autre ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT numéro: ADRESSE3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: ADRESSE3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT numéro: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Code et numéro de téléphone: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + NomCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - NomCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " APPEL NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - NomCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Commentaires (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Commentaires + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS APPELBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Dernier Appel :" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Rappel :" + CBcallback_time; @@ -7677,13 +8444,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT numéro: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: autre ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT numéro: ADRESSE3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: ADRESSE3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT numéro: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Code et numéro de téléphone: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Mettre"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Entrant: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add sur all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS APPEL PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrant: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Dernier Appel :" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Rappel :" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent :" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Commentaires:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: autre ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: ADRESSE3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " autre numéro: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Code et numéro de téléphone: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Modifiez ce numéro de téléphone à INACTIVE";} + else + {EAactive_link = "Modifiez ce numéro de téléphone à ACTIVE";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Active:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Notes:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrant: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Mettre"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Raccrocher\""; + + document.getElementById("XferControl").innerHTML = "\"Transfert"; + + document.getElementById("LocalCloser").innerHTML = "\"CLOSER"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Transfert"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Quick"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Transfert"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Résumé\"
    \"Appel"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Formulaire\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulaire\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Entrant: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulaire"; } document.getElementById("ParkControl").innerHTML = "\"Mettre"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("VOUS DEVEZ ÊTRE EN PAUSE POUR RECHERCHER UN PLOMB"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("VOUS DEVEZ ÊTRE EN PAUSE POUR RECHERCHER UN PLOMB"); + alert_box("vous devez être sur un appel entrant actif pour rechercher un plomb"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the composer en groupe Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # callback Date\/heure NOMBRE infos nom et prénom STATUT campagne dernier appel Date\/heure COMPOSER autre
    composer en groupe
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Retour"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatut=" + CallBackLeadStatut + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLeadStatut = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error sur this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " réduire "; document.getElementById("DispoSelectHAspan").innerHTML = "Décrochement Encore"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "prochaine pause d'appel"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + NomCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - NomCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the composer en groupe + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "composer en groupe: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they proche their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Votre Shift est au dessus ou a changé, vous avez été déconnecté de votre session

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or proche the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or proche the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or proche the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("VOUS DEVEZ ÊTRE EN PAUSE POUR RECHERCHER UN PLOMB"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Rafraichir the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause sur the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "prochaine pause d'appel Set"; + } + + // ################################################################################ // Visualiser the groups selection span function OpeNGrouPSelectioN() @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLeadStatut = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLeadStatut = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "composer une alerte:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('BienvenueBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,6 +13229,7 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11807,13 +13263,15 @@ function phone_number_format(formatphone) { hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('AgentStatutCalls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('AgentStatutSpan');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Manuel de la file est désactivé
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_MISE EN ATT_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentViewStatut',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY raccrochage " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "LES GROUPES     \n";} ?> DÉCONNEXION\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    Id de session:     Appel en cours
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; Prévisualisation
    APPEL NUM. 2nd.
    + prochaine pause d'appel
    + + Enregistrer

    Formulaire Web
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Mettre en Attente
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Informations Client:         LEAD RECHERCHE";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,14 +14559,15 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "alerte est présent";} else - {echo "Alert is OFF";} + {echo "alerte est éteint";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -RACCOURCIS INACTIFS - - secondes:     @@ -13130,8 +14648,8 @@ $zi=2;
    - -Votre Statut:
    Calls Dialing: + +Votre Statut:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -Autres agents Etat:  
     
    +Autres agents Etat:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +réinitialiser la forme + + + +refresh @@ -13360,7 +14890,7 @@ Transfert des agents disponibles: -
    Raccourcis clavier des Statut: +
    Raccourcis clavier des Status: Si actif, utilisez le raccourci clavier pour statuer et raccrocher un appel:
    @@ -13374,6 +14904,23 @@ Transfert des agents disponibles:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +RACCOURCIS INACTIFS + + + + + px height='px'> + + + + + + +
    Voir le commentaire historique:
    +
    + @@ -13447,7 +14994,7 @@ Transfert des agents disponibles: -
    Votre session a été neutralisée
    DÉCONNEXION

    Retour +
    Votre session a été neutralisée
    DÉCONNEXION

    @@ -13476,7 +15023,7 @@ Transfert des agents disponibles:
    STATUER L'APPEL :       Décrochement Encore       réduire

    \n";} + {echo "

    \n";} ?> @@ -13487,7 +15034,7 @@ Transfert des agents disponibles: EFFACER LE FORMULAIRE | VALIDER

    - WEB FORM VALIDER + forme web soumettre

     
    @@ -13496,7 +15043,7 @@ Transfert des agents disponibles:
    Choisissez une date de Rappel :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ Transfert des agents disponibles:
    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Transfert des agents disponibles: -
    NOUVEL APPEL MANUEL VERS :

    Nouveau prospect: remplissez le formulaire ci dessous. + - + @@ -13613,7 +15164,7 @@ Transfert des agents disponibles:
    NOUVEL APPEL MANUEL VERS :

    Nouveau prospect: remplissez le formulaire ci dessous.
    \n"; } @@ -13578,9 +15125,9 @@ Transfert des agents disponibles: Code d'Appel:
      (La valeur de ce champ est habituellement 1 aux Etats-Unis et au Canada)
    Téléphone Number: numéro de téléphone: -   (digits only) +   (chiffres seulement) @@ -13593,6 +15140,10 @@ Transfert des agents disponibles:

        +

    +     +

    +


    Si vous désirez composer un numéro sans insérer de nouvelle fiche client, entrez le N° a appeler dans le champ Surnumerotation. Pour raccrocher cet appel, vous devrez ouvrir la page Appels en Cours et raccrocher manuellement le canal correspondant.
     
    UN CHOIX DE GROUPE D'ARRIVÉE PLUS ÉTROIT

    \n";} + {echo "

    \n";} ?> Un Choix De Groupe D'arrivée Plus étroit
    @@ -13635,7 +15186,7 @@ Transfert des agents disponibles:
    SÉLECTION DU TERRITOIRE

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Transfert des agents disponibles: -
          AGENT APPEL LOG:             close [X]
    +
          agent de journal d'appels:             proche [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Transfert des agents disponibles: - @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          Rechercher un contact:             close [X]
    + \n";} ?> - + 0) + {echo "\n";} + ?> +
          Rechercher un contact:             proche [X]

    \n";} + {echo "

    \n";} ?>

    Notes:lorsque vous faites une recherche pour un contact, des termes de recherche génériques ou partielle ne sont pas autorisés.
    Demandes de recherche de contact sont tous enregistrés dans le système de. @@ -13679,31 +15230,31 @@ Transfert des agents disponibles: - + - + - + - + - + - + - + - + - +
    Office Number: numéro de bureau:
    Prenom Name: prénom:
    Nom Name: nom de famille:
    BU Name: Nom de l'entreprise:
    Department: département:
    Group Name: nom de groupe:
    Job Titre: titre d'emploi:
    Location: emplacement:

    VALIDER SEARCH             réinitialiser la forme

    soumettre la recherche             réinitialiser la forme


      @@ -13711,10 +15262,10 @@ Transfert des agents disponibles: -
          RÉSULTATS DE RECHERCHE CONTACTS:             close [X]
    + "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH agente VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Manager sends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, ATTESA, FROMATTESA, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("è necessario selezionare un agente di trasferire a quando si utilizza agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Riprendi"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Metti"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Riprendi"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Metti"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Riprendi"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ATTESA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Metti"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ATTESA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Riprendi"; - if (ivr_park_call=='ENABLED_ATTESA_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Metti"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ATTESA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move su to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (CognomeCallbackCount < CBcounT) || (CognomeCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - CognomeCallbackCount = CBcounT; - CognomeCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (CognomeCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5616,12 +5884,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { move_on=0; - alert_box("DEVI ESSERE IN PAUSA PER CONTROLLARE LA CHIAMATABACK IN MODALITA AUTODIAL"); + alert_box("DEVI ESSERE IN PAUSA PER CONTROLLARE LA callback IN MODALITA AUTODIAL"); } } if (move_on == 1) { - CognomeCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          RÉSULTATS DE RECHERCHE CONTACTS:             proche [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Transfert des agents disponibles: -
          RECHERCHE D'UN PLOMB:             close [X]
    + "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          RECHERCHE D'UN PLOMB:             proche [X]

    \n";} + {echo "

    \n";} ?>

    Notes:lorsque vous faites une recherche d'un chef de file, le numéro de téléphone, conduire ou ID sont les meilleurs champs à utiliser.
    En utilisant les champs d'autres peut être plus lente. Recherche de plomb ne permet pas de termes de recherche génériques ou partielle.
    Demandes de recherche de plomb sont tous enregistrés dans le système de. @@ -13733,10 +15284,10 @@ Transfert des agents disponibles: - + - + - + @@ -13765,7 +15316,7 @@ Transfert des agents disponibles: : - +
    Téléphone Number: numéro de téléphone:
    Téléphone Number Fields: les champs de numéro de téléphone: Numéro de téléphone principal Autre numéro de téléphone @@ -13744,7 +15295,7 @@ Transfert des agents disponibles:
    Lead ID: Identifiant conduire:
    :

    VALIDER SEARCH             réinitialiser la forme

    soumettre la recherche             réinitialiser la forme


      @@ -13773,10 +15324,10 @@ Transfert des agents disponibles: - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          RÉSULTATS DE RECHERCHE:             close [X]
    + \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          RÉSULTATS DE RECHERCHE:             proche [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13784,10 +15335,10 @@ Transfert des agents disponibles: - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          NOTES D'APPEL LOG:             close [X]
    + \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          NOTES D'APPEL LOG:             proche [X]

    \n";} + {echo "

    \n";} ?>
    Appelez liste de notes


      @@ -13796,11 +15347,11 @@ Transfert des agents disponibles: - --> diff --git a/agc_2-X/trunk/LANG_www/agc_it/vicidial.php b/agc_2-X/trunk/LANG_www/agc_it/vicidial.php index 7ad6aa4a..846851a6 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_it/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefono login $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls su hold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Riaggancia il cliente $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT CHIAMA by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable alternativo CHIAMA by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link su the agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Titolo'; +$label_title = ' Titolo'; $label_first_name = 'Nome'; $label_middle_initial = 'MI'; -$label_last_name = 'Cognome'; +$label_last_name = 'Cognome '; $label_address1 = 'Indirizzo1'; $label_address2 = 'Indirizzo2'; $label_address3 = 'Indirizzo3'; $label_city = 'Città'; -$label_state = 'Stato'; +$label_state = ' Stato'; $label_province = 'Provincia'; $label_postal_code = 'CAP'; $label_vendor_lead_code = 'Vendor ID'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Telefono'; $label_phone_code = 'Prefisso'; $label_alt_phone = 'Num. Alternativo'; $label_security_phrase = 'Mostra'; $label_email = 'Email'; -$label_comments = 'Note'; +$label_comments = ' Note'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='OVERRIDE MANAGER OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='OVERRIDE MANAGER OF agente SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Informations Client:             close [X] +
          Informations Client:             proche [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Transfert des agents disponibles:
    CHOISISSEZ Un CODE De PAUSE :

    \n";} + {echo "

    \n";} ?> Pause Code Selection @@ -13824,7 +15375,7 @@ Transfert des agents disponibles:
    Sélectionnez un Preset :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Transfert des agents disponibles:
    CHOISIR UN GROUPE ALIAS :

    \n";} + {echo "

    \n";} ?> Groupe de sélection Alias @@ -13843,6 +15394,18 @@ Transfert des agents disponibles:
    + +
    sélectionner un cadran en groupe :
    +
    \n";} + ?> + composer en groupe Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Transfert des agents disponibles:
    + +
    une autre session de l'agent en direct a été ouvert à l'aide de votre ID utilisateur. il a été désactivé. Cliquez sur OK pour passer à l'écran de l'agent.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Transfert des agents disponibles: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_fr/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_fr/voicemail_check.php index 355a9871..ec98a10b 100644 --- a/agc_2-X/trunk/LANG_www/agc_fr/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_fr/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Invalide Username/Mot de passe: |$user|$pass|\n"; - exit; + echo "Invalide Username/Mot de passe: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Consultation de la Boite Vocale"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Consultation de la Boite Vocale"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "boîte vocale $vmail_box est invalide\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_it/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_it/active_list_refresh.php index 24826253..8ffc1097 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_it/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Username/Password non validi: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nome sessione non valido: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Visualizza Lista: "; -if ($ADD==1) {echo "Estensioni Attive";} -if ($ADD==2) {echo "Estensioni Occupate";} -if ($ADD==3) {echo "Linee Esterne";} -if ($ADD==4) {echo "Interni Locali";} -if ($ADD==5) {echo "Conferenze";} -if ($ADD==99999) {echo "AIUTO";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Visualizza Lista: "; + if ($ADD==1) {echo "Estensioni Attive";} + if ($ADD==2) {echo "Estensioni Occupate";} + if ($ADD==3) {echo "Linee Esterne";} + if ($ADD==4) {echo "Interni Locali";} + if ($ADD==5) {echo "Conferenze";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_it/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_it/astguiclient.php index 24376772..2d005476 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_it/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "CHIAMATE IN CORSO SU QUESTO TELEFONO:
    "; + var live_calls_HTML = "CHIAMATE IN CORSO SU QUESTO TELEFONO:
    #CANALE CLIENTCANALE REMOTORECORDRIAGGANCIATRASFATTESA
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1417,7 +1418,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} else {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -2735,7 +2736,7 @@ echo "\n"; -
    #CANALE CLIENTCANALE REMOTORECORDRIAGGANCIATRASFPARK
    RIAGGANCIATRASFATTESA
    RIAGGANCIATRASFPARK
    "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK hangup

    Active Trunks Menu
    Disconnetti il Trunk   |   Dirotta il Trunk   |   diff --git a/agc_2-X/trunk/LANG_www/agc_it/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_it/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_it/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_it/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_it/call_log_display.php index 2d00000e..776af68b 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_it/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Username/Password non validi: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nome sessione non valido: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Visualizza il Log della chiamata"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Visualizza il Log della chiamata"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten non è valido o protocollo $protocol non è valido\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_it/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_it/conf_exten_check.php index 6b15ebdc..b41af984 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_it/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF agente IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Stato: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_it/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_it/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_it/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_it/functions.php b/agc_2-X/trunk/LANG_www/agc_it/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_it/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_it/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_it/inbound_popup.php index a3112792..903ef029 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_it/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_it/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_it/live_exten_check.php index 089710ca..43bdeb43 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_it/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Username/Password non validi: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nome sessione non valido: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Controllo Interni Attivi"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Controllo Interni Attivi"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten non è valido o protocollo $protocol non è valido\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_it/manager_send.php b/agc_2-X/trunk/LANG_www/agc_it/manager_send.php index bb0a5eb3..227c7f1a 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_it/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "AIUTO";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Non ti è permesso lavorare nella sessione di un altro operatore $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate comando inviato per Exten $exten Canale $channel su $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='ATTESAED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='ATTESA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='ATTESA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='ATTESA_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRATTESAED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRATTESA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRATTESA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context deve essere impostato\n"; echo "ext_priority $ext_priority deve essere impostato\n"; echo "\nRedirect Action non inviato\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference su $server_ip, Redirect comando non inserito\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Impossibile trovare conferenze vuote su $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Impossibile trovare conferenze vuote su $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel non è attivo su $call_server_ip, Redirect comando non inserito\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non è attivo su $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel non è attivo su $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel non è attivo su $server_ip, Redirect comando non inserito\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non è attivo su $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel non è attivo su $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect comando non inserito\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX comando inviato per Canale $channel su $call_server_ip and \nHungup $extrachannel su $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel su $call_server_ip, Hungup $extrachannel su $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel su $call_server_ip, Hungup $extrachannel su $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel su $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel su $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority deve essere impostato\n"; echo "session_id $session_id deve essere impostato\n"; echo "\nRedirect Action non inviato\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference su $server_ip, Redirect comando non inserito\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Impossibile trovare conferenze vuote su $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Impossibile trovare conferenze vuote su $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel non è attivo su $call_server_ip, Redirect comando non inserito\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non è attivo su $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel non è attivo su $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel non è attivo su $server_ip, Redirect comando non inserito\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non è attivo su $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel non è attivo su $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando inviato per Canale $channel and \nExtraChannel $extrachannel\n to $exten su $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten su $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten su $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando inviato per Canale $channel su $call_server_ip and \nExtraChannel $extrachannel\n to $exten su $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going su in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_it/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_it/park_calls_display.php index 6beccec3..7974a334 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_it/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_it/phone_only.php b/agc_2-X/trunk/LANG_www/agc_it/phone_only.php index d78779a1..eb082107 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_it/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefono login $clientDST = '1'; # set to 1 to check for DST su server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link su the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Telefono web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Orologio
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Italiano
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefono-Only Login
     
    Login Utente:
    Password Utente:
      \n"; + echo "

    VERSIONE: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefono web client: Login Telefono\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Orologio
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Italiano
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefono-Only Login
     
    Login Telefono:
    Password Telefono:
      \n"; + echo "

    VERSIONE: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefono web client: Login Telefono\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Orologio
    \n";} - echo "\n"; + {echo " Orologio
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Italiano
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefono-Only Login
     
    Login Telefono:
    Password Telefono:
      \n"; - echo "

    VERSIONE: $version       BUILD: $build
    \n"; - echo "
    \n\n"; +echo "
    English Italiano
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefono-Only Login
     
    Login Telefono:
    Password Telefono:
      \n"; + echo "

    VERSIONE: $version       BUILD: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_it/timeclock.php b/agc_2-X/trunk/LANG_www/agc_it/timeclock.php index 641145c3..35813a22 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_it/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_it/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_it/vdc_db_query.php index 54510095..c3383919 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_it/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLeadStato"])) {$CallBackLeadStato=$_GET["CallBackLeadStato"];} - elseif (isset($_POST["CallBackLeadStato"])) {$CallBackLeadStato=$_POST["CallBackLeadStato"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Non valido Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Indirizzo Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Server Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Server Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF agente IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Manager Login:
    \n"; $VDdisplayMESSAGE.= "Manager Password:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED NOTE! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NUMERO\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NUMERO\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NUMERO\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST CHIAMATA TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST CHIAMATA TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP ultimo NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN ultimo NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP ultima chiamata TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN ultima chiamata TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Note + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Note + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefono and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefono cellulare e il codice postale di zona non corrispondente tempo! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append in campagna $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # CHIAMATAOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CHIAMATAOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings in campagna $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " CHIAMATA NOT PLACED\nDNC NUMERO\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " CHIAMATA NOT PLACED\nDNC NUMERO\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " CHIAMATA NOT PLACED\nNUMERO NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "LOG NON INSERITO\n"; echo "uniqueid $uniqueid or lead_id: $lead_id non è valido\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Note + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Note + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagna $campaign non è valido\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups su vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row su selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send su to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user su $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagna $campaign non è valido or lead_id $lead_id non è valido\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Note + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Note + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send su to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user su $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-in campagna as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Note Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLeadStato) > 0) {$log_dispo_choice = $CallBackLeadStato;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### CHIAMATABACK ENTRY + ### callback ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStato');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Note Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Note Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' è cambiato ' . $dispo_choice . " Stato\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' è cambiato ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDINE[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDINE[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserORDINE); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserORDINE[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -READY      -Incall      -PAUSA  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Visualizzazione Chiamate in coda disabilitato per questa campagna\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info su the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "vai       "; + echo " chiudere "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefono     nome e cognome     attendere     agente           CHIAMATA GROUP     TYPE     chiamata di gruppo     tipo di  
    TAKE CHIAMATA  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "Errore: è necessario inserire in termini di ricerca, uno di questi deve essere popolata: id piombo, Vendor ID, numero di telefono, cognome\n"; echo "

    "; echo "Torna Indietro"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     data\/ora     lunghezza     STATO     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefono     nome e cognome     campagna     in e fuori     alternativo     hangup     Info     CHIAMA  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL Info CHIAMA CHIAMA
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "errore: c'è stato un problema con i termini di ricerca\n"; echo "

    "; echo "Torna Indietro"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "Errore: è necessario inserire in termini di ricerca, uno di questi deve essere compilato: numero dell'ufficio, il cognome, il nome\n"; echo "

    "; echo "Torna Indietro"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "errore: c'è stato un problema con i termini di ricerca\n"; echo "

    "; echo "Torna Indietro"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no piombo id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Titolo'; + $label_title = ' Titolo'; $label_first_name = 'Nome'; $label_middle_initial = 'MI'; - $label_last_name = 'Cognome'; + $label_last_name = 'Cognome '; $label_address1 = 'Indirizzo1'; $label_address2 = 'Indirizzo2'; $label_address3 = 'Indirizzo3'; $label_city = 'Città'; - $label_state = 'Stato'; + $label_state = ' Stato'; $label_province = 'Provincia'; $label_postal_code = 'CAP'; $label_vendor_lead_code = 'Vendor ID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefono'; $label_phone_code = 'Prefisso'; $label_alt_phone = 'Num. Alternativo'; $label_security_phrase = 'Mostra'; - $label_email = 'Email'; - $label_comments = 'Note'; + $label_email = ' Email'; + $label_comments = ' Note'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefono and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefono cellulare e il codice postale di zona non corrispondente tempo! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     nome e cognome     telefono     STATO     LAST CHIAMATA     CITY     STATE     ZIP     INFO     ultima chiamata     città     stato     zip     Info     CHIAMA  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL Info CHIAMA CHIAMA selezionare
      #     FIRST NAME     LAST NAME     ultimo NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       posizione: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Chiamato Since Cognome Reset:   $row[4]
    fuso orario:   $row[3]
    chiamato dall'ultimo azzeramento:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " CHIAMA ";} + else + {$INFOout .= " CHIAMA ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    comporre il collegamento:   CHIAMA ";} + else + {$INFOout .= "
    comporre il collegamento:   CHIAMA ";} } $INFOout .= "
    selezionare questo cavo
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " CHIAMA ";} + else + {$INFOout .= " CHIAMA ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Chiamato Count:   $row[24]
    Cognome Local Call Time:   $row[25]
    numero di chiamate:   $row[24]
    ultima volta chiamata locale:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    log e-mail per questo cavo:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     data\/ora     agente     lunghezza     STATO     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefono     campagna     in e fuori     alternativo     hangup  
      FULL NAME     nome e cognome  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   data\/ora   agente   campagna   e-mail a   allegati
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Visualizzazione Chiamate in coda disabilitato per questa campagna\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "identificato codice di causa riaggancio."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_it/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_it/vdc_email_display.php new file mode 100644 index 00000000..ad323e43 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_it/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Username/Password non validi: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Non valido File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" su the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    allegati:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    allegati:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_it/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_it/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_it/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_it/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_it/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_it/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_it/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_it/vdc_script_notes.php index 1284b5c1..414ed13d 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_it/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Titolo'; +$label_title = 'Title'; $label_first_name = 'Nome'; $label_middle_initial = 'MI'; -$label_last_name = 'Cognome'; +$label_last_name = 'Last'; $label_address1 = 'Indirizzo1'; $label_address2 = 'Indirizzo2'; $label_address3 = 'Indirizzo3'; $label_city = 'Città'; -$label_state = 'Stato'; +$label_state = 'State'; $label_province = 'Provincia'; $label_postal_code = 'CAP'; $label_vendor_lead_code = 'Vendor ID'; @@ -265,7 +266,7 @@ $label_phone_code = 'Prefisso'; $label_alt_phone = 'Num. Alternativo'; $label_security_phrase = 'Mostra'; $label_email = 'Email'; -$label_comments = 'Note'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Note"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *
    Campagna: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSIONE: $version       BUILD: $build
    \n"; @@ -907,7 +932,7 @@ echo "
    Campagna: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSIONE: $version       BUILD: $build
    \n"; @@ -957,7 +982,7 @@ echo "
    Campagna: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSIONE: $version       BUILD: $build
    \n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login telefono login
     
    Login Telefono:
    Password Telefono:
      \n"; + echo "
      \n"; echo "

    VERSIONE: $version       BUILD: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "è necessario accedere prima all`orologio
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agente IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Manager Login:
    \n"; $VDdisplayMESSAGE.= "Manager Password:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agente IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Login Campagna\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Password:
    \n"; echo "Campagna: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1603,7 +1632,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefono OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELEZIONATO') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Campagna: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSIONE: $version       BUILD: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Password Telefono:

    VERSIONE: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END telefono login load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; # If a web form address is not set, use the default one if (strlen($web_form_address)>0) { $VICIDiaL_web_form_address = "$web_form_address"; - echo "\n"; + echo "\n"; } else { $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; - print "\n"; + print "\n"; $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); } $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); @@ -2288,12 +2384,12 @@ echo "0) { $VICIDiaL_web_form_address_two = "$web_form_address_two"; - echo "\n"; + echo "\n"; } else { $VICIDiaL_web_form_address_two = "$VICIDiaL_web_form_address"; - echo "\n"; + echo "\n"; $VICIDiaL_web_form_address_two_enc = rawurlencode($VICIDiaL_web_form_address_two); } $VICIDiaL_web_form_address_two_enc = rawurlencode($VICIDiaL_web_form_address_two); @@ -2311,7 +2407,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NUOVO record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today su that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Password:
    \n"; echo "Campagna: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno', +$Cmonths = Array('0','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno', 'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLeadStato = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var CognomeCallCID=''; - var CognomeCallbackCount=0; - var CognomeCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Riprendi\""; var DiaLControl_auto_HTML_ready = "\"\"Riprendi\""; var DiaLControl_auto_HTML_OFF = "\"\"Riprendi\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "segnalazione riguardi"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "avviso è spento"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'ATTESA_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'ATTESA_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'ATTESA_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'ATTESA_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'ATTESA_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'ATTESA_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'ATTESA_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'ATTESA_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'ATTESA_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'ATTESA_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'ATTESA_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("AgentStatoStato").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("AgentStatoCalls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("AgentStatoDiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,7 +4498,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("Stato: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'ATTESA_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'ATTESA_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'ATTESA_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLeadStato = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbNOTE; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStato + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "registrazione
    px\">\">" + var CB_HTML = "
    # DATA/ORA RICHIAMONUMEROINFONAME STATOCAMPAIGNDATA/ORA ULTIMA CHIAMATA CHIAMA ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - CognomeCallbackViewed=1; - CognomeCallbackCount = (CognomeCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Gruppo Alias: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Clicca qui per scegliere un gruppo Alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Cassaforte in gruppo: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "Clicca qui per scegliere un quadrante in-group"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Clicca qui per attivare"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while su inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Note (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Note + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Ultima Chiamata:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Richiamo:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Operatore:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Note:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"TRASFERIMENTO"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"TRASFERIMENTO"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     clicca qui per disattivare"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Clicca qui per attivare"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Chiamato: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Metti"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ATTESA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Tempo di chiamata scaduto, contatta l`amministratore del sistema\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Chiama"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Metti"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Chiama"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Chiama"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - CognomeCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("LISTA DI CHIAMATA VUOTA","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Non ci sono contatti da chiamare nella campagna:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Questo numero di telefono non è presente nell`elenco delle campagne:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Questo numero di telefono è al di fuori del tempo di chiamata locale:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Errore non specificato:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Chiama"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Riprendi\"
    \"Chiama"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("LISTA DI CHIAMATA VUOTA","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Non ci sono contatti da chiamare nella campagna:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Questo numero di telefono non è presente nell`elenco delle campagne:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Questo numero di telefono è al di fuori del tempo di chiamata locale:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Errore non specificato:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Chiama"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " In Chiamata: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS CHIAMATABACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Ultima Chiamata:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Richiamo:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Operatore:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Note:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Riaggancia"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Riprendi\"
    \"Chiama"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Note (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Note + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " In Chiamata: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Ultima Chiamata:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Richiamo:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Operatore:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Note:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Riaggancia"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6843,7 +7581,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (manual_dial_in_progress==1) { - alert_box('NON PUOI SALTARE UNA CHIAMATABACK O UNA CHIAMATA. DEVI CHIAMARE IL CONTATTO'); + alert_box('NON PUOI SALTARE UNA callback O UNA CHIAMATA. DEVI CHIAMARE IL CONTATTO'); } else { @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,7 +7755,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: alternativo ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: INDIRIZZO3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + CognomeCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - CognomeCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " CHIAMATA NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - CognomeCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Note (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Note + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS CHIAMATABACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Ultima Chiamata:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Richiamo:" + CBcallback_time; @@ -7677,7 +8444,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: alternativo ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: INDIRIZZO3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Metti"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ATTESA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" In entrata: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add su all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " ID chiamata " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " ID chiamata " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " ID chiamata " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS CHIAMATA PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " In entrata: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Ultima Chiamata:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Richiamo:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Operatore:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Note:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: alternativo ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: INDIRIZZO3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " NUMERO ALTERNATIVO: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Codice e Numero di telefono: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Cambia il numero di telefono a INATTIVO";} + else + {EAactive_link = "Cambia il numero di telefono ad ATTIVO";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Attivo: " + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Conteggio Num Alt: " + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Note: " + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " In entrata: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Metti"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Riaggancia"; + + document.getElementById("XferControl").innerHTML = "\"Trasferimento"; + + document.getElementById("LocalCloser").innerHTML = "\"LOCAL"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Effettua"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"TRASFERIMENTO"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"TRASFERIMENTO"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Personalizzato"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Riprendi\"
    \"Chiama"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" In entrata: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Web"; } document.getElementById("ParkControl").innerHTML = "\"Metti"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ATTESA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallNoteContent").innerHTML = "
    Chiamate Note:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Chiamate Note:
    "; } else { - document.getElementById("PerCallNoteContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("DEVI ESSERE IN PAUSA PER CERCARE DI PIOMBO"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("DEVI ESSERE IN PAUSA PER CERCARE DI PIOMBO"); + alert_box("si deve essere in una chiamata in entrata attiva per la ricerca di un vantaggio"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the Cassaforte in gruppo Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # DATA/ORA RICHIAMO NUMERO Info nome e cognome STATO campagna DATA/ORA ULTIMA CHIAMATA CHIAMA alternativo
    Cassaforte in gruppo
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Torna Indietro"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStato=" + CallBackLeadStato + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLeadStato = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error su this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " riduci "; document.getElementById("DispoSelectHAspan").innerHTML = "Aggancia di nuovo"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "chiamata successiva pausa"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + CognomeCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - CognomeCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the Cassaforte in gruppo + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Cassaforte in gruppo: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they chiudere their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Il tuo turno è finito o è cambiato, sei stato disconnesso dalla tua sessione

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or chiudere the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or chiudere the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or chiudere the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("DEVI ESSERE IN PAUSA PER CERCARE DI PIOMBO"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Aggiorna the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLNoteDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Aggiorna the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause su the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "chiamata successiva pausa Set"; + } + + // ################################################################################ // Mostra the groups selection span function OpeNGrouPSelectioN() @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLeadStato = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLeadStato = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "comporre avvisare:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('BenvenutoBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLNoteDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,17 +13259,19 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallNoteButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('AgentStatoCalls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('AgentStatoSpan');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Queue manuale è Off
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ATTESA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentViewStato',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY hangup " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12462,7 +13938,7 @@ function phone_number_format(formatphone) { } if (divvar == 'DiaLDiaLAltPhonE') { - var buildDivHTML = " CHIAMA ALT NUM
    "; + var buildDivHTML = " CHIAMA alternativo NUM
    "; document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = buildDivHTML; } if (DefaulTAlTDiaL == '1') @@ -12485,7 +13961,7 @@ function phone_number_format(formatphone) { if (divvar == 'DiaLDiaLAltPhonE') { document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = ''; - var buildDivHTML = " CHIAMA ALT NUM
    "; + var buildDivHTML = " CHIAMA alternativo NUM
    "; document.getElementById(divvar).innerHTML = buildDivHTML; if (reselect_alt_dial==1) {document.vicidial_form.DiaLAltPhonE.checked=true} @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPPI     \n";} ?> LOGOUT\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    ID sessione:     Chiamata in corso
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12812,13 +14331,15 @@ $zi=2; ANTEPRIMA CLIENTE
    - CHIAMA ALT NUM
    + CHIAMA alternativo NUM
    + chiamata successiva pausa
    + FILE REGISTRAZIONE:
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Metti in attesa la chiamata
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Dati Cliente:         PIOMBO RICERCA";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Chiamate Note: "; if ($agent_call_log_view == '1') - {echo "
    visualizzare le note ";} + {echo "
    visualizzare le note ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "segnalazione riguardi";} else - {echo "Alert is OFF";} + {echo "avviso è spento";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -TASTI FUNZIONE DISATTIVATI - - secondi:     @@ -13130,8 +14648,8 @@ $zi=2;
    - -Il tuo stato:
    Calls Dialing: + +Il tuo stato:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -Stato Altri Operatori:  
     
    +Stato Altri Operatori:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +ripristinare forma + + + +refresh @@ -13374,6 +14904,23 @@ Trasferimento Operatori Disponibili:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +TASTI FUNZIONE DISATTIVATI + + + + + px height='px'> + + + + + + +
    visualizzare la cronologia commento:
    +
    + @@ -13447,7 +14994,7 @@ Trasferimento Operatori Disponibili: -
    La tua sessione è stata disabilitata
    LOGOUT

    Torna Indietro +
    La tua sessione è stata disabilitata
    LOGOUT

    @@ -13476,18 +15023,18 @@ Trasferimento Operatori Disponibili:
    ESITO CHIAMATA :       Aggancia di nuovo       riduci

    \n";} + {echo "

    \n";} ?> - + Selezione Esito di fine chiamata
    PAUSA OPERATORE
    PULISCI IL FORM | INVIA

    - WEB FORM INVIA + modulo pagina web presentare

     
    @@ -13496,7 +15043,7 @@ Trasferimento Operatori Disponibili:
    Selezionare una data di richiamo! :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ Trasferimento Operatori Disponibili:
    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Trasferimento Operatori Disponibili: -
    NUOVA CHIAMATA MANUALE PER IL CONTATTO :

    Inserisci le informazioni per il nuovo contatto da chiamare. + - + @@ -13613,7 +15164,7 @@ Trasferimento Operatori Disponibili:
    NUOVA CHIAMATA MANUALE PER IL CONTATTO :

    Inserisci le informazioni per il nuovo contatto da chiamare.
    \n"; } @@ -13578,9 +15125,9 @@ Trasferimento Operatori Disponibili: Codice di Chiamata:
      (Vale 1 negli USA ed in Canada)
    Telefono Number: numero telefonico: -   (digits only) +   (solo cifre) @@ -13593,6 +15140,10 @@ Trasferimento Operatori Disponibili:

        +

    +     +

    +


    If you want to dial a number and have it NOT be added as a new lead, enter in the exact dialstring that you want to call in the Chiamata automatica field below. To hangup this call you will have to open the CHIAMATAS IN THIS SESSION link at the bottom of the screen and hang it up by clicking su its channel link there.
     
    SELEZIONE del CLOSER INBOUND GROUP

    \n";} + {echo "

    \n";} ?> Selezione del Closer Inbound Group
    @@ -13635,7 +15186,7 @@ Trasferimento Operatori Disponibili:
    TERRITORIO DI SELEZIONE

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Trasferimento Operatori Disponibili: -
          AGENT CHIAMATA LOG:             close [X]
    +
          agente del registro chiamate:             chiudere [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Trasferimento Operatori Disponibili: -
          Cerca un contatto:             close [X]
    +
          Cerca un contatto:             chiudere [X]

    \n";} + {echo "

    \n";} ?>

    Note: quando si fa una ricerca di un contatto, termini di ricerca jolly o parziale non sono consentite.
    Richieste di ricerca di contatto sono tutti registrati nel sistema di. @@ -13679,31 +15230,31 @@ Trasferimento Operatori Disponibili: - + - + - + - + - + - + - + - + - +
    Office Number: numero dell'ufficio:
    Nome Name: nome:
    Cognome Name: cognome:
    BU Name: ragione sociale:
    Department: Dipartimento:
    Group Name: il nome del gruppo:
    Job Titolo: titolo di lavoro:
    Location: posizione:

    INVIA SEARCH             ripristinare forma

    presentare ricerca             ripristinare forma


      @@ -13711,10 +15262,10 @@ Trasferimento Operatori Disponibili: -
          CONTATTI RISULTATI DELLA RICERCA:             close [X]
    + "; $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $print_ctp++; } + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + } else { @@ -1477,7 +1498,7 @@ if (ereg('O',$with_inbound)) { $multi_drop++; - $stmt="select agent_pause_codes_active from vicidial_campaigns $group_SQLwhere;"; + $stmt="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' $group_SQLand;"; $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; @@ -1614,6 +1635,8 @@ else $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where active='Y' $group_SQLand;"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where calls_today > -1 $non_inboundSQL;"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' $group_SQLand;"; } else { @@ -1627,12 +1650,16 @@ else $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active,list_order_mix,auto_hopper_level from vicidial_campaigns where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN ($group_SQL,$closer_campaignsSQL);"; } else { $stmt="select avg(auto_dial_level),max(dial_status_a),max(dial_status_b),max(dial_status_c),max(dial_status_d),max(dial_status_e),max(lead_order),max(lead_filter_id),max(hopper_level),max(dial_method),max(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),max(available_only_ratio_tally),max(adaptive_latest_server_time),max(local_call_time),max(dial_timeout),max(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where campaign_id IN($group_SQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN($group_SQL);"; } } if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} @@ -1658,10 +1685,12 @@ else $CALLtime = $row[16]; $DIALtimeout = $row[17]; $DIALstatuses = $row[18]; - $agent_pause_codes_active = $row[19]; $DIALmix = $row[20]; $AHOPlev = $row[21]; + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; $stmt="select count(*) from vicidial_hopper $group_SQLwhere;"; $rslt=mysql_query($stmt, $link); @@ -2143,6 +2172,7 @@ while($p<$k) if ($CDcall_type[$p] == 'IN') { $G=""; $EG=''; + $Ccampaign_id="$Ccampaign_id"; } if (strlen($CDagent_only[$p]) > 0) {$Gcalltypedisplay = "$G$Cagent_only$EG";} @@ -2257,7 +2287,7 @@ $HTpause = ''; $HDigcall = "------+------------------"; $HTigcall = " HOLD | IN-GROUP "; -if (!ereg("N",$agent_pause_codes_active)) +if ($agent_pause_codes_active > 0) { $HDstatus = "----------"; $HTstatus = " STATUS "; @@ -2331,8 +2361,10 @@ else if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} } -if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} +if ( !preg_match("/ALL-/",$LOGallowed_campaigns) ) {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} +else if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} else {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} + if (strlen($usergroup)<1) {$usergroupSQL = '';} else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} @@ -2560,7 +2592,7 @@ $talking_to_print = mysql_num_rows($rslt); $comments= $Acomments[$i]; $calls_today = sprintf("%-5s", $Acalls_today[$i]); - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) {$pausecode=' ';} else {$pausecode='';} @@ -2580,7 +2612,7 @@ $talking_to_print = mysql_num_rows($rslt); } else { - if (!ereg("$Acallerid[$i]\|",$callerids)) + if (!ereg("$Acallerid[$i]\|",$callerids) && !eregi("EMAIL",$comments)) { $Acall_time[$i]=$Astate_change[$i]; @@ -2596,6 +2628,8 @@ $talking_to_print = mysql_num_rows($rslt); { if (eregi("INBOUND",$comments)) {$CM='I';} + else if (eregi("EMAIL",$comments)) + {$CM='E';} else {$CM='M';} } @@ -2676,7 +2710,7 @@ $talking_to_print = mysql_num_rows($rslt); } if ($Lstatus=='PAUSED') { - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) { $twentyfour_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-24,date("i"),date("s"),date("m"),date("d"),date("Y"))); $stmtC="select sub_status from vicidial_agent_log where agent_log_id >= \"$Aagent_log_id[$i]\" and user='$Luser' order by agent_log_id desc limit 1;"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/admin.php b/agc_2-X/trunk/LANG_www/vicidial_es/admin.php index 0baa968a..e4305857 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/admin.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/admin.php @@ -1,9 +1,11 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,6 +72,8 @@ $reports_font = 'BLACK'; $cts_font = 'BLACK'; $subcamp_font = 'BLACK'; +### QC font and color variables +require_once('qc/QC_admin_variables.php'); ### comment this section out for colorful section headings $users_color = '#E6E6E6'; $campaigns_color = '#E6E6E6'; @@ -105,9 +109,9 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $QUERY_STRING = getenv("QUERY_STRING"); -$Vreports = 'NONE, Tiempo Real Main Report, Tiempo Real Campaña Summary , Entrante Report, Entrante Service Level Report, Resumen horario de entrada Informe, Entrante Daily Report, Entrante DID Report, Entrante IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Estados De la Campaña Report, Campaña Status List Report, Pide Informe exportación, Informe de las exportaciones genera , Agente Tiempo Detalle, Agent Status Detalle, Agent Performance Detalle, Team Performance Detalle, Single Agent Daily , UsuarioReloj de tiempo Report, Grupo Del UsuarioReloj de tiempo Status Report, UsuarioReloj de tiempo Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estadísticas de usuario, Usuario Hoja de tiempo, Download List, Dialer Informe de Inventario, Maximum System Stats, Maximum Stats Detalle, Search Leads Logs'; +$Vreports = 'NONE, Tiempo Real Main Report, Tiempo Real Campaña Summary , Entrante Report, Entrante Service Level Report, Resumen horario de entrada Informe, Entrante Daily Report, Entrante DID Report, Entrante IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Estados De la Campaña Report, Campaña Status List Report, Pide Informe exportación, Informe de las exportaciones genera , Agente Tiempo Detalle, Agent Status Detalle, Agent Performance Detalle, Team Performance Detalle, Single Agent Daily, Grupo Del Usuario Login Report, UsuarioReloj de tiempo Report, Grupo Del UsuarioReloj de tiempo Status Report, UsuarioReloj de tiempo Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estadísticas de usuario, Usuario Hoja de tiempo, Download List, Dialer Informe de Inventario, Maximum System Stats, Maximum Stats Detalle, Search Leads Logs, Email Log Report, Carrier Informe de registro, Campaña Debug, Hangup Cause Report'; -$UGreports = 'ALL INFORMES, NONE, Tiempo Real Main Report, Tiempo Real Campaña Summary , Entrante Report, Entrante Service Level Report, Resumen horario de entrada Informe, Entrante Daily Report, Entrante DID Report, Entrante IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Estados De la Campaña Report, Campaña Status List Report, Pide Informe exportación , Informe de las exportaciones genera , Agente Tiempo Detalle, Agent Status Detalle, Agent Performance Detalle, Team Performance Detalle, Single Agent Daily , UsuarioReloj de tiempo Report, Grupo Del UsuarioReloj de tiempo Status Report, UsuarioReloj de tiempo Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estadísticas de usuario, Usuario Hoja de tiempo, Download List, Dialer Informe de Inventario, Custom Informes Links, CallCard Search, Maximum System Stats, Maximum Stats Detalle, Search Leads Logs'; +$UGreports = 'ALL INFORMES, NONE, Tiempo Real Main Report, Tiempo Real Campaña Summary , Entrante Report, Entrante Service Level Report, Resumen horario de entrada Informe, Entrante Daily Report, Entrante DID Report, Entrante Email Report, Entrante IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Estados De la Campaña Report, Campaña Status List Report, Pide Informe exportación , Informe de las exportaciones genera , Agente Tiempo Detalle, Agent Status Detalle, Agent Performance Detalle, Team Performance Detalle, Single Agent Daily, Grupo Del Usuario Login Report, UsuarioReloj de tiempo Report, Grupo Del UsuarioReloj de tiempo Status Report, UsuarioReloj de tiempo Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estadísticas de usuario, Usuario Hoja de tiempo, Download List, Dialer Informe de Inventario, Custom Informes Links, CallCard Search, Maximum System Stats, Maximum Stats Detalle, Search Leads Logs, Email Log Report'; $Vtables = 'NONE,log_noanswer,did_agent_log,contact_information'; @@ -1540,6 +1544,8 @@ if (isset($_GET["auto_resume_precall"])) {$auto_resume_precall=$_GET["auto_res elseif (isset($_POST["auto_resume_precall"])) {$auto_resume_precall=$_POST["auto_resume_precall"];} if (isset($_GET["auto_pause_precall_code"])) {$auto_pause_precall_code=$_GET["auto_pause_precall_code"];} elseif (isset($_POST["auto_pause_precall_code"])) {$auto_pause_precall_code=$_POST["auto_pause_precall_code"];} +if (isset($_GET["audit_comments"])) {$audit_comments=$_GET["audit_comments"];} + elseif (isset($_POST["audit_comments"])) {$audit_comments=$_POST["audit_comments"];} if (isset($_GET["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_GET["reload_dialplan_on_servers"];} elseif (isset($_POST["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_POST["reload_dialplan_on_servers"];} if (isset($_GET["manual_dial_cid"])) {$manual_dial_cid=$_GET["manual_dial_cid"];} @@ -1724,11 +1730,78 @@ if (isset($_GET["territory_reset"])) {$territory_reset=$_GET["territory_reset" elseif (isset($_POST["territory_reset"])) {$territory_reset=$_POST["territory_reset"];} if (isset($_GET["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_GET["hopper_vlc_dup_check"];} elseif (isset($_POST["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_POST["hopper_vlc_dup_check"];} +if (isset($_GET["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_GET["download_max_system_stats_metric"];} + elseif (isset($_POST["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_POST["download_max_system_stats_metric"];} +if (isset($_GET["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_GET["download_max_system_stats_metric_name"];} + elseif (isset($_POST["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_POST["download_max_system_stats_metric_name"];} if (isset($_GET["inventory_report"])) {$inventory_report=$_GET["inventory_report"];} elseif (isset($_POST["inventory_report"])) {$inventory_report=$_POST["inventory_report"];} if (isset($_GET["report_rank"])) {$report_rank=$_GET["report_rank"];} elseif (isset($_POST["report_rank"])) {$report_rank=$_POST["report_rank"];} - +if (isset($_GET["in_group_dial"])) {$in_group_dial=$_GET["in_group_dial"];} + elseif (isset($_POST["in_group_dial"])) {$in_group_dial=$_POST["in_group_dial"];} +if (isset($_GET["in_group_dial_select"])) {$in_group_dial_select=$_GET["in_group_dial_select"];} + elseif (isset($_POST["in_group_dial_select"])) {$in_group_dial_select=$_POST["in_group_dial_select"];} +if (isset($_GET["dial_ingroup_cid"])) {$dial_ingroup_cid=$_GET["dial_ingroup_cid"];} + elseif (isset($_POST["dial_ingroup_cid"])) {$dial_ingroup_cid=$_POST["dial_ingroup_cid"];} +if (isset($_GET["allow_emails"])) {$allow_emails=$_GET["allow_emails"];} + elseif (isset($_POST["allow_emails"])) {$allow_emails=$_POST["allow_emails"];} +if (isset($_GET["group_handling"])) {$group_handling=$_GET["group_handling"];} + elseif (isset($_POST["group_handling"])) {$group_handling=$_POST["group_handling"];} +if (isset($_GET["agentcall_email"])) {$agentcall_email=$_GET["agentcall_email"];} + elseif (isset($_POST["agentcall_email"])) {$agentcall_email=$_POST["agentcall_email"];} +if (isset($_GET["modify_email_accounts"])) {$modify_email_accounts=$_GET["modify_email_accounts"];} + elseif (isset($_POST["modify_email_accounts"])) {$modify_email_accounts=$_POST["modify_email_accounts"];} +if (isset($_GET["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_GET["safe_harbor_audio_field"];} + elseif (isset($_POST["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_POST["safe_harbor_audio_field"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_GET["call_menu_qualify_enabled"];} + elseif (isset($_POST["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_POST["call_menu_qualify_enabled"];} +if (isset($_GET["qualify_sql"])) {$qualify_sql=$_GET["qualify_sql"];} + elseif (isset($_POST["qualify_sql"])) {$qualify_sql=$_POST["qualify_sql"];} +if (isset($_GET["admin_list_counts"])) {$admin_list_counts=$_GET["admin_list_counts"];} + elseif (isset($_POST["admin_list_counts"])) {$admin_list_counts=$_POST["admin_list_counts"];} +if (isset($_GET["voicemail_greeting"])) {$voicemail_greeting=$_GET["voicemail_greeting"];} + elseif (isset($_POST["voicemail_greeting"])) {$voicemail_greeting=$_POST["voicemail_greeting"];} +if (isset($_GET["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_GET["allow_voicemail_greeting"];} + elseif (isset($_POST["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_POST["allow_voicemail_greeting"];} +if (isset($_GET["pause_after_next_call"])) {$pause_after_next_call=$_GET["pause_after_next_call"];} + elseif (isset($_POST["pause_after_next_call"])) {$pause_after_next_call=$_POST["pause_after_next_call"];} +if (isset($_GET["owner_populate"])) {$owner_populate=$_GET["owner_populate"];} + elseif (isset($_POST["owner_populate"])) {$owner_populate=$_POST["owner_populate"];} +if (isset($_GET["queuemetrics_socket"])) {$queuemetrics_socket=$_GET["queuemetrics_socket"];} + elseif (isset($_POST["queuemetrics_socket"])) {$queuemetrics_socket=$_POST["queuemetrics_socket"];} +if (isset($_GET["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_GET["queuemetrics_socket_url"];} + elseif (isset($_POST["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_POST["queuemetrics_socket_url"];} +if (isset($_GET["holiday_id"])) {$holiday_id=$_GET["holiday_id"];} + elseif (isset($_POST["holiday_id"])) {$holiday_id=$_POST["holiday_id"];} +if (isset($_GET["holiday_name"])) {$holiday_name=$_GET["holiday_name"];} + elseif (isset($_POST["holiday_name"])) {$holiday_name=$_POST["holiday_name"];} +if (isset($_GET["holiday_comments"])) {$holiday_comments=$_GET["holiday_comments"];} + elseif (isset($_POST["holiday_comments"])) {$holiday_comments=$_POST["holiday_comments"];} +if (isset($_GET["holiday_date"])) {$holiday_date=$_GET["holiday_date"];} + elseif (isset($_POST["holiday_date"])) {$holiday_date=$_POST["holiday_date"];} +if (isset($_GET["holiday_status"])) {$holiday_status=$_GET["holiday_status"];} + elseif (isset($_POST["holiday_status"])) {$holiday_status=$_POST["holiday_status"];} +if (isset($_GET["holiday_rule"])) {$holiday_rule=$_GET["holiday_rule"];} + elseif (isset($_POST["holiday_rule"])) {$holiday_rule=$_POST["holiday_rule"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_GET["use_other_campaign_dnc"];} + elseif (isset($_POST["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_POST["use_other_campaign_dnc"];} +if (isset($_GET["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_GET["enhanced_disconnect_logging"];} + elseif (isset($_POST["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_POST["enhanced_disconnect_logging"];} +if (isset($_GET["amd_inbound_group"])) {$amd_inbound_group=$_GET["amd_inbound_group"];} + elseif (isset($_POST["amd_inbound_group"])) {$amd_inbound_group=$_POST["amd_inbound_group"];} +if (isset($_GET["amd_callmenu"])) {$amd_callmenu=$_GET["amd_callmenu"];} + elseif (isset($_POST["amd_callmenu"])) {$amd_callmenu=$_POST["amd_callmenu"];} +if (isset($_GET["level_8_disable_add"])) {$level_8_disable_add=$_GET["level_8_disable_add"];} + elseif (isset($_POST["level_8_disable_add"])) {$level_8_disable_add=$_POST["level_8_disable_add"];} +if (isset($_GET["survey_wait_sec"])) {$survey_wait_sec=$_GET["survey_wait_sec"];} + elseif (isset($_POST["survey_wait_sec"])) {$survey_wait_sec=$_POST["survey_wait_sec"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1740,9 +1813,61 @@ if (strlen($dial_status) > 0) $status = $dial_status; } +if ($download_max_system_stats_metric_name) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + $CSV_text=""; + + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total call count in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls','total call count in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total inbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_inbound_all','total inbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total outbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_outbound_all','total outbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','(max_inbound + max_outbound)','most concurrent calls in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls inbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_inbound','most concurrent calls inbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls outbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_outbound','most concurrent calls outbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent agents") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_agents','most concurrent agents',$end_date); + } + + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "MAX_SYSTEM_STATS_$US$FILE_TIME.csv"; + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + header('Content-type: application/octet-stream'); + + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text"; + + exit; +} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -1780,6 +1905,12 @@ if ($qm_conf_ct > 0) $SSalt_log_login = $row[28]; $SSalt_log_pass = $row[29]; $SStables_use_alt_log_db = $row[30]; + $SScall_menu_qualify_enabled = $row[31]; + $SSadmin_list_counts = $row[32]; + $SSallow_voicemail_greeting = $row[33]; + $SSsvn_revision = $row[34]; + $SSallow_emails = $row[35]; + $SSlevel_8_disable_add = $row[36]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2015,6 +2146,13 @@ if ($non_latin < 1) $admin_hide_lead_data = ereg_replace("[^0-9]","",$admin_hide_lead_data); $max_calls_count = ereg_replace("[^0-9]","",$max_calls_count); $report_rank = ereg_replace("[^0-9]","",$report_rank); + $dial_ingroup_cid = ereg_replace("[^0-9]","",$dial_ingroup_cid); + $call_menu_qualify_enabled = ereg_replace("[^0-9]","",$call_menu_qualify_enabled); + $admin_list_counts = ereg_replace("[^0-9]","",$admin_list_counts); + $allow_voicemail_greeting = ereg_replace("[^0-9]","",$allow_voicemail_greeting); + $enhanced_disconnect_logging = ereg_replace("[^0-9]","",$enhanced_disconnect_logging); + $level_8_disable_add = ereg_replace("[^0-9]","",$level_8_disable_add); + $survey_wait_sec = ereg_replace("[^0-9]","",$survey_wait_sec); $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); @@ -2030,9 +2168,6 @@ if ($non_latin < 1) $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); $queue_priority = ereg_replace("[^-0-9]","",$queue_priority); - ### DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); - ### Y or N ONLY ### $allow_closers = ereg_replace("[^NY]","",$allow_closers); $reset_hopper = ereg_replace("[^NY]","",$reset_hopper); @@ -2084,7 +2219,7 @@ if ($non_latin < 1) $delete_vm_after_email = ereg_replace("[^NY]","",$delete_vm_after_email); $crm_popup_login = ereg_replace("[^NY]","",$crm_popup_login); $ignore_list_script_override = ereg_replace("[^NY]","",$ignore_list_script_override); - $is_webphone = ereg_replace("[^NY]","",$is_webphone); + $is_webphone = ereg_replace("[^-_0-9a-zA-Z]","",$is_webphone); $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); @@ -2179,6 +2314,9 @@ if ($non_latin < 1) $use_custom_cid = ereg_replace("[^0-9a-zA-Z]","",$use_custom_cid); $action_xfer_cid = ereg_replace("[^0-9a-zA-Z]","",$action_xfer_cid); $callback_list_calltime = ereg_replace("[^0-9a-zA-Z]","",$callback_list_calltime); + $pause_after_next_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_next_call); + $owner_populate = ereg_replace("[^0-9a-zA-Z]","",$owner_populate); + $use_other_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_other_campaign_dnc); ### DIGITS and Dots $server_ip = ereg_replace("[^\.0-9]","",$server_ip); @@ -2257,6 +2395,7 @@ if ($non_latin < 1) $server_id = ereg_replace("[^-_0-9a-zA-Z]","",$server_id); $stage = ereg_replace("[^-_0-9a-zA-Z]","",$stage); $state_rule = ereg_replace("[^-_0-9a-zA-Z]","",$state_rule); + $holiday_rule = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_rule); $trunk_restriction = ereg_replace("[^-_0-9a-zA-Z]","",$trunk_restriction); $user = ereg_replace("[^-_0-9a-zA-Z]","",$user); $user_group = ereg_replace("[^-_0-9a-zA-Z]","",$user_group); @@ -2403,9 +2542,17 @@ if ($non_latin < 1) $admin_hide_phone_data = ereg_replace("[^-_0-9a-zA-Z]","",$admin_hide_phone_data); $max_calls_method = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_method); $max_calls_action = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_action); + $in_group_dial = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial); + $in_group_dial_select = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial_select); + $queuemetrics_socket = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_socket); + $holiday_id = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_id); + $holiday_date = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_date); + $holiday_status = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_status); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $amd_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$amd_inbound_group); + $amd_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$amd_callmenu); ### ALPHA-NUMERIC and underscore and dash and slash and dot - $menu_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_prompt); $menu_timeout_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_timeout_prompt); $menu_invalid_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_invalid_prompt); $after_hours_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$after_hours_message_filename); @@ -2444,6 +2591,11 @@ if ($non_latin < 1) $survey_ni_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_ni_audio_file); $survey_third_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_third_audio_file); $survey_fourth_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_fourth_audio_file); + $safe_harbor_audio_field = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio_field); + $voicemail_greeting = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$voicemail_greeting); + + ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma + $menu_prompt = ereg_replace("[^-\/\|\,\._0-9a-zA-Z]","",$menu_prompt); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -2461,7 +2613,7 @@ if ($non_latin < 1) $group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); ### ALPHA-NUMERIC and hash and star and dot and underscore $hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); - $did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); + $did_pattern = ereg_replace("[^\+\*\#\.\_0-9a-zA-Z]","",$did_pattern); $voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); $phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); $phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); @@ -2555,6 +2707,8 @@ if ($non_latin < 1) $group = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group); $job_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$job_title); $location = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$location); + $holiday_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_name); + $holiday_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_comments); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); @@ -2635,6 +2789,14 @@ if ($non_latin < 1) $modify_url = ereg_replace(";","",$modify_url); $modify_url = ereg_replace("\r","",$modify_url); $modify_url = ereg_replace("\"","",$modify_url); + $qualify_sql = ereg_replace("\\\\","",$qualify_sql); + $qualify_sql = ereg_replace(";","",$qualify_sql); + $qualify_sql = ereg_replace("\r","",$qualify_sql); + $qualify_sql = ereg_replace("'",'"',$qualify_sql); + $queuemetrics_socket_url = ereg_replace("\\\\","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace(";","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("\r","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("'",'"',$queuemetrics_socket_url); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address # $queuemetrics_url @@ -3046,16 +3208,53 @@ else # 120316-1203 - Fixed DIALBLE counts for completed statuses # 120402-2111 - Added lead loading template and two carrier log reports to the admin utils page # 120409-1136 - Added Search Leads Logs as slave db option +# 120420-1620 - Forked 2.4 to branches, changing trunk to 2.6 +# 120512-0844 - Added In-Group Manual Dial options to campaign screen +# 120514-0936 - Added Dial In-group CID override setting +# 120518-1456 - Added XFTAMM/LTMG special hotkeys for send to answering machine message +# 120526-0827 - Added User Group User Login Report +# 120529-2112 - Added safe_harbor_audio_field campaign option +# 120706-1255 - Added Max stats date range and call menu qualify_sql options +# 120713-2123 - Added max stats download link and extended_vl option +# 120810-1018 - Added Admin List Counts system settings option +# 120820-1104 - Added is_webphone option Y_API_LAUNCH +# 120831-1523 - Added vicidial_dial_log outbound call logging +# 121018-2321 - Added blank option to owner only dialing +# 121019-0520 - Added voicemail greeting audio chooser options to phones and voicemail boxes +# 121025-2339 - Added without-filter output to test filter function, added server option to test call +# 121027-2344 - Added servers versions page +# 121029-0109 - Added pause_after_next_call and owner_populate campaign options +# 121114-1923 - Added Basic Lead Management page link. Added INGROUP as a recording filename option +# 121116-1410 - Added QC functionality +# 121120-0824 - Added queuemetrics_socket functionality to system settings +# 121123-1208 - Added inbound holiday functions +# 121124-1957 - Added List Expiration Date feature and Campaign Other-DNC-List feature +# 121129-2319 - Added enhanced_disconnect_logging option +# 121130-1425 - Fixed user group permissions issue with allowed campaigns modifications of user groups +# 121205-1619 - Added parentheses around filter SQL when in SQL queries +# 121206-0630 - Added inbound lead search feature +# 121212-1529 - Standardization of list_id fields at 19 digits in forms +# 121222-2146 - Added new email features +# 130102-1135 - Small change to admin log viewing for email accounts +# 130124-1721 - Added Inbound Email report link, added Status Display LEADID options(issue #639) +# 130130-1207 - Added new CPD AMD options for In-Groups and CallMenus +# 130221-1736 - Added Level 8 Disable Add option to system settings and new Email Log Report link, DID exten made non-editable +# 130402-2322 - Added user_group script variable +# 130414-1924 - Added report logging and display +# 130424-1601 - Added survey_wait_sec campaign survey option +# 130425-0700 - Added DROP option for survey_no_response_action to go to campaign drop method +# 130503-1509 - Added red color to server table on reports page if asterisk out of sync # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.4-364a'; -$build = '120409-1136'; +$admin_version = '2.6-400a'; +$build = '130503-1509'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); $REPORTdate = date("Y-m-d"); +$EXPtestdate = date("Ymd"); $CIDdate = date("mdHis"); while (strlen($CIDdate) > 9) {$CIDdate = substr("$CIDdate", 1);} @@ -3067,6 +3266,7 @@ $modify_refrescar_set=0; $modify_footer_refrescar=0; $check_time = ($STARTtime - 86400); $SSanswer_transfer_agent = '8368'; +$add_copy_disabled=0; $month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $past_month_date = date("Y-m-d H:i:s",$month_old); @@ -3105,10 +3305,9 @@ if ($force_logout) echo "Usted ahora ha salido. Gracias\n"; exit; } - ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_refrescar,nocache_admin,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_refrescar,nocache_admin,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -3123,6 +3322,7 @@ if ($qm_conf_ct > 0) $SSadmin_modify_refrescar = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; + $SSemail_enabled = $row[8]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -3146,6 +3346,10 @@ if ( ($reports_auth > 0) and ($auth < 1) ) $ADD=999999; $reports_only_user=1; } +############################################## +# Include QC Agents with no other permission # +############################################## +require_once('qc/QC_admin_include02.php'); if ($SSwebroot_writable > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} @@ -3154,7 +3358,7 @@ $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); -if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) ) ) +if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) and ($qc_auth < 1)) ) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); @@ -3162,7 +3366,7 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) an exit; } -if ( ($auth > 0) or ($reports_auth > 0) ) +if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) { $office_no=strtoupper($PHP_AUTH_USER); $password=strtoupper($PHP_AUTH_PW); @@ -3306,6 +3510,9 @@ if ( ($auth > 0) or ($reports_auth > 0) ) { $reports_only_user=1; } + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} } else { @@ -3334,8 +3541,10 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; -echo "\n"; +echo "\n"; echo "\n"; +echo "\n"; +echo "\n"; if ($SSnocache_admin=='1') { echo "\n"; @@ -3366,6 +3575,8 @@ if ($ADD==1411) {$hh='ingroups'; echo "CopiarDID";} if ($ADD==1511) {$hh='ingroups'; echo "Añadir Call Menú";} if ($ADD==1611) {$hh='ingroups'; echo "Copia de llamadas Menú";} if ($ADD==1711) {$hh='ingroups'; echo "Agregar Grupo de teléfono Filtro";} +if ($ADD==1811) {$hh='ingroups'; echo "Agregar nuevo correo electrónico en Grupo";} +if ($ADD==1911) {$hh='ingroups'; echo "Copie correo electrónico en Grupo";} if ($ADD==11111) {$hh='remoteagent'; echo "Añadir Agentes Remotos";} if ($ADD==12111) {$hh='remoteagent'; echo "Añadir grupo de extensiones";} if ($ADD==111111) {$hh='usergroups'; echo "Añadir un Grupo De Usuarios";} @@ -3374,6 +3585,7 @@ if ($ADD==11111111) {$hh='filters'; echo "Agregue El Filtro Nuevo";} if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada";} if ($ADD==131111111) {$hh='admin'; $sh='shifts'; echo "Añadir nuevo Mayúsculas";} if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada Del Estado";} +if ($ADD==1211111111) {$hh='admin'; $sh='times'; echo "Agregar vacaciones";} if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "NUEVO TELÉFONO";} if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "Añadir nuevo teléfono ALIAS";} if ($ADD==13111111111) {$hh='admin'; $sh='phones'; echo "Añadir NUEVO GRUPO DE ALIAS";} @@ -3409,6 +3621,8 @@ if ($ADD==2411) {$hh='ingroups'; echo "Nueva copiado DID adjunta";} if ($ADD==2511) {$hh='ingroups'; echo "Nueva llamada del menú";} if ($ADD==2611) {$hh='ingroups'; echo "Nueva llamada del menú";} if ($ADD==2711) {$hh='ingroups'; echo "Grupo Nuevo Teléfono filtro";} +if ($ADD==2811) {$hh='ingroups'; echo "Nuevo Email Grupo Suma";} +if ($ADD==2911) {$hh='ingroups'; echo "New copiado Email Grupo Suma";} if ($ADD==21111) {$hh='remoteagent'; echo "Nueva Adición de Agentes Remotos";} if ($ADD==22111) {$hh='remoteagent'; echo "Nuevo grupo de adición de Extensión";} if ($ADD==211111) {$hh='usergroups'; echo "Nueva Adición Del Grupo De Usuarios";} @@ -3417,6 +3631,7 @@ if ($ADD==21111111) {$hh='filters'; echo "Nueva Adición Del Filtro";} if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Nueva Adición Del Tiempo De la Llamada";} if ($ADD==231111111) {$hh='admin'; $sh='shifts'; echo "Nueva Mayús adjunta";} if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Nueva Adición Del Tiempo De la Llamada Del Estado";} +if ($ADD==2211111111) {$hh='admin'; $sh='times'; echo "Nueva adición vacaciones";} if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "CREANDO TELÉFONO";} if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "AGREGAR NUEVO TELÉFONO ALIAS";} if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "AGREGAR NUEVO GRUPO DE ALIAS";} @@ -3480,6 +3695,7 @@ if ($ADD==3311) {$hh='ingroups'; echo "ModificarDID";} if ($ADD==3321) {$hh='ingroups'; echo "Modificar DID RA Extensión Invalida";} if ($ADD==3511) {$hh='ingroups'; echo "Modificar Call Menú";} if ($ADD==3711) {$hh='ingroups'; echo "Modificar Grupo de teléfono Filtro";} +if ($ADD==3811) {$hh='ingroups'; echo "Modificar EMAIL A-Group";} if ($ADD==31111) {$hh='remoteagent'; echo "Modificar Agentes Remotos";} if ($ADD==32111) {$hh='remoteagent'; echo "Modificar Grupo de Extensión";} if ($ADD==311111) {$hh='usergroups'; echo "Modificar Grupos De Usuarios";} @@ -3489,6 +3705,7 @@ if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modifique La Lista De las Definiciones Del Estado Del Tiempo De laLlamada";} if ($ADD==331111111) {$hh='admin'; $sh='shifts'; echo "Modificar Mayúsculas";} if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==3211111111) {$hh='admin'; $sh='times'; echo "Modificar vacaciones";} if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL TELÉFONO";} if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR TELÉFONO ALIAS";} if ($ADD==33111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR GRUPO ALIAS";} @@ -3524,6 +3741,7 @@ if ($ADD==4111) {$hh='ingroups'; echo "Modificar In-Group";} if ($ADD==4311) {$hh='ingroups'; echo "ModificarDID";} if ($ADD==4511) {$hh='ingroups'; echo "Modificar Call Menú";} if ($ADD==4711) {$hh='ingroups'; echo "Modificar Grupo de teléfono Filtro";} +if ($ADD==4811) {$hh='ingroups'; echo "ModificarEmail In-Group";} if ($ADD==41111) {$hh='remoteagent'; echo "Modificar Agentes Remotos";} if ($ADD==42111) {$hh='remoteagent'; echo "Modificar Grupo de Extensión";} if ($ADD==411111) {$hh='usergroups'; echo "Modificar Grupos De Usuarios";} @@ -3532,6 +3750,7 @@ if ($ADD==41111111) {$hh='filters'; echo "Modifique El Filtro";} if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada";} if ($ADD==431111111) {$hh='admin'; $sh='shifts'; echo "Modificar Mayúsculas";} if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==4211111111) {$hh='admin'; $sh='times'; echo "Modificar vacaciones";} if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL TELÉFONO";} if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR TELÉFONO ALIAS";} if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR GRUPO ALIAS";} @@ -3567,6 +3786,7 @@ if ($ADD==51111111) {$hh='filters'; echo "Filtro De la Cancelación";} if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "BorrarCall Time";} if ($ADD==531111111) {$hh='admin'; $sh='shifts'; echo "Eliminar Mayúsculas";} if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelación";} +if ($ADD==5211111111) {$hh='admin'; $sh='times'; echo "Eliminar de vacaciones";} if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "ELIMINAR TELÉFONO ALIAS";} if ($ADD==53111111111) {$hh='admin'; $sh='phones'; echo "Eliminar grupo ALIAS";} @@ -3603,6 +3823,7 @@ if ($ADD==61111111) {$hh='filters'; echo "Filtro De la Cancelación";} if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "BorrarCall Time";} if ($ADD==631111111) {$hh='admin'; $sh='shifts'; echo "Eliminar Mayúsculas";} if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelación";} +if ($ADD==6211111111) {$hh='admin'; $sh='times'; echo "Eliminar de vacaciones";} if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "ELIMINAR TELÉFONO ALIAS";} if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "Eliminar grupo ALIAS";} @@ -3623,6 +3844,9 @@ if ($ADD==700000000000000) {$hh='reports'; echo "VICIDIAL ADMIN Change Log";} if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL USUARIO ADMIN Change Log";} if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL SECCIÓN ADMIN Change Log";} if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL Detalle de registro de cambio ADMIN";} +if ($ADD==800000000000000) {$hh='reports'; echo "VICIDIAL ADMIN Informe de registro";} +if ($ADD==810000000000000) {$hh='reports'; echo "VICIDIAL USUARIO ADMIN Informe de registro";} +if ($ADD==830000000000000) {$hh='reports'; echo "VICIDIAL DETALLE ADMIN Informe de registro";} if ($ADD==0) {$hh='users'; echo "Lista De Usuarios";} if ($ADD==8) {$hh='users'; echo "Servicios repetidos Dentro Del Agente";} if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Servicios repetidos Dentro De la Campaña";} @@ -3635,6 +3859,7 @@ if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} if ($ADD==1320) {$hh='ingroups'; echo "Modificar DID RA Extensión Invalida";} if ($ADD==1500) {$hh='ingroups'; echo "Llame a los menús";} if ($ADD==1700) {$hh='ingroups'; echo "Filtrar Grupos de teléfono";} +if ($ADD==1800) {$hh='ingroups'; echo "Correo electrónico en Grupos";} if ($ADD==10000) {$hh='remoteagent'; echo "Agentes Remotos";} if ($ADD==12000) {$hh='remoteagent'; echo "Grupos de Extensión";} if ($ADD==100000) {$hh='usergroups'; echo "Grupos De Usuario";} @@ -3643,6 +3868,7 @@ if ($ADD==10000000) {$hh='filters'; echo "Filtros";} if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Tiempos De la Llamada";} if ($ADD==130000000) {$hh='admin'; $sh='shifts'; echo "Turnos";} if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Tiempos De la Llamada Del Estado";} +if ($ADD==1200000000) {$hh='admin'; $sh='times'; echo "Vacaciones";} if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "LISTA DE TELÉFONOS";} if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "TELÉFONO ALIAS LISTA";} if ($ADD==13000000000) {$hh='admin'; $sh='phones'; echo "GRUPO DE ALIAS LISTA";} @@ -3656,6 +3882,8 @@ if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo "ETIQUETAS DE PANTALLA D if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo "Lista de Contactos";} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "LISTA DE CONFERENCIAS";} if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL LISTA DE CONFERENCIAS";} +##QC +require_once('qc/QC_admin_variables01.php'); if ($ADD==550) {$hh='users'; echo "Formulario De Búsqueda";} if ($ADD==551) {$hh='users'; echo "BUSCAR TELÉFONOS";} if ($ADD==660) {$hh='users'; echo "RESULTADOS DE LA BÚSQUEDA";} @@ -3669,7 +3897,35 @@ if ($ADD==999995) {$hh='reports'; echo "DERECHOS DE AUTOR licencia de marca";} if ($ADD==999994) {$hh='reports'; echo "ADMIN UTILITIES";} if ($ADD==999993) {$hh='reports'; echo "Resumen estadístico";} if ($ADD==999992) {$hh='reports'; echo "SYSTEM Resumen estadístico";} +if ($ADD==999991) {$hh='reports'; echo "SERVERS VERSIÓNS";} +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + if ($ADD==999993) {$report_name = "Resumen estadístico";} + if ($ADD==999992) {$report_name = "SYSTEM Resumen estadístico";} + if ($ADD==730000000000000) {$report_name = "Detalle de registro de cambio ADMIN";} + if ($ADD==830000000000000) {$report_name = "DETAIL ADMIN Informe de registro";} + + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $stage, $report_display_type|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + } if ( ($ADD>9) and ($ADD < 99998) ) { @@ -3869,7 +4125,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD ##### BEGIN get inbound groups listing for checkboxes ##### $xfer_groupsSQL=''; - if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and (eregi('list_activation', $stage))) ) + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (eregi('list_activation', $stage)) or (ereg('test_call',$stage)) ) ) ) { $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); @@ -4321,6 +4577,11 @@ if ($ADD==99999)
    Manual de la llamada del agente - esta opción permite que un agente incorpore manualmente un nuevo plomo en el sistema y los llame. Esto también permite llamar de cualquier número de teléfono de su pantalla vicidial y pone esa llamada en su sesión. Utilice esta opción con la precaución. +
    + +
    + Agent Call Email - This option is disabled. +

    @@ -4346,7 +4607,7 @@ if ($ADD==99999)

    - Invalidación de la grabación de VICIDIAL - esta opción seeliminará lo que es la opción en la campaña para la grabación.LISIADO no eliminará el ajuste de la grabación de la campaña. NUNCAinhabilitará la grabación en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabación en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabación en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opción para parar el registrar. ParaALLCALLS y ALLFORCE hay una opción para utilizar la grabaciónretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the La Registración Retrasa to cut down on very short recordings and reduce system load.
    @@ -4361,7 +4622,7 @@ if ($ADD==99999)

    - Principal agente de búsqueda de anulación - Este valor prevalecerá sobre lo que la campaña ha creado para la búsqueda del agente principal. NOT_ACTIVE utilizará el ajuste de la campaña. HABILITADO facilitará la búsqueda de plomo y no discapacitados facilitará la búsqueda de plomo. El valor predeterminado es NOT_ACTIVE. + Principal agente de búsqueda de anulación - Este valor prevalecerá sobre lo que la campaña ha creado para la búsqueda del agente principal. NOT_ACTIVE utilizará el ajuste de la campaña. HABILITADO facilitará la búsqueda de plomo y no discapacitados facilitará la búsqueda de plomo. El valor predeterminado es NOT_ACTIVE. LIVE_CALL_INBOUND permitirá buscar una mientras que el plomo sólo en una llamada entrante. LIVE_CALL_INBOUND_AND_MANUAL permitirá buscar un rato de plomo en una llamada entrante o mientras está en pausa. Cuando Buscar plomo se utiliza en una llamada entrante en vivo, el ejemplo de la llamada cuando se fue a la agente le puede cambiar a un estado de LSMERG, y los registros de la llamada se puede modificar para enlazar con el agente líder elegido en lugar.
    @@ -4484,6 +4745,18 @@ if ($ADD==99999)
    Modifique los plomos - esta opción si el sistema a 1 permite que el usuario modifique los plomos en la página de los resultados de la búsqueda del plomo de la sección del admin. + 0) + { + ?> +
    +
    +
    + Modificar cuentas de correo electrónico - Esta opción si el sistema a 1 permite al usuario modificar cuentas de correo electrónico en la página de gestión de cuentas de correo electrónico. + +

    @@ -4707,6 +4980,17 @@ if ($ADD==99999)
    Permita Closers - aquí es donde usted puede fijar si los usuarios de esta campaña tendrán la opción para enviar la llamada a un más cercano. + 0) + { + ?> +
    +
    +
    + Permitir mensajes de correo electrónico - Aquí es donde se puede establecer que los usuarios de esta campaña serán capaces de recibir mensajes de correo electrónico entrantes, además de llamadas telefónicas. +

    @@ -4928,12 +5212,22 @@ if ($ADD==99999)

    - AMD envían a la VM exten - este menú permite que usted defina si un mensaje esté dejado en un contestador automático cuando se detecta la llamada será remitido inmediatamente a la extensión del Contestar-Ma'quina-Mensaje si AMD es activo y se determina que la llamada es un contestador automático. + AMD envía a la Acción - Esta opción le permite definir si una llamada se envía a la Acción de AMD cuando se detecta un contestador automático. Si se establece en N, entonces la llamada se colgó en cuanto se determina que es un contestador automático. El valor predeterminado es N.

    - CPD AMD Acción - Si está utilizando el Sangoma ParaXip software de detección de llamadas Progreso entonces usted desea habilitar esta configuración, o bien se DISPO a que la llamada disposición como AA y colgar la llamada si se está procesando y no se ha enviado aún a un agente o un mensaje que envía la llamada al contestador automático de mensajes definidos para esta campaña. Desactivado por defecto. + CPD AMD Acción - Si está utilizando el Sangoma ParaXip software de detección de llamadas Progreso entonces usted desea habilitar esta configuración, o bien se DISPO a que la llamada disposición como AA y colgar la llamada si se está procesando y no se ha enviado aún a un agente o un mensaje que envía la llamada al contestador automático de mensajes definidos para esta campaña. Desactivado por defecto. Si se establece en endogrupo enviará un contestador automático a un grupo de entrada. Si se establece en CALLMENU enviará un contestador automático a un menú de llamada en el sistema. + +
    +
    +
    + AMD Entrante Grupo - Si CPD AMD Acción se establece en grupo interno, entonces este es el grupo de entrada que la llamada será enviada a si se detecta un contestador automático. + +
    +
    +
    + AMD Llame Menú - Si CPD AMD Acción se establece en CALLMENU, entonces este es el menú de llamada que la llamada se envía a si se detecta un contestador automático.
    @@ -4960,6 +5254,11 @@ if ($ADD==99999)
    Safe Harbor de audio - Este es el archivo de audio del sistema que se juega, si la acción de colocar está en AUDIO. El valor predeterminado es rumor. +
    +
    +
    + Safe Harbor de audio Campo - Esta configuración opcional le permite definir un campo en la lista que el sistema utilizará como nombre de archivo de audio para cada iniciativa en lugar del archivo de audio Safe Harbor. Si se establece en DISABLED siempre se utilizará el archivo de audio de puerto seguro. El sistema hará ninguna validación para asegurarse de que el archivo de audio existe más que para asegurarse de que el valor del campo es al menos un carácter, así que si quieres una ventaja de utilizar la opción predeterminada Puerto seguro de Audio, solo tienes que configurar el valor del campo a la cabeza de vaciar. Usted puede utilizar el carácter de barra vertical para enlazar varios archivos de audio juntos en el valor del campo para cada cable. Por defecto está desactivado. Aquí está la lista de los campos que se puede utilizar para este ajuste: vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, alt_phone, email, security_phrase, comments, rank, owner, entry_list_id +

    @@ -4988,7 +5287,12 @@ if ($ADD==99999)

    - Único propietario de marcado - Si esta opción está activada, el agente sólo recibirá las pistas que están dentro de los parámetros de la propiedad. Si esto se establece a usuario entonces el agente debe ser definida por el usuario en la base de datos como el propietario de este lugar. Si esto se establece en territorio que entonces el dueño de la iniciativa debe coincidir con el territorio que figuran en la pantalla de modificación del usuario de este agente. Si esto se establece a USER_GROUP entonces el dueño de la iniciativa debe coincidir con el grupo de usuarios que el agente es un miembro de. Para que esta característica funcione el método de línea se debe establecer en Manual o INBOUND_MAN marcado Hopper y no debe estar activado. El valor predeterminado es NINGUNO para discapacitados. + Único propietario de marcado - Si esta opción está activada, el agente sólo recibirá las pistas que están dentro de los parámetros de la propiedad. Si esto se establece a usuario entonces el agente debe ser definida por el usuario en la base de datos como el propietario de este lugar. Si esto se establece en territorio que entonces el dueño de la iniciativa debe coincidir con el territorio que figuran en la pantalla de modificación del usuario de este agente. Si esto se establece a USER_GROUP entonces el dueño de la iniciativa debe coincidir con el grupo de usuarios que el agente es un miembro de. Para que esta característica funcione el método de línea se debe establecer en Manual o INBOUND_MAN marcado Hopper y no debe estar activado. El valor predeterminado es NINGUNO para discapacitados. Si la opción tiene en blanco al final, y luego se les permite a los usuarios marcar cables sin dueño definido, además de propietario definido conduce. + +
    +
    +
    + Propietario Rellenar - Si esta opción está activada y el campo de propietario de la mina está en blanco, el campo propietario por el liderato se rellenará con el ID de usuario del agente que se encarga de la primera llamada. Predeterminado es Desactivado. 0) @@ -5042,6 +5346,11 @@ if ($ADD==99999)
    Encuesta dígitos DTMF - Este campo es donde se define los dígitos que un cliente puede pulsar como una opción en una encuesta sobre la campaña. válidos son los dígitos DTMF0123456789*#. Todas las opciones excepto la no interesados, Tercera y Cuarta opciones de dígitos se trasladará a la ruta de la llamada método de encuesta. +
    +
    +
    + Encuesta Espere segundos - Este es el número de segundos en el modo de encuesta el sistema esperará a que la entrada de la persona llamada hasta que se activa la encuesta o una acción de caída. No se aplica si el método de encuesta es HANGUP. Predeterminado es de 10 segundos. +

    @@ -5070,7 +5379,7 @@ if ($ADD==99999)

    - Estudio n-Respuesta Acción - Este es donde se define lo que ocurrirá si no hay respuesta a la pregunta de la encuesta. OptIn sólo enviar la llamada al método de encuesta si el cliente pulsa una dígitos DTMF. OptOut enviará al cliente en el método de encuesta, aun cuando no presiona una dígitos DTMF. + Estudio n-Respuesta Acción - Este es donde se define lo que ocurrirá si no hay respuesta a la pregunta de la encuesta. OptIn sólo enviar la llamada al método de encuesta si el cliente pulsa una dígitos DTMF. OptOut enviará al cliente en el método de encuesta, aun cuando no presiona una dígitos DTMF. DROP cancelará la llamada utilizando el método de caída de campaña, pero todavía iniciar la llamada como una PM reproduce el mensaje de estado.
    @@ -5182,12 +5491,12 @@ if ($ADD==99999)

    - Grabación de la campaña - este menú permite que usted elija quénivel de la grabación se permite en esta campaña. NUNCAinhabilitará la grabación en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabación en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabación en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opción para parar el registrar. ParaALLCALLS y ALLFORCE hay una opción para utilizar la grabaciónretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + Grabación de la campaña - este menú permite que usted elija qué nivel de la grabación se permite en esta campaña. NEVER inhabilitará la grabación en el cliente. ONDEMAND es el defecto y permite que el agente comience y pare a registrar según lo necesitado. ALLCALLS comenzará la grabación en el cliente siempre que una llamada se envíe a un agente. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the La Registración Retrasa to cut down on very short recordings and reduce system load.

    - Nombre de fichero De Rec De la Campaña - Este campo le permite personalizar el nombre de la grabación cuando la campaña es ONDEMAND o ALLCALLS. Las variables permitidas son CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. El valor predeterminado es FULLDATE_AGENTE y se vería así-20051020 103108_6666. Otro ejemplo es CAMPAIGN_TINYDATE_CUSTPHONE que se vería así TESTCAMP_51020103108_3125551212. 50 char max. + Nombre de fichero De Rec De la Campaña - Este campo le permite personalizar el nombre de la grabación cuando la campaña es ONDEMAND o ALLCALLS. Las variables permitidas son CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. El valor predeterminado es FULLDATE_AGENTE y se vería así 20051020-103108_6666. Otro ejemplo es CAMPAIGN_TINYDATE_CUSTPHONE que se vería así TESTCAMP_51020103108_3125551212. Te resultante nombre de archivo debe ser inferior a 90 caracteres de longitud.
    @@ -5202,7 +5511,7 @@ if ($ADD==99999)

    - Agente de Búsqueda de plomo - Al establecer esta opción en ENABLED permitirá a los agentes a buscar pistas y ver la información de plomo durante la pausa en la interfaz de agente. Además, si el Grupo de agente de usuario se pueden ver los registros de llamadas a continuación, el agente será capaz de ver las notas anteriores de llamadas para cualquier iniciativa que se está viendo la información sobre. El valor predeterminado es DISABLED. + Agente de Búsqueda de plomo - Al establecer esta opción en ENABLED permitirá a los agentes a buscar pistas y ver la información de plomo durante la pausa en la interfaz de agente. Además, si el Grupo de agente de usuario se pueden ver los registros de llamadas a continuación, el agente será capaz de ver las notas anteriores de llamadas para cualquier iniciativa que se está viendo la información sobre. El valor predeterminado es DISABLED. LIVE_CALL_INBOUND permitirá buscar una mientras que el plomo sólo en una llamada entrante. LIVE_CALL_INBOUND_AND_MANUAL permitirá buscar un rato de plomo en una llamada entrante o mientras está en pausa. Cuando Buscar plomo se utiliza en una llamada entrante en vivo, el ejemplo de la llamada cuando se fue a la agente le puede cambiar a un estado de LSMERG, y los registros de la llamada se puede modificar para enlazar con el agente líder elegido en lugar.
    @@ -5297,7 +5606,7 @@ if ($ADD==99999)

    - Rellamadas programadas Conde - Esta opción le permite definir si sólo las devoluciones de llamada LIVE, el usuario sólo devoluciones de llamada programadas que han afectado a la fecha de activación y el tiempo, o devoluciones de llamada de ALL_ACTIVE, el usuario sólo las devoluciones de llamada que están activos en el sistema, así como las devoluciones de llamada VIVOS, BE3 debe contar int que agente de devolución de llamada de alerta sección en la pantalla del agente. El valor predeterminado es ALL_ACTIVE. + Rellamadas programadas Conde - These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks. LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered. You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE. Default is ALL_ACTIVE.
    @@ -5359,6 +5668,11 @@ if ($ADD==99999)
    Campaña de uso Lista DNC - Este define si esta campaña es un filtro contra el DNC lleva lista que es específico de la campaña únicamente. Si se configura a Y, la tolva se verá para cada número de teléfono en la campaña específica de DNC lista antes de colocarla en la tolva. Si es en la campaña específica de DNC se lista a continuación, cambiar de estado que llevan a DNCC por lo que no pueden ser marcados. El valor por defecto es N. La opción codigoDeArea es como la opción-y, excepto que se utiliza para filtrar también un código de área en toda América del Norte desde que se está marcando, en este caso mediante la entrada en la lista 201XXXXXXX DNC podría bloquear todas las llamadas a los 201 codigoDeArea si está habilitada. +
    +
    +
    + Otros DNC Campaña - Si el uso de lista DNC Campaña opción está activada, esta opción puede permitir el uso de una lista de DNC campaña diferente, sólo hay que poner el ID de campaña de la otra campaña en este campo. Si utiliza esta opción, ya no se comprobó la lista de DNC campaña original, sólo se utilizará la otra lista DNC campaña. Esto no afecta al uso de la lista de DNC Sistema Interno. Por defecto está vacía. +

    @@ -5439,6 +5753,16 @@ if ($ADD==99999)
    Mensaje Teléfono Diferencia de tiempo de alerta - Esta función de marcación manual sólo si está activado, se mostrará una alerta si la zona horaria para el código postal de plomo, o el código postal, es diferente de la zona horaria del código de área del número de teléfono para el plomo. La opción OUTSIDE_CALLTIME_ONLY sólo se mostrará la alerta si las dos zonas de tiempo son diferentes y una de las zonas horarias se encuentra fuera del tiempo de llamada seleccionada para la campaña. OUTSIDE_CALLTIME_PHONE sólo comprueba si la zona horaria del número de teléfono del conductor y alertar si está fuera del tiempo de llamada local. OUTSIDE_CALLTIME_POSTAL sólo comprueba si la zona horaria del código postal de la iniciativa y alertar si está fuera del tiempo de llamada local. OUTSIDE_CALLTIME_BOTH comprobará el código postal y número de teléfono para estar dentro de la duración de la llamada local, incluso si se encuentran en la misma zona horaria. Estas alertas se muestran en la información del registro de llamadas, información de devoluciones de llamada de la lista, la información de resultados de búsqueda, cuando un líder se marca y cuando una ventaja de una vista previa. El valor predeterminado es DISABLED. +
    +
    +
    + En Grupo Dial Manual - Esta característica le permite habilitar la capacidad de los agentes para realizar llamadas salientes Marcación manual que se registran como en grupo llama asignado a un determinado grupo de pertenencia. La opción MANUAL_DIAL permite la colocación de las llamadas telefónicas a través de un grupo de pertenencia al agente que realiza la llamada. La opción NO_DIAL permite que el agente de registro de tiempo en una llamada que no existe, como si se tratara de una llamada real, esto a menudo se utiliza para el registro de correo electrónico o el tiempo de envío de faxes. La opción AMBOS permitirá tanto la llamada y no-llamada con marcación en grupo. El valor predeterminado es DISABLED. + +
    +
    +
    + En Grupo Manual Dial Select - Esta opción sólo está activa si el anterior Grupo In-función de marcación manual no está desactivado. Esta opción restringe la selección de entrada-Groups que el agente puede colocar dentro del grupo Dial Manual llama a través. CAMPAIGN_SELECTED mostrará sólo los de los grupos que la campaña se ha fijado como permitido dentro de los grupos. ALL_USER_GROUP mostrará todos los grupos en que se pueden ver a los miembros del grupo de usuarios que el agente pertenece al. +

    @@ -5626,6 +5950,11 @@ if ($ADD==99999)
    Agente de pausa después de cada llamada - Esta opción si se define como Y hará una pausa en el agente después de cada llamada automáticamente. Por defecto es n. +
    +
    +
    + Pausa Agente Tras Siguiente Call Enlace - Esta opción se mostrará si está habilitado un enlace en la pantalla de agente que le permitirá el agente va en pausa automáticamente después de colgar su próxima llamada. Predeterminado es Desactivado. +

    @@ -5692,6 +6021,16 @@ if ($ADD==99999)
    Perdí Times - Este campo le permite poner veces, separados por un guión, que esta lista se restablece automáticamente por el sistema. Los tiempos deben estar en formato de 24 horas sin puntuacion, por ejemplo 0800-1700 se restablecer la lista de las 8 AM y las 5 PM todos los días. Por defecto está vacío. +
    +
    +
    + Fecha de vencimiento - Esta opción le permite configurar la fecha después de la cual lleva en esta lista no se permitirá que se auto-marcado o manual-list-marcado por el sistema. El valor predeterminado es 2099-12-31. + +
    +
    +
    + Auditoría Comentarios - Esta opción permite que los comentarios que se mueven a una tabla de auditoría. Ya no es editable, pero puede ver junto con la fecha de tiempo de los creadores de cada comentario. El valor predeterminado es N. Esta es una parte del Control de Calidad Add-On. +

    @@ -5889,7 +6228,7 @@ if ($ADD==99999)

    - Acción de transferencia de CID - Se utiliza para la gota, Abierto por la noche y las acciones no-agente-no-cola. Este es el número identificador de llamadas que utiliza la llamada antes de ser transferida a las extensiones, mensajes, correo de voz o menús de llamadas. Usted puede utilizar CLIENTE en este campo para utilizar el número de teléfono del cliente, o hacer campaña para usar la primera persona que llama permitido campaña de número de identificación. El valor predeterminado es CLIENTE. + Acción de transferencia de CID - Se utiliza para la gota, Abierto por la noche y las acciones no-agente-no-cola. Este es el número identificador de llamadas que utiliza la llamada antes de ser transferida a las extensiones, mensajes, correo de voz o menús de llamadas. Usted puede utilizar CLIENTE en este campo para utilizar el número de teléfono del cliente, o hacer campaña para usar la primera persona que llama permitido campaña de número de identificación. El valor predeterminado es CLIENTE. Si se trata de una llamada que ir a un menú de llamada y luego de nuevo a un grupo de pertenencia, le sugerimos que utilice CUSTOMERCLOSER en este campo, y también hay que establecer la En-Group Método de búsqueda en el menú de Llamada a CLOSER.
    @@ -6184,7 +6523,7 @@ if ($ADD==99999)

    - In-Group Recording Filename - This field will override the Grabación De la Campaña Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. El valor predeterminado es FULLDATE_AGENTE y se vería así-20051020 103108_6666. Otro ejemplo es CAMPAIGN_TINYDATE_CUSTPHONE que se vería así TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + In-Group Recording Filename - Este campo anulará el esquema de nombres de archivo de grabación de campaña si no se ajusta a ninguno. Las variables son permitidas CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. El valor predeterminado es FULLDATE_AGENTE y se vería así 20051020-103108_6666. Otro ejemplo es CAMPAIGN_TINYDATE_CUSTPHONE que se vería así TESTCAMP_51020103108_3125551212. Te resultante nombre de archivo debe ser inferior a 90 caracteres de longitud. Default is NONE. 0) @@ -6251,7 +6590,7 @@ if ($ADD==99999)

    - Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank. + Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time en segundo of the call. Default is blank.
    @@ -6268,6 +6607,11 @@ if ($ADD==99999)
    Grupo Alias predeterminado - Si han permitido Alias Grupo para la campaña de que el agente se registra en este grupo es el alias que se ha seleccionado en primer lugar por incumplimiento de una llamada procedente de este grupo entrante cuando el agente decide usar un alias para un grupo de salida manual de llamada. El valor por defecto es vacío o NINGUNA. +
    +
    +
    + Dial In-Grupo CID - Si la campaña agente permite Manual en la marcación de grupo, este número de identificación de llamadas se enviará en el CID saliente de la llamada si se rellena, anulando la configuración de la campaña y la lista de configuración override CID. Por defecto está vacía. +

    @@ -6372,7 +6716,7 @@ if ($ADD==99999)

    - In-Group Call Manejar el método - IN_GROUP Si se selecciona como la Ruta de DID, entonces este es el llamado método de control utilizado para estas llamadas. Cid agregar un registro de conducir nuevo con cada llamada mediante la CallerID como el número de teléfono, CIDLOOKUP intentará buscar el número de teléfono por el CallerID en todo el sistema, CIDLOOKUPRL intentará buscar el número de teléfono por el CallerID en una sola lista especificada , CIDLOOKUPRC intentará buscar el número de teléfono por el CallerID en todas las listas que pertenecen a la campaña especificada, más cerca se especifica para Vicidial Closer llamadas, ANI añadirá un nuevo registro de conducir con cada llamada mediante la ANI como el número de teléfono, ANILOOKUP intentará buscar el número de teléfono de la ANI en todo el sistema, ANILOOKUPRL intentará buscar el número de teléfono de la ANI en una sola lista especificada, XDIGITID pedirá la llamada de un código de dos dígitos X antes de la llamada se pondrá en la cola, VIDPROMPT pedirá la persona que llama por su número de identificación y creará un registro de conducir nuevo con el CallerID como el número de teléfono y el ID como el identificador de proveedor, VIDPROMPTLOOKUP intentará buscar el ID en todo el sistema, VIDPROMPTLOOKUPRL intentará búsqueda del proveedor de identificación de la identificación en una sola lista se especifica, VIDPROMPTLOOKUPRC tratará de buscar el proveedor de identificación de la identificación en todas las listas que pertenecen a la campaña especificado. El valor predeterminado es CID. Si un método CIDLOOKUP se utiliza con ALT, buscará el campo alt_phone el número de teléfono si no se encuentran coincidencias con el número de teléfono principal. Si un método se usa con CIDLOOKUP ADDR3, buscará el campo address3 el número de teléfono si no se encuentran coincidencias con el número de teléfono principal y, opcionalmente, el campo alt_phone. + Dentro de la llamada de grupo Método de Mango - IN_GROUP Si se selecciona como la Ruta de DID, entonces este es el llamado método de control utilizado para estas llamadas. Cid agregar un registro de conducir nuevo con cada llamada mediante la CallerID como el número de teléfono, CIDLOOKUP intentará buscar el número de teléfono por el CallerID en todo el sistema, CIDLOOKUPRL intentará buscar el número de teléfono por el CallerID en una sola lista especificada , CIDLOOKUPRC intentará buscar el número de teléfono por el CallerID en todas las listas que pertenecen a la campaña especificada, más cerca se especifica para Vicidial Closer llamadas, ANI añadirá un nuevo registro de conducir con cada llamada mediante la ANI como el número de teléfono, ANILOOKUP intentará buscar el número de teléfono de la ANI en todo el sistema, ANILOOKUPRL intentará buscar el número de teléfono de la ANI en una sola lista especificada, XDIGITID pedirá la llamada de un código de dos dígitos X antes de la llamada se pondrá en la cola, VIDPROMPT pedirá la persona que llama por su número de identificación y creará un registro de conducir nuevo con el CallerID como el número de teléfono y el ID como el identificador de proveedor, VIDPROMPTLOOKUP intentará buscar el ID en todo el sistema, VIDPROMPTLOOKUPRL intentará búsqueda del proveedor de identificación de la identificación en una sola lista se especifica, VIDPROMPTLOOKUPRC tratará de buscar el proveedor de identificación de la identificación en todas las listas que pertenecen a la campaña especificado. El valor predeterminado es CID. Si un método CIDLOOKUP se utiliza con ALT, buscará el campo alt_phone el número de teléfono si no se encuentran coincidencias con el número de teléfono principal. Si un método se usa con CIDLOOKUP ADDR3, buscará el campo address3 el número de teléfono si no se encuentran coincidencias con el número de teléfono principal y, opcionalmente, el campo alt_phone.
    @@ -6450,7 +6794,7 @@ if ($ADD==99999)

    - Menú del sistema - Este campo contiene el nombre de archivo del sistema de audio para jugar en el comienzo de este menú. Puede introducir propmts múltiples en este campo y los demás ámbitos del sistema mediante la separación de ellos con un carácter de canalización. + Menú del sistema - Este campo contiene el nombre de archivo del sistema de audio para jugar en el comienzo de este menú. Puede introducir propmts múltiples en este campo y los demás ámbitos del sistema mediante la separación de ellos con un carácter de canalización. Puede agregar NOINT directamente delante de un nombre de archivo de audio para que sea lo que la reproducción no se puede interrumpir presionando una tecla por la persona que llama, la NOINT no debe formar parte del nombre de archivo, se trata de una marca especial para el sistema. También se puede utilizar para fines especiales. Agi guiones en este campo, así como la secuencia de comandos cm_date.agi, hable con su administrador para obtener más detalles.
    @@ -6542,6 +6886,12 @@ if ($ADD==99999)
    Entrada Dialplan personalizada - Este campo le permite entrar en los elementos dialplan que desea para el menú de llamada. +
    +
    +
    + Calificar SQL - Este campo le permite introducir el SQL - Structured Query Language - fragmentos de bases de datos, al igual que con los filtros, para determinar si este menú llamada debe jugar para la persona que llama o no. Esta característica sólo funciona si la llamada tiene el conjunto CALLERIDNAME antes de ser enviado a este menú de llamada, ya sea como una transferencia de encuesta de salida, oa través del uso de un menú desplegable llamada para una llamada en grupo. Si hay una coincidencia, la llamada procederá de forma normal. Si hay ninguna coincidencia, la llamada va a ir a la opción D o la opción no válida si no hay opción D se ajusta. No se puede utilizar comillas simples en este campo, si sólo se necesitan comillas dobles. Por defecto está vacía para discapacitados. + + @@ -6673,7 +7023,7 @@ if ($ADD==99999) VICIDIAL_CAMPAIGN_HOTKEYS TABLA


    - Con el uso de los hot keys de encargo de la campaña, los agentes que utilizan el retraso vicidial de la lata del tela-cliente y la disposición llama apenas presionando una sola llave en su teclado. Hay dos opciones especiales que usted puede utilizar conjuntamente conel número de teléfono alterno que marca, ALTPH2 de HotKey - el dialcaliente del teléfono alterno y el dial caliente ADDR3-----Address3permiten que un agente utilice un hotkey al retraso su llamada,permanecen en el mismo plomo, y marcan otro número del contacto deese conducen. + Con el uso de los hot keys de encargo de la campaña, los agentes que utilizan el retraso vicidial de la lata del tela-cliente y la disposición llama apenas presionando una sola llave en su teclado. Hay dos opciones especiales que usted puede utilizar conjuntamente conel número de teléfono alterno que marca, ALTPH2 de HotKey - el dialcaliente del teléfono alterno y el dial caliente ADDR3-----Address3permiten que un agente utilice un hotkey al retraso su llamada,permanecen en el mismo plomo, y marcan otro número del contacto deese conducen. También puede utilizar LTMG o XFTAMM como estados para desencadenar una transferencia automática a la opción Leave-correo de voz. @@ -6872,10 +7222,10 @@ if ($ADD==99999)
    - Texto de la escritura - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + Texto de la escritura - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables:
    - <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> + <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> </iframe>

    @@ -6964,6 +7314,26 @@ if ($ADD==99999)
    Estado del tiempo de la llamada del estado - éste es el código dedos letras para el estado que esta definición del tiempo que llamaestá para. Para que esto sea en efecto la llamada local mida eltiempo que se fija en la campaña debe tener este expediente deltiempo de la llamada del estado en él así como todos los plomos quetienen dos códigos del estado de la letra en ellos. + +
    + Holiday ID - Este es el nombre corto de una definición de día de fiesta. Esto tiene que ser un identificador único. No utilice espacios ni signos de puntuación para este campo. máximo de 30 caracteres, mínimo de 2 caracteres. + +
    +
    + Nombre de vacaciones - Este es un nombre más descriptivo de la definición del día de fiesta. Este es un breve resumen de la definición de fiesta. máximo de 100 caracteres, mínimo de 2 caracteres. + +
    +
    + Vacaciones Comentarios - This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-. max 255 characters. + +
    +
    + Holiday Fecha - Esta es la fecha de las vacaciones. + +
    +
    + Estado vacaciones - Este es el estado de la entrada de día de fiesta. Estado activo significa que la fiesta será activada en la fecha de vacaciones. Estado inactivo significa que las vacaciones se tendrá en cuenta, incluso en la fecha de vacaciones. Significa que la fiesta ha pasado su fecha de vacaciones expirado. El valor predeterminado es INACTIVO. + @@ -7106,6 +7476,10 @@ if ($ADD==99999) Eliminar correo de voz después del email - Este ajuste opcional le permite tener los mensajes de correo de voz se elimina del sistema después de haber sido enviado por correo electrónico a cabo. Por defecto es n. +
    +
    + Saludo de correo de voz - Esta configuración opcional le permite definir un archivo de audio saludo de correo de voz desde la tienda de audio. Por defecto está en blanco. +
    Correo de voz Zona - Esta configuración le permite configurar la zona que este buzón de voz se establecerá cuando el tiempo se registra para un mensaje. Por defecto se encuentra en la configuración del sistema. @@ -7149,6 +7523,8 @@ if ($ADD==99999)
  • Dirección Email
  • Frase De Seguridad
  • Comentarios +
  • Rank +
  • Owner
    NOTAS: La funcionalidad del cargador del plomo del sobresalir espermitida por una serie de escrituras del Perl y necesita tener unarchivo correctamente configurado de /etc/astguiclient.conf en lugaren el web server. También, los módulos de un Perl de los pares sedeben cargar para ella para trabajar también -oLE-Storage_Lite-Storage_Lite y la Hoja de balance-ParseExcel. Ustedpuede comprobar para saber si hay errores runtime en éstos mirando suarchivo del error_log de apache. También, para los cheques deduplicación contra gampaign enumera, la lista que tiene nuevos plomosel entrar él necesita ser creada en el sistema antes de que ustedcomience a cargar los plomos. @@ -7240,7 +7616,7 @@ if ($ADD==99999)

    - Establecer como Webphone - Al establecer esta opción a Y se intenta cargar un teléfono basado en la web cuando el agente se registra en la pantalla de su agente. Por defecto es N. + Establecer como Webphone - Al establecer esta opción a Y se intenta cargar un teléfono basado en la web cuando el agente se registra en la pantalla de su agente. Por defecto es N. La opción Y_API_LAUNCH se puede utilizar con la API de agente para poner en marcha el webphone en un Iframe separada o ventana.
    @@ -7291,6 +7667,10 @@ if ($ADD==99999) Eliminar correo de voz después del email - Este ajuste opcional le permite tener los mensajes de correo de voz se elimina del sistema después de haber sido enviado por correo electrónico a cabo. Por defecto es n. +
    +
    + Saludo de correo de voz - Esta configuración opcional le permite definir un archivo de audio saludo de correo de voz desde la tienda de audio. Por defecto está en blanco. +

    @@ -8120,6 +8500,11 @@ if ($ADD==99999)
    Servidor de correo de voz activo - En sistemas multi-servidor, este es el servidor que se encargará de todas las casillas de correo de voz. Este servidor es también donde la línea telefónica en mensajes generados se cargan desde el 8168 grabaciones. +
    +
    +
    + Permitir correo de voz Selector de felicitación - Si se habilita esta opción le permite elegir un archivo de audio de la tienda de audio que se jugará como el saludo de correo de voz a un buzón de voz específica. Por defecto es 0 para discapacitados. +

    @@ -8185,6 +8570,11 @@ if ($ADD==99999)
    Habilitar Estadísticas ampliados Lista - Esta configuración permite que dos columnas adicionales que se muestran en la mayoría de los cuadros de detalle de lista de estado de la modificación de la lista y las páginas de la campaña de modificación. La penetración se define como el porcentaje de conductores que están en o por encima del límite de campaña de llamadas y de visitas-o el estado está marcado como Completado. El valor predeterminado es 1 para habilitado. +
    +
    +
    + Enhanced Disconnect Logging - Esta opción habilita el registro de llamadas que reciben una señal de congestión que causa un código de 1, 19, 21, 34 o 38. Por lo general, no se recomienda habilitar esta en los EE.UU.. Por defecto es 0 para discapacitados. +

    @@ -8201,6 +8591,26 @@ if ($ADD==99999)
    Contactos Activado - Esta configuración permite que los contactos sub-sección de administración que permite a un administrador para añadir modificar o eliminar contactos en el sistema que pueden ser utilizados como parte de una transferencia personalizada en una campaña donde un agente puede buscar contactos por nombre primer apellido o en la oficina número y luego seleccionar uno de los muchos números asociados con ese contacto. Esta característica se utiliza a menudo por los operadores o en las funciones de centralita telefónica donde el usuario necesita para transferir una llamada a un teléfono que no sea agente. El valor predeterminado es 0 para discapacitados. +
    +
    +
    + Llame Menú calificar Activado - Esta configuración permite la opción en los menús Llamadas poner un título SQL en la gente que conocen que el menú de llamada. Para obtener más información sobre cómo funciona esta característica, consulte la ayuda de los menús de llamadas. Por defecto es 0 para discapacitados. + +
    +
    +
    + Nivel 8 deshabilitar - Este ajuste si está habilitado evitará cualquier usuario de nivel 8 de añadir o copiar cualquier archivo en el sistema, no importa cuáles son sus opciones de usuario. Quedan excluidos de estas restricciones son la capacidad de agregar los números de teléfono Grupos DNC y filtro y una página nueva pista en Agregar. Por defecto es 0 para discapacitados. + +
    +
    +
    + Lista de los Condes admin - Esta opción le permite desactivar la lista de cuentas que aparecen en el listado de las listas y las pantallas modifican la Campaña. El valor predeterminado es 1 para activado. + +
    +
    +
    + Permitir mensajes de correo electrónico - Aquí es donde usted puede establecer si este sistema será capaz de recibir mensajes de correo electrónico entrantes, además de llamadas telefónicas. +

    @@ -8366,6 +8776,16 @@ if ($ADD==99999)
    Teléfono Teléfono QueueMetrics Medio Ambiente Anexar - Esta opción, si está habilitado, tiene que añadir el inicio de sesión de teléfono del agente en el registro de data4 en la tabla de registro de cola si el teléfono de campaña de campo para el Medio Ambiente está poblada. El valor predeterminado es 0 para discapacitados. +
    +
    +
    + QueueMetrics Socket Enviar - Esta opción, si está activado, enviará los datos de gestión de calidad a una página web que va a enviar a través de una toma de corriente para el registro. La opción CONNECT_COMPLETE enviará eventos CONNECT, COMPLETEAGENTE y COMPLETECALLER a la url se define a continuación. El valor predeterminado es NONE para discapacitados. + +
    +
    +
    + QueueMetrics Socket Enviar URL - Si Socket Enviar está habilitado anteriormente, esta es la URL que se utiliza para enviar los datos. Por defecto está vacía para discapacitados. +

    @@ -8449,7 +8869,110 @@ if ($ADD==99999)



    + 0) + { + ?> + Cuentas de correo electrónico VICIDIAL

    +
    +
    + The Vicidial Cuentas de correo electrónico management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE. +
    +
    +
    + Email Account ID - Este es el nombre corto de la cuenta de correo electrónico, no se puede editar después de la presentación inicial, no debe contener espacios y debe ser de entre 2 y 20 caracteres de longitud. + +
    +
    +
    + Correo electrónico Nombre de cuenta - Este es el nombre completo de la cuenta de correo electrónico, debe estar entre 2 y 30 caracteres de longitud. + +
    +
    +
    + Activo - Esto determina si esta cuenta se comprueba si hay nuevos mensajes de correo electrónico que se cargará en el marcador. + +
    +
    +
    + Email Descripción de la cuenta - This allows for a lengthy description, if needed, of the email account. 255 characters max. + +
    +
    +
    + Email Tipo de cuenta - Specifies whether the account is used for inbound or outbound email messages. Should be set to INBOUND. + +
    +
    +
    + Grupo de usuarios de administración - Este es el grupo de usuarios administrativa para este grupo entrante, esto permite la visualización de esta administración en grupo restringido por grupo de usuarios. El valor predeterminado es - TODOS - que permite a cualquier usuario de administración para ver esta dentro del grupo. + +
    +
    +
    + Protocolo de cuenta de correo electrónico - This is the email protocol used by the account you are setting up access to. Currently only IMAP and POP3 accounts are supported. + +
    +
    +
    + E-mail Dirección de respuesta - The email address of the account you are setting up access to. Replies to email messages from the agent interface will read as coming from this address. + +
    +
    +
    + Cuenta de correo electrónico del servidor - El servidor de correo electrónico que la cuenta se encuentra en. + +
    +
    +
    + Correo electrónico de cuentas de usuario - The login used to access this account. Usually it's the portion of the reply-to address before the -at- symbol. + +
    +
    +
    + Email Account Password - The password used to access this account. This is usually set at the time the email account is created. + +
    +
    +
    + Email Frequency Check Rate (mins) - How often this email account should be checked. The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time. + +
    +
    +
    + Dentro de la ID de grupo - El En-Group que los mensajes de correo electrónico se enviarán a. + +
    +
    +
    + Por defecto Lista ID - El ID de Lista que lleva se insertará en caso necesario. + +
    +
    +
    + Dentro de la llamada de grupo Método de Mango - This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into vicidial_list as a new lead. EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "En-ID De Grupo Campaña" box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the "Dentro de la lista de ID de grupo" box below. + +
    +
    +
    + En grupo de agentes Método de búsqueda - El método de búsqueda de agentes para ser utilizado por el grupo entrante, LO se balancea la carga-Desbordamiento y tratará de enviar la llamada a un agente en el servidor local antes de intentar enviar a un agente en otro servidor, LB se balancea la carga y tratará de enviar la llamada a otro agente no importa qué servidor que se encuentran, por lo que es servidor de sólo y únicamente tratará de enviar las llamadas a los agentes en el servidor que recibió la llamada en adelante. El valor predeterminado es LB. IS THIS NECESSARY? + +
    +
    +
    + Dentro de la lista de ID de grupo - Esta es la lista de ID que se utilizará para buscar un donante compatible dentro. + +
    +
    +
    + En-ID De Grupo Campaña - Este es el ID de campaña que se utilizará para buscar un donante compatible dentro. + + + + +



    + VICIDIAL CUSTOM TEMPLATE MAKER


    @@ -8496,7 +9019,7 @@ if ($ADD==99999) Máximo del sistema Estadísticas Informes


    - Estas estadísticas son totales almacenados en caché que se almacenan a lo largo de cada día en tiempo real a través de procesos de back-end. Para las llamadas entrantes, las llamadas totales por dentro del grupo se calculan para cada llamada que entra en el proceso que se calcula. Para el recuento de todo el sistema, los totales que se generan a partir de entradas de registro, así como los totales del grupo en otros-y la campaña. Estos totales pueden no sumar debido a la configuración que tienes en tu sistema, así como cuando la llamada se cuelga. + Estas estadísticas son totales almacenados en caché que se almacenan a lo largo de cada día en tiempo real a través de procesos de back-end. Para las llamadas entrantes, las llamadas totales por dentro del grupo se calculan para cada llamada que entra en el proceso que se calcula. Para el recuento de todo el sistema, los totales que se generan a partir de entradas de registro, así como los totales del grupo en otros-y la campaña. Estos totales pueden no sumar debido a la configuración que tienes en tu sistema, así como cuando la llamada se cuelga. CÓDIGOS DE ESTADO VICIDIAL CC


    - The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + The Control de Calidad-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. +



    + Informes

    + +
    +
    + Agente Tiempo Detalle - In this report you can view how much time agents spent on what.
    + TIME CLOCK = Time the agent been logged in to the time clock.
    + AGENTE TIME = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + PAUSE = Time the agent is in pause mode (LOGIN + LAGGED + ...).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + - The next table is pause codes and their time.
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +
    +
    + Agent Status Detalle - In this report you can view what and how many statuses has been selected by the agents.
    + CALLS = Total number of calls sent to the user.
    + CIcalls = Total number of call where there was a Respuesta humana which is set under "Admin" -> "System Estados".
    + DNC/CI% = How much in percent DNC (Do Not Call) per Respuesta humanas.
    + And the rest is justEstados De Sistemathat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Estados".
    + +
    +
    + Agent Performance Detalle - This is a combination of Agente Tiempo Detalle and Agent Status Detalle.
    + (Statistics related to handling of calls only)
    + CALLS = Total number of calls sent to the user.
    + TIME = Total time of these (PAUSE + WAIT + TALK + DISPO).
    + PAUSE = Amount of time being paused in related to call handling.
    + AVG means Average so everything -AVG is for example amount of PAUSE-time divided by total number of calls: (PAUSE / CALLS = PAUSAVG)
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + And the rest is justEstados De Sistemathat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Estados".
    + - Next table is Pausa Códigos.
    + TOTAL = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + NONPAUSE = Everything except pause (WAIT + TALK + DISPO).
    + PAUSE = Only Pause.
    + - The last table is pause codes and their time (like "Agente Tiempo Detalle").
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +















    @@ -8581,7 +9157,7 @@ if ($ADD==73) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -8594,11 +9170,19 @@ if ($ADD==73) echo "FILTER: $lead_filter_id
    \n"; echo "CALL LIMIT: $call_count_limit\n"; echo "CALL TIME: $local_call_time

    \n"; + echo "With Filter:\n"; + echo "

    \n"; ### call function to calculate and print dialable leads $single_status=0; dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,$fSQL); + echo "

    \n"; + echo "Without Filter:\n"; + echo "

    \n"; + + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,''); + echo "

    \n"; echo "\n"; @@ -8690,6 +9274,7 @@ if ($ADD==7111111) $agent_log_id = 'agent_log_id'; $entry_list_id = 'entry_list_id'; $call_id = 'call_id'; + $user_group = 'user_group'; echo "\n"; echo "\n"; @@ -8841,6 +9426,7 @@ if ($ADD==7111111) $script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); $script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); $script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); + $script_text = eregi_replace('--A--user_group--B--',"$user_group",$script_text); $script_text = eregi_replace("\n","
    ",$script_text); @@ -8981,7 +9567,7 @@ if ($ADD=="1A") if ($LOGuser_level==9) {$levelMAX=10;} else {$levelMAX=$LOGuser_level;} - echo "
  • \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) { @@ -9116,6 +9702,7 @@ if ($ADD==11) echo "\n"; + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -9236,7 +9823,7 @@ if ($ADD==111) } else { - echo "\n"; + echo "\n"; } echo "\n"; echo "\n"; @@ -9275,6 +9862,9 @@ if ($ADD==111) if ($ADD==121) { + ### filter for DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); + echo "
          CONTATTI RISULTATI DELLA RICERCA:             chiudere [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Trasferimento Operatori Disponibili: -
          RICERCA DI PIOMBO A:             close [X]
    + "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH エージェント VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to マネージャーsends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, 保留, FROM保留, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("あなたはAGENTDIRECTを使用しているときに転送するエージェントを選択しなければならない(必要があり)"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"保留電話を取る\""; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"電話保留する\""; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"保留電話を取る\""; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"電話保留する\""; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("トランスファー番号は1桁以上でなければなりません:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"保留電話を取る\""; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_保留_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"電話保留する\""; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_保留_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"保留電話を取る\""; - if (ivr_park_call=='ENABLED_保留_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"電話保留する\""; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_保留_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move オンto disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (最後CallbackCount < CBcounT) || (最後CallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - 最後CallbackCount = CBcounT; - 最後CallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (最後CallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - 最後CallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          RICERCA DI PIOMBO A:             chiudere [X]

    \n";} + {echo "

    \n";} ?>

    Note: quando si esegue una ricerca di un lead, il numero di telefono, portare ID o sono i migliori campi da utilizzare.
    Utilizzando gli altri campi potrebbe essere più lento. Ricerca piombo non consente termini di ricerca con caratteri jolly o parziale.
    Richieste di ricerca di piombo sono tutti registrati nel sistema di. @@ -13733,10 +15284,10 @@ Trasferimento Operatori Disponibili: - + - + - + @@ -13765,7 +15316,7 @@ Trasferimento Operatori Disponibili: : - +
    Telefono Number: numero telefonico:
    Telefono Number Fields: campi numero di telefono: Numero di telefono principale Numero di telefono alternativo @@ -13744,7 +15295,7 @@ Trasferimento Operatori Disponibili:
    Lead ID: piombo id:
    :

    INVIA SEARCH             ripristinare forma

    presentare ricerca             ripristinare forma


      @@ -13773,34 +15324,34 @@ Trasferimento Operatori Disponibili: -
          RISULTATI DELLA RICERCA:             close [X]
    +
          RISULTATI DELLA RICERCA:             chiudere [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - --> @@ -518,7 +519,7 @@ $URLsubmit = $URLarray[0]; --> \n"; @@ -1719,7 +1748,7 @@ echo ""; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          Note dal registro chiamate:             close [X]
    + +
          Note dal registro chiamate:             chiudere [X]

    \n";} + {echo "

    \n";} ?> -
    Lista chiamate Note
    +
    Lista chiamate Note


      - Info Box Chiudi + Info Box Chiudi
    - "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info オンthe calls as they are printed @@ -8359,13 +10475,13 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -8421,21 +10537,21 @@ if ($ACTION == 'CALLLOGview') {echo " $next_day_date >     ";} echo " "; echo "行く       "; - echo "閉じる"; + echo " 閉じる"; echo "\n"; echo "
    \n"; echo "
          Dati Cliente:             close [X] +
          Dati Cliente:             chiudere [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Trasferimento Operatori Disponibili:
    SELEZIONARE UN CODICE PAUSA:

    \n";} + {echo "

    \n";} ?> Pausa Code Selection @@ -13824,7 +15375,7 @@ Trasferimento Operatori Disponibili:
    SELEZIONA UN PRESET :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Trasferimento Operatori Disponibili:
    SCEGLI UN GRUPPO ALIAS :

    \n";} + {echo "

    \n";} ?> Selezione Gruppo Alias @@ -13843,6 +15394,18 @@ Trasferimento Operatori Disponibili:
    + +
    selezionare una selezione di gruppo :
    +
    \n";} + ?> + Cassaforte in gruppo Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Trasferimento Operatori Disponibili:
    + +
    un'altra sessione di agente di vivere è stato aperto utilizzando l'ID utente. è stato disattivato. Cliccare su OK per passare alla schermata agente.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Trasferimento Operatori Disponibili: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_it/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_it/voicemail_check.php index 471220a6..c1f5e8c6 100644 --- a/agc_2-X/trunk/LANG_www/agc_it/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_it/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Username/Password non validi: |$user|$pass|\n"; - exit; + echo "Username/Password non validi: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Controllo Voicemail"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Controllo Voicemail"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "Casella Voicemail $vmail_box non è valido\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_jp/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_jp/active_list_refresh.php index 0d28a1c3..70805201 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "無効 ユーザ名/パスワード: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無効 server_ip: |$server_ip| or 無効 session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "無効 session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "リスト表示: "; -if ($ADD==1) {echo "ライブ内線";} -if ($ADD==2) {echo "話し中の内線";} -if ($ADD==3) {echo "外線";} -if ($ADD==4) {echo "ローカル内線";} -if ($ADD==5) {echo "会議";} -if ($ADD==99999) {echo "ヘルプ";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "リスト表示: "; + if ($ADD==1) {echo "ライブ内線";} + if ($ADD==2) {echo "話し中の内線";} + if ($ADD==3) {echo "外線";} + if ($ADD==4) {echo "ローカル内線";} + if ($ADD==5) {echo "会議";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_jp/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_jp/astguiclient.php index 652e6103..78dbd092 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "記録"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "記録"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "この電話でライブで呼び出す。:
    "; + var live_calls_HTML = "この電話でライブで呼び出す。:
    #クライアントチャンネル遠隔チャンネルRECORD電話を切るXFER保留
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var 記録button = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "記録を停止する。";} else - {live_calls_HTML = live_calls_HTML + "記録";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1534,7 +1535,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=0; if (out_calls > 0) { - var out_log_HTML = "
    #クライアントチャンネル遠隔チャンネルRECORD電話を切るXFERPARK
    電話を切るXFER保留
    電話を切るXFERPARK
    " + var out_log_HTML = "
    # DATE\/TIMEに電話する番号LENGTH (M:SS)
    " while (loop_ct < out_calls) { loop_ct++; @@ -1562,7 +1563,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=0; if (in_calls > 0) { - var in_log_HTML = "
    # 日付\/時刻に電話する番号LENGTH (M:SS)
    " + var in_log_HTML = "
    # DATE\/TIMEに電話するインナンバー呼び出し者IDLENGTH
    " while (loop_ct < in_calls) { loop_ct++; @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = " " + head_conf + "    へ登録された: " + head_reg + "   " + reglink + "         会議に入る
    再読み込み     記録         DTMFを送信         会議からダイヤルする
    "; + var conf_head_HTML = " " + head_conf + "    へ登録された: " + head_reg + "   " + reglink + "         会議に入る
    再読み込み     Record         DTMFを送信         会議からダイヤルする
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    # 日付\/時刻に電話するインナンバー呼び出し者IDLENGTH
    "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK ハングアップ

    Active Trunks Menu
    ハングアップトランク   |   ハイジャックトランク   |   diff --git a/agc_2-X/trunk/LANG_www/agc_jp/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_jp/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_jp/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_jp/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_jp/call_log_display.php index a653b92d..d2634c87 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "無効 ユーザ名/パスワード: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無効 server_ip: |$server_ip| or 無効 session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "無効 session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "電話ログ表示"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "電話ログ表示"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten 有効ではない またはプロトコル $protocol 有効ではない\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_jp/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_jp/conf_exten_check.php index bd310869..cfa39525 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF エージェント IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|ステータス: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_jp/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_jp/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_jp/functions.php b/agc_2-X/trunk/LANG_www/agc_jp/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_jp/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_jp/inbound_popup.php index 672b0210..a242f8f6 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_jp/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_jp/live_exten_check.php index f3dd49a7..746dc947 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "無効 ユーザ名/パスワード: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無効 server_ip: |$server_ip| or 無効 session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "無効 session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "ライブ内線チェック"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "ライブ内線チェック"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten 有効ではない またはプロトコル $protocol 有効ではない\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_jp/manager_send.php b/agc_2-X/trunk/LANG_www/agc_jp/manager_send.php index dfd803e9..a4796813 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "ヘルプ";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR 他のエージェントセッションにダイアルすることは許可されていません。 $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate 送信されたコマンド Exten $exten チャンネル $channel オン$server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='保留ED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='保留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='保留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='保留_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVR保留ED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVR保留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVR保留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context 送信されなければなりません。\n"; echo "ext_priority $ext_priority 送信されなければなりません。\n"; echo "\nRedirect Action 送信されない\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference オン$server_ip, Redirect 挿入されていないコマンド\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "空の会議を見つけることができません。 オン$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "空の会議を見つけることができません。 オン$server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel ライブではない オン$call_server_ip, Redirect 挿入されていないコマンド\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ライブではない オン$call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ライブではない オン$call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel ライブではない オン$server_ip, Redirect 挿入されていないコマンド\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ライブではない オン$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ライブではない オン$server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect 挿入されていないコマンド\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX 送信されたコマンド チャンネル $channel オン$call_server_ip and \nHungup $extrachannel オン$server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel オン$call_server_ip, Hungup $extrachannel オン$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel オン$call_server_ip, Hungup $extrachannel オン$server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel オン$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel オン$server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority 送信されなければなりません。\n"; echo "session_id $session_id 送信されなければなりません。\n"; echo "\nRedirect Action 送信されない\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference オン$server_ip, Redirect 挿入されていないコマンド\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "空の会議を見つけることができません。 オン$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "空の会議を見つけることができません。 オン$server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel ライブではない オン$call_server_ip, Redirect 挿入されていないコマンド\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ライブではない オン$call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ライブではない オン$call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel ライブではない オン$server_ip, Redirect 挿入されていないコマンド\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ライブではない オン$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel ライブではない オン$server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra 送信されたコマンド チャンネル $channel and \nExtraChannel $extrachannel\n to $exten オン$server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten オン$server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten オン$server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra 送信されたコマンド チャンネル $channel オン$call_server_ip and \nExtraChannel $extrachannel\n to $exten オン$server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going オンin this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_jp/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_jp/park_calls_display.php index e2ca940d..47eb19b4 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_jp/phone_only.php b/agc_2-X/trunk/LANG_www/agc_jp/phone_only.php index c36cdb09..99b52ac1 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the 電話機へのログイン $clientDST = '1'; # set to 1 to check for DST オンserver for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link オンthe agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    電話 web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " タイムクロック
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English 日本語
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" 電話-Only ログイン
     
    ユーザログイン:
    ユーザパスワード:
      \n"; + echo "

    バージョン: $version       ビルド: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "電話 web client: 電話ログイン\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " タイムクロック
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English 日本語
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" 電話-Only ログイン
     
    電話ログイン:
    電話パスワード:
      \n"; + echo "

    バージョン: $version       ビルド: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "電話 web client: 電話ログイン\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " タイムクロック
    \n";} - echo "\n"; + {echo " タイムクロック
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English 日本語
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" 電話-Only ログイン
     
    電話ログイン:
    電話パスワード:
      \n"; - echo "

    バージョン: $version       ビルド: $build
    \n"; - echo "
    \n\n"; +echo "
    English 日本語
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" 電話-Only ログイン
     
    電話ログイン:
    電話パスワード:
      \n"; + echo "

    バージョン: $version       ビルド: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_jp/timeclock.php b/agc_2-X/trunk/LANG_www/agc_jp/timeclock.php index b62923ba..2ff83295 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_jp/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_jp/vdc_db_query.php index 1fb79aaf..63ee3c2c 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLeadステータス"])) {$CallBackLeadステータス=$_GET["CallBackLeadステータス"];} - elseif (isset($_POST["CallBackLeadステータス"])) {$CallBackLeadステータス=$_POST["CallBackLeadステータス"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "無効 Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "住所 Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "サーバ Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "サーバ Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF エージェント IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF エージェント IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "マネージャーログイン:
    \n"; $VDdisplayMESSAGE.= "マネージャーパスワード:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC 番号\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC 番号\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC 番号\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST 電話 TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST 電話 TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP 最後 NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN 最後 NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP ラストコール TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN ラストコール TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited コメント + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited コメント + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "電話 and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "電話や郵便番号のタイムゾーンの不一致! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append キャンペーンの $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # 電話OUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # 電話OUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings キャンペーンの $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " 電話 NOT PLACED\nDNC 番号\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " 電話 NOT PLACED\nDNC 番号\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " 電話 NOT PLACED\n番号 NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "ログが入力されていません\n"; echo "uniqueid $uniqueid or lead_id: $lead_id 有効ではない\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited コメント + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited コメント + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "キャンペーン $campaign 有効ではない\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups オンvicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row オンselected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send オンto vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user オン$server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "キャンペーン $campaign 有効ではない or lead_id $lead_id 有効ではない\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited コメント + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited コメント + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send オンto vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user オン$server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-キャンペーンの as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit コメント Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - メール feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLeadステータス) > 0) {$log_dispo_choice = $CallBackLeadステータス;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### 電話BACK ENTRY + ### 呼び戻す ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadステータス');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call 注 Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call 注 Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' 変更されています ' . $dispo_choice . " ステータス\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' 変更されています ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserオーダー[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserオーダー[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserオーダー); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserオーダー[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -準備ができている      -インコール      -一時停止  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "このキャンペーンに対し無効になっている列になっている電話ビュー\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8302,12 +10418,12 @@ if ($ACTION == 'CALLSINQUEUEview') echo "
        電話     名前     待つ     フルネーム     待ち時間     エージェント           内部向けグループ     タイプ     グループを呼び出す     タイプを呼び出す  
    保留電話を取る   TAKE 電話     $OQphone_number[$loop_count]     $caller_name     $call_time  
    "; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "エラー:あなたは、検索語に入力する必要があり、これらのいずれかが居住しなければなりません:リードID、ベンダーID、電話番号、姓\n"; echo "

    "; echo "戻る"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,12 +10915,12 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     日付/時間     日付\/時刻     長さ     ステータス     電話     名前     フルネーム     キャンペーン     内部向け/外部向け     代替     電話を切る     イン\/アウト     代替の     ハングアップ     情報     ダイアル  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] 情報 ダイアル 情報 ダイアル ダイアル
    "; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "検索条件に問題がありました:エラー\n"; echo "

    "; echo "戻る"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "エラー:あなたは、検索語に入力する必要があり、これらのいずれかが移入されている必要がありますオフィス番号、姓、名\n"; echo "

    "; echo "戻る"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9123,13 +11252,13 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "
      #     名前     フルネーム     電話     ステータス     最後 電話     市町村     都道府県     ラストコール     都市     状態     郵便番号     情報     ダイアル   $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] 情報 ダイアル 情報 ダイアル ダイアル 選択する
    "; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; if ($search_result_count) @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "検索条件に問題がありました:エラー\n"; echo "

    "; echo "戻る"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no レコード番号";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'タイトル'; + $label_title = ' タイトル'; $label_first_name = '最初'; $label_middle_initial = 'MI'; - $label_last_name = '最後'; + $label_last_name = '最後 '; $label_address1 = '住所1'; $label_address2 = '住所2'; $label_address3 = '住所3'; $label_city = '市町村'; - $label_state = '都道府県'; + $label_state = ' 都道府県'; $label_province = '都道府県'; $label_postal_code = '郵便番号'; $label_vendor_lead_code = 'ベンダーID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = '電話'; $label_phone_code = 'ダイアルコード'; $label_alt_phone = '代替電話'; $label_security_phrase = '示す'; - $label_email = 'メール'; - $label_comments = 'コメント'; + $label_email = ' メール'; + $label_comments = ' コメント'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "電話 and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "電話や郵便番号のタイムゾーンの不一致! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     最初 名前     最後 名前     事務室     携帯電話     他の 1     他の 2     業界     FIRST NAME     最後 NAME     OFFICE     MOBILE     OTHER 1     OTHER 2     BU NAME  
    $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       場所: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    呼ばれた Since 最後 Reset:   $row[4]
    タイムゾーン:   $row[3]
    最後のリセット以降に呼び出さ:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "ダイアル";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " ダイアル ";} + else + {$INFOout .= " ダイアル ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   ダイアル"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    リンクをダイヤル:   ダイアル ";} + else + {$INFOout .= "
    リンクをダイヤル:   ダイアル ";} } $INFOout .= "
    このリードを選択する
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "ダイアル";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " ダイアル ";} + else + {$INFOout .= " ダイアル ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    呼ばれた Count:   $row[24]
    最後 Local Call Time:   $row[25]
    カウントと呼ばれる:   $row[24]
    最後のローカル通話時間:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9625,7 +11772,7 @@ if ($ACTION == 'LEADINFOview') $rowA=mysql_fetch_row($rsltA); $Allcall_notes[$g] = $rowA[0]; if (strlen($Allcall_notes[$g]) > 0) - {$Allcall_notes[$g] = "注: $Allcall_notes[$g]";} + {$Allcall_notes[$g] = "NOTES: $Allcall_notes[$g]";} } $stmtA="SELECT full_name FROM vicidial_users WHERE user='$ALLuser[$g]';"; $rsltA=mysql_query($stmtA, $link); @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9676,7 +11822,7 @@ if ($ACTION == 'LEADINFOview') $rowA=mysql_fetch_row($rsltA); $Allcall_notes[$g] = $rowA[0]; if (strlen($Allcall_notes[$g]) > 0) - {$Allcall_notes[$g] = "注: $Allcall_notes[$g]";} + {$Allcall_notes[$g] = "NOTES: $Allcall_notes[$g]";} } $stmtA="SELECT full_name FROM vicidial_users WHERE user='$ALLuser[$g]';"; $rsltA=mysql_query($stmtA, $link); @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN メール log + if ($allow_emails>0) + { + $NOTESout .= "
    この端子の電子メールログ:
    \n"; + $NOTESout .= "
      #     日付/時間     日付\/時刻     エージェント     長さ     ステータス     電話     キャンペーン     内部向け/外部向け     代替     電話を切る     イン\/アウト     代替の     ハングアップ  
      FULL NAME     フルネーム  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   日付\/時刻   エージェント   キャンペーン   への電子メール   添付ファイル
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END メール Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: このキャンペーンに対し無効になっている列になっている電話ビュー\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "正体不明のハングアップの原因コード."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_jp/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_jp/vdc_email_display.php new file mode 100644 index 00000000..939102eb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_jp/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "無効 ユーザ名/パスワード: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: 無効 File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" オンthe agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    添付ファイル:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    添付ファイル:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_jp/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_jp/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_notes.php index e496d344..ed30bfa0 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'タイトル'; +$label_title = 'Title'; $label_first_name = '最初'; $label_middle_initial = 'MI'; -$label_last_name = '最後'; +$label_last_name = 'Last'; $label_address1 = '住所1'; $label_address2 = '住所2'; $label_address3 = '住所3'; $label_city = '市町村'; -$label_state = '都道府県'; +$label_state = 'State'; $label_province = '都道府県'; $label_postal_code = '郵便番号'; $label_vendor_lead_code = 'ベンダーID'; @@ -264,8 +265,8 @@ $label_phone_number = '電話'; $label_phone_code = 'ダイアルコード'; $label_alt_phone = '代替電話'; $label_security_phrase = '示す'; -$label_email = 'メール'; -$label_comments = 'コメント'; +$label_email = 'Email'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial 注"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *代替電話: *
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // 電話 OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo " 2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1997,9 +2093,9 @@ echo " 0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END 電話機へのログイン load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a 新 record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today オンthat campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2742,7 +2854,7 @@ echo "\n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('1月','February','3月','4月','5月','6月', +$Cmonths = Array('0','1月','February','3月','4月','5月','6月', '7月','8月','9月','10月','11月','12月'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLeadステータス = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var 最後CallCID=''; - var 最後CallbackCount=0; - var 最後CallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"再開\""; var DiaLControl_auto_HTML_ready = "\"\"再開\""; var DiaLControl_auto_HTML_OFF = "\"\"再開\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "アラートがオンになっている"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "アラートはオフです"; } } @@ -3792,33 +3939,33 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == '保留_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == '保留_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == '保留_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == '保留_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == '保留_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == '保留_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == '保留_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == '保留_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == '保留_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == '保留_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == '保留_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; if (temp_xfernumber.length < 3) { - alert_box("無効 ダイアルした番号: " + temp_xfernumber); + alert_box("Number to Dial invalid: " + temp_xfernumber); ShoWTransferMain('OFF','YES'); } else @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("Agentステータスステータス").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("AgentステータスCalls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("AgentステータスDiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,13 +4498,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("ステータス: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { if (PausENotifYCounTer > 10) { - alert_box('あなたのセッションは無効になりました。'); + alert_box('Your session has been paused'); AutoDial_ReSume_PauSe('VDADpause'); PausENotifYCounTer=0; } @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == '保留_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == '保留_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == '保留_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLeadステータス = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbCOMMENTS; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadステータス + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4603,7 +4768,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {document.vicidial_form.LeadLookuP.checked=false;} if (APIDiaL_array_detail[4] == 'YES') // focus オンvicidial agent screen - {window.focus(); alert_box("呼び出し:" + APIDiaL_array_detail[1] + " " + APIDiaL_array_detail[0]);} + {window.focus(); alert_box("Placing call to:" + APIDiaL_array_detail[1] + " " + APIDiaL_array_detail[0]);} if (APIDiaL_array_detail[3] == 'YES') // call preview {NeWManuaLDiaLCalLSubmiT('PREVIEW');} else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "記録
    px\">\">" + var CB_HTML = "
    # コールバック 日付/時間番号情報名前 ステータスキャンペーン最後 日付/時間 に電話する ダイアル 代替
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5690,11 +5958,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (CB_dialable > 0) { - CB_HTML = CB_HTML + ""; + CB_HTML = CB_HTML + ""; } else { - CB_HTML = CB_HTML + ""; + CB_HTML = CB_HTML + ""; } } CB_HTML = CB_HTML + "
    # 呼び戻す 日付\/時刻 番号 情報 フルネーム ステータス キャンペーン 最後 日付\/時刻に電話する ダイアル 代替の
    " + loop_ct + "" + CB_callback_time + "" + CB_phone + "" + CB_comments_ten + " - 情報" + CB_name + "" + CB_status + "" + CB_campaign + "" + CB_lastcall_time + " ダイアル 代替 
    " + loop_ct + "" + CB_callback_time + "" + CB_phone + "" + CB_comments_ten + " - INFO" + CB_name + "" + CB_status + "" + CB_campaign + "" + CB_lastcall_time + " DIAL ALT 
    " + loop_ct + "" + CB_callback_time + "" + CB_phone + "" + CB_comments_ten + " - 情報" + CB_name + "" + CB_status + "" + CB_campaign + "" + CB_lastcall_time + " NON-DIALABLE 
    " + loop_ct + "" + CB_callback_time + "" + CB_phone + "" + CB_comments_ten + " - INFO" + CB_name + "" + CB_status + "" + CB_campaign + "" + CB_lastcall_time + " NON-DIALABLE 
    "; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5772,13 +6040,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (waiting_on_dispo > 0) { - alert_box("システム遅延です。再度試してください。
    :" + agent_log_id + " - " + waiting_on_dispo + ""); + alert_box("システム遅延です。再度試してください。
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); } else { // alt_phone_dialing=1; - 最後CallbackViewed=1; - 最後CallbackCount = (最後CallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "グループエイリアス: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "グループエイリアスを選ぶためにここをクリックしてください。"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "グループ内をダイヤル: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "·グループダイヤルを選択するには、ここをクリック"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     アクティブにするには、ここをクリック"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while オンinbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited コメント (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited コメント + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 呼び戻す "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "最後の電話ll:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "コールバック:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "エージェント:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "コメント:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"クイック転送\""; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"クイック転送\""; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"ウェブフォーム\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"ウェブフォーム\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     無効にするには、ここをクリック"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     アクティブにするには、ここをクリック"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " 呼ばれた: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"電話保留する\""; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_保留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("ダイアル時間切れです。システク管理者にご連絡ください。\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"顧客とダイアルする\""; + document.getElementById("ParkCustomerDial").innerHTML ="\"顧客ダイアルを保留する\""; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"次の番号をダイアルする\""; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"次の番号をダイアルする\""; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - 最後CallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("ホッパーが空です","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("キャンペーン用のホッパーにおける見込み客はありません。:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("DNC この電話番号はキャンペーンリストにありません。:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("この電話番号はキャンペーンリストにありません。:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("この電話番号はローカル電話時間外です。:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("特定されないエラー:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"次の番号をダイアルする\""; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"再開\"
    \"次の番号をダイアルする\""; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("ホッパーが空です","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("キャンペーン用のホッパーにおける見込み客はありません。:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("この電話番号はキャンペーンリストにありません。:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("この電話番号はローカル電話時間外です。:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("特定されないエラー:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"次の番号をダイアルする\""; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " 呼び出し: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"ウェブフォーム\"\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"ウェブフォーム\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 電話BACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "最後の電話ll:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "コールバック:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "エージェント:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "コメント:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"顧客を停止させる\""; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"再開\"
    \"次の番号をダイアルする\""; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited コメント (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited コメント + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " 呼び出し: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"ウェブフォーム\"\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"ウェブフォーム\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 呼び戻す "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "最後の電話ll:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "コールバック:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "エージェント:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "コメント:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"顧客を停止させる\""; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6946,7 +7690,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('post_phone_time_diff_span'); } - document.getElementById("MainStatuSSpan").innerHTML = " 見通しは、次の見通しに移動し、スキップされた"; + document.getElementById("MainStatuSSpan").innerHTML = " Lead skipped, go オンto next lead"; if (dial_method == "INBOUND_MAN") { @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,7 +7755,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: 代替の ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: 住所3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + 最後CallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - 最後CallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " 電話 NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - 最後CallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited コメント (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited コメント + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 電話BACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 呼び戻す "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "最後の電話ll:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "コールバック:" + CBcallback_time; @@ -7677,7 +8444,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: 代替の ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: 住所3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"電話保留する\""; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_保留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" 入ってくる: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add オンall the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS 電話 PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " 入ってくる: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 呼び戻す "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "最後の電話ll:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "コールバック:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "エージェント:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "コメント:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: 代替の ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: 住所3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " 代替ダイヤル番号: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "電話コードと番号: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "この電話番号を無効に変更する";} + else + {EAactive_link = "この電話番号を有効に変更する";} + + document.getElementById("EAcommentsBoxB").innerHTML = "有効:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "代替カウント:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "注:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " 入ってくる: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"電話保留する\""; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"顧客を停止させる\""; + + document.getElementById("XferControl").innerHTML = "\"トランスファー-会議\""; + + document.getElementById("LocalCloser").innerHTML = "\"ローカルクローザー\""; + + document.getElementById("DialBlindTransfer").innerHTML = "\"ブラインドトランスファーをダイアルする\""; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"クイック転送\""; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"クイック転送\""; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"カスタム転送\""; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"再開\"
    \"次の番号をダイアルする\""; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"ウェブフォーム\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"ウェブフォーム\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" 入ってくる: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"ウェブフォーム"; } document.getElementById("ParkControl").innerHTML = "\"電話保留する\""; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_保留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCall注Content").innerHTML = "
    電話メモ:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    電話メモ:
    "; } else { - document.getElementById("PerCall注Content").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8696,7 +10006,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) PauseCode_HTML = ''; document.vicidial_form.PauseCodeSelection.value = ''; var VD_pause_codes_ct_half = parseInt(VD_pause_codes_ct / 2); - PauseCode_HTML = "
    一時停止コード
    "; + PauseCode_HTML = "
    PAUSE CODE
    "; var loop_ct = 0; while (loop_ct < VD_pause_codes_ct) { @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("見込み客を検索するには一時停止しなければなりません。"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("見込み客を検索するには一時停止しなければなりません。"); + alert_box("あなたがリードを検索するアクティブインバウンドコール上にある必要があります"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8852,7 +10181,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) GroupAlias_HTML = ''; document.vicidial_form.GroupAliasSelection.value = ''; var VD_group_aliases_ct_half = parseInt(VD_group_aliases_ct / 2); - GroupAlias_HTML = " @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
    グループエイリアス
    "; + GroupAlias_HTML = " @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "\n";} ?> - + 0) + {echo "\n";} + ?> +
    GROUP ALIAS
    "; if (task3way > 0) { VD_group_aliases_ct_half = (VD_group_aliases_ct_half - 1); @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the グループ内をダイヤル Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    グループ内をダイヤル
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "戻る"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadステータス=" + CallBackLeadステータス + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLeadステータス = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error オンthis line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " 最小化"; document.getElementById("DispoSelectHAspan").innerHTML = "再度、電話を切る"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "次にコールを一時停止"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + 最後CallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - 最後CallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the グループ内をダイヤル + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "グループ内をダイヤル: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they 閉じるtheir browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='あなたのシフトは終わっているか、変更しています。自分のセッションからログアウト済みです。

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or 閉じるthe callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or 閉じるthe agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or 閉じるthe webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("見込み客を検索するには一時停止しなければなりません。"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // 再読み込み the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalL注DisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// 再読み込み the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause オンthe next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "次にコールを一時停止 Set"; + } + + // ################################################################################ // 示す the groups selection span function OpeNGrouPSelectioN() @@ -11465,7 +12915,7 @@ function phone_number_format(formatphone) { else { move_on=0; - alert_box("グループを変更するには一時停止しなければなりません。"); + alert_box("YOU MUST BE PAUSED TO CHANGE TERRITORIES"); } } if (move_on == 1) @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLeadステータス = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLeadステータス = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "警告をダイヤル:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('ようこそBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalL注DisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,17 +13259,19 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('Call注Buttons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('AgentステータスCalls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('AgentステータスSpan');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    マニュアル列はオフです。
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_保留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentViewステータス',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12065,7 +13541,7 @@ function phone_number_format(formatphone) { if (parked_ss < 10) {parked_ss = "0" + parked_ss;} var parked_mmss = parked_mm + ":" + parked_ss; - document.getElementById("ParkCounterSpan").innerHTML = "保留時間: " + parked_mmss; + document.getElementById("ParkCounterSpan").innerHTML = "Time On Park: " + parked_mmss; } if (customer_3way_hangup_counter_trigger > 0) { @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY ハングアップ " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12767,7 +14283,7 @@ $zi=2; ?>    
    - 0) {echo "領域     \n";} ?> + 0) {echo "TERRITORIES     \n";} ?> 0) {echo "グループ     \n";} ?> ログアウト\n"; ?>
    \"FORM\"  LIVE   セッションID:    \"EMAIL\"  LIVE    セッションID:     ライブの電話
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; 見込み客プレビュー
    代替電話ダイヤル
    + 次にコールを一時停止
    + + 記録を開始する

    ウェブフォーム
    @@ -12836,7 +14357,7 @@ $zi=2;  
    電話保留する
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    顧客情報:         見込み客検索";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "電話メモ: "; if ($agent_call_log_view == '1') - {echo "
    メモを見る ";} + {echo "
    メモを見る ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "アラートがオンになっている";} else - {echo "Alert is OFF";} + {echo "アラートはオフです";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -無効なホットキー - - 秒:    
    @@ -13130,8 +14648,8 @@ $zi=2;
    - -あなたのステータス:
    Calls Dialing: + +あなたのステータス:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -他のエージェントのステータス:  
     
    +他のエージェントのステータス:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    -再読み込み +refresh
    \n";} + {echo "
    \n";} ?>
    - -再読み込み + +
    \n";} + ?> +
    +
    + + +リセットフォーム + + + +refresh @@ -13374,11 +14904,28 @@ if ($agent_display_dialable_leads > 0)
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +無効なホットキー + + + + + px height='px'> + + + + + + +
    コメント履歴の表示:
    +
    + - +
    前のコールバック情報: 閉じる close

    @@ -13447,7 +14994,7 @@ if ($agent_display_dialable_leads > 0) -
    あなたのセッションは無効になりました。
    ログアウト

    戻る +
    あなたのセッションは無効になりました。
    ログアウト

    @@ -13476,18 +15023,18 @@ if ($agent_display_dialable_leads > 0)
    コールを配置する :       再度、電話を切る       最小化

    \n";} + {echo "

    \n";} ?> - + End-of-call配置の選択
    エージェントダイアルを一時停止
    クリアフォーム | 送信

    - ウェブフォーム 送信 + ウェブページは、提出

     
    @@ -13496,7 +15043,7 @@ if ($agent_display_dialable_leads > 0)
    電話のかけ直しの日付を選ぶ :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ if ($agent_display_dialable_leads > 0)

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ if ($agent_display_dialable_leads > 0) -
    のための新たなマニュアルダイアルの見込み客 :

    電話したいと思う新たな見込み客に対しては以下の情報を入力してください。. + - + @@ -13613,7 +15164,7 @@ if ($agent_display_dialable_leads > 0)
    のための新たなマニュアルダイアルの見込み客 :

    電話したいと思う新たな見込み客に対しては以下の情報を入力してください。.
    \n"; } @@ -13578,9 +15125,9 @@ if ($agent_display_dialable_leads > 0)
    ダイアルコード:   (これは通常、米国とカナダでの1です。)
    電話 番号: 電話番号: -   (電話番号のみです) +   (数字だけ) @@ -13593,6 +15140,10 @@ if ($agent_display_dialable_leads > 0)

        +

    +     +

    +


    番号をダイアルしたいが、新たな見込み客として追加したくない場合、以下のダイアル優先欄に電話したいと思う正確なダイアル文字を入力してください。この電話を切るには、画面下のこのセッションリンク内の電話を開き、そこのチャンネルリンクをクリックし、電話を切らなければなりません。.
     
    クローザー内部向けグループ選択

    \n";} + {echo "

    \n";} ?> クローザー内部向けグループ選択
    @@ -13635,7 +15186,7 @@ if ($agent_display_dialable_leads > 0)
    領域選択

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ if ($agent_display_dialable_leads > 0) -
          電話ログ表示:             閉じる [X]
    +
          エージェントコールログ:             閉じる[X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ if ($agent_display_dialable_leads > 0) -
          連絡先の検索:             閉じる [X]
    +
          連絡先の検索:             閉じる[X]

    \n";} + {echo "

    \n";} ?>

    注:連絡先を検索する時は、ワイルドカードや部分的な検索用語は許可されません。.
    連絡先検索依頼はシステム内で全て記録されます。. @@ -13679,31 +15230,31 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + - + - + - + - + - + - +
    Office Number: 局番号:
    最初 Name: 姓:
    最後 Name: 姓:
    BU Name: BU名:
    Department: 部門:
    Group Name: グループ名:
    Job タイトル: 職名:
    Location: 場所:

    送信 検索             リセットフォーム

    検索を送信             リセットフォーム


      @@ -13711,10 +15262,10 @@ if ($agent_display_dialable_leads > 0) -
          連絡先検索結果:             閉じる [X]
    +
          連絡先検索結果:             閉じる[X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ if ($agent_display_dialable_leads > 0) - @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          見込み客を検索:             閉じる [X]
    + \n";} ?> - + 0) + {echo "\n";} + ?> +
          見込み客を検索:             閉じる[X]

    \n";} + {echo "

    \n";} ?>

    注:見込み客を検索する時、電話番号、見込み客IDまたは 使用するのに最も良い欄.
    他の欄を使用すると遅くなる場合があります。見込み客検索はワイルドカードや部分的な検索条件は居されていません。.
    見込み客検索依頼はシステム内で全て記録されています。. @@ -13733,10 +15284,10 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + @@ -13765,7 +15316,7 @@ if ($agent_display_dialable_leads > 0) - +
    電話 Number: 電話番号:
    電話 Number Fields: 電話番号フィールド: 主電話番号 代替電話番号 @@ -13744,7 +15295,7 @@ if ($agent_display_dialable_leads > 0)
    Lead ID: レコード番号:
    : :

    送信 検索             リセットフォーム

    検索を送信             リセットフォーム


      @@ -13773,38 +15324,38 @@ if ($agent_display_dialable_leads > 0) -
          検索結果:             閉じる [X]
    +
          検索結果:             閉じる[X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH agent VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Managersends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARKEER, FROMPARKEER, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("moet je een agent kiezen om over te dragen aan het gebruik agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Terugnemen"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Parkeer"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Terugnemen"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Parkeer"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Terugnemen"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKEER_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Parkeer"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKEER_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Terugnemen"; - if (ivr_park_call=='ENABLED_PARKEER_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Parkeer"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKEER_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move op to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (LaatsteCallbackCount < CBcounT) || (LaatsteCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - LaatsteCallbackCount = CBcounT; - LaatsteCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (LaatsteCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - LaatsteCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          電話メモログ:             閉じる [X]
    + +
          電話メモログ:             閉じる[X]

    \n";} + {echo "

    \n";} ?> -
    電話メモリスト
    +
    電話メモリスト


      - 情報BOXを閉じる + クローズ情報ボックス
    - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          顧客情報:             閉じる [X] +
          顧客情報:             閉じる[X]

    \n";} + {echo "

    \n";} ?> Lead Info

      - 情報BOXを閉じる + クローズ情報ボックス
    @@ -13812,7 +15363,7 @@ if ($agent_display_dialable_leads > 0) \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    一時停止コードを選んでください:

    \n";} + {echo "

    \n";} ?> 一時停止Code Selection @@ -13824,7 +15375,7 @@ if ($agent_display_dialable_leads > 0) \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    プリセットを選ぶ :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ if ($agent_display_dialable_leads > 0)
    グループエイリアスを選んでください。 :

    \n";} + {echo "

    \n";} ?> グループエイリアス選択 @@ -13843,13 +15394,32 @@ if ($agent_display_dialable_leads > 0)
    + +
    ·グループダイヤルインを選択 :
    +
    \n";} + ?> + グループ内をダイヤル Selection + +

      +
    +
    + - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    アラート :
    +
    ALERT :
       

    戻る
    + +
    別のライブエージェントセッションが開いているユーザーIDを使用していました。それが無効になっています。エージェントの画面に進みます[OK]をクリックして.
    OK --> +
    +
    + + + @@ -13870,7 +15440,7 @@ if ($agent_display_dialable_leads > 0) \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    -   エージェントアラート! +   Agent Alert!
    @@ -13882,13 +15452,13 @@ if ($agent_display_dialable_leads > 0) @@ -13907,4 +15477,4 @@ if ($agent_display_dialable_leads > 0) exit; -?> \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_jp/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_jp/voicemail_check.php index 028ffa1b..2be2fbfe 100644 --- a/agc_2-X/trunk/LANG_www/agc_jp/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_jp/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "無効 ユーザ名/パスワード: |$user|$pass|\n"; - exit; + echo "無効 ユーザ名/パスワード: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無効 server_ip: |$server_ip| or 無効 session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "ボイスメールチェック"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "ボイスメールチェック"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "ボイスメールボックス $vmail_box 有効ではない\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_nl/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_nl/active_list_refresh.php index 98a5d753..2089eb04 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ongeldig Gebruikersnaam/Wachtwoord: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ongeldig server_ip: |$server_ip| or Ongeldig session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ongeldig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Toon Lijst: "; -if ($ADD==1) {echo "Live Extenties";} -if ($ADD==2) {echo "Bezette Extenties";} -if ($ADD==3) {echo "Buitenlijnen";} -if ($ADD==4) {echo "Lokale Extenties";} -if ($ADD==5) {echo "Conferenties";} -if ($ADD==99999) {echo "HELP";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Toon Lijst: "; + if ($ADD==1) {echo "Live Extenties";} + if ($ADD==2) {echo "Bezette Extenties";} + if ($ADD==3) {echo "Buitenlijnen";} + if ($ADD==4) {echo "Lokale Extenties";} + if ($ADD==5) {echo "Conferenties";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "
     

    - アラート + Alert Box

    - +
     
    \n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_nl/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_nl/astguiclient.php index f72ec949..bdd3cadb 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Opnemen"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Opnemen"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "LIVE GESPREKKEN OP DEZE TELEFOON:
    "; + var live_calls_HTML = "LIVE GESPREKKEN OP DEZE TELEFOON:
    #CLIENT KANAALREMOTE KANAALRECORDOPHANGENXFERPARKEER
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Opnemenbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Stop opnemen";} else - {live_calls_HTML = live_calls_HTML + "Opnemen";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1637,7 +1638,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=-1; if (parked_count > 0) { - var park_HTML = "
    #CLIENT KANAALREMOTE KANAALRECORDOPHANGENXFERPARK
    OPHANGENXFERPARKEER
    OPHANGENXFERPARK
    " + var park_HTML = "
    #CHANNEL
      BEL ID
    GEPARKEEREERD DOOR
      PARKEEREERTIJD
    OPHANGENXFEROPPAKKEN
    " while (loop_ct < parked_count) { loop_ct++; @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "CONFERENTIE " + head_conf + "    Geregistreerd op: " + head_reg + "   " + reglink + "         Ga naar conferentie
    Ververs     Opnemen         Stuur DTMF         Bel van conf
    "; + var conf_head_HTML = "CONFERENTIE " + head_conf + "    Geregistreerd op: " + head_reg + "   " + reglink + "         Ga naar conferentie
    Ververs     Record         Stuur DTMF         Bel van conf
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    #CHANNEL
      BEL ID
    GEPARKEERD DOOR
      PARKEERTIJD
    OPHANGENXFEROPPAKKEN
    --> diff --git a/agc_2-X/trunk/LANG_www/agc_nl/vicidial.php b/agc_2-X/trunk/LANG_www/agc_nl/vicidial.php index 6aaac5c8..cbf01ebe 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefoon login $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls op hold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Ophangen Klant $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT BEL by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable afwisselend BEL by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link op the agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Titel'; +$label_title = ' Titel'; $label_first_name = 'Eerste'; $label_middle_initial = 'MI'; -$label_last_name = 'Laatste'; +$label_last_name = 'Laatste '; $label_address1 = 'Adres1'; $label_address2 = 'Adres2'; $label_address3 = 'Adres3'; $label_city = 'Stad'; -$label_state = 'Staat'; +$label_state = ' Staat'; $label_province = 'Provincie'; $label_postal_code = 'Postcode'; $label_vendor_lead_code = 'Leverancier ID'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Telefoon'; $label_phone_code = 'BelCode'; $label_alt_phone = 'Alt. Tel.'; $label_security_phrase = 'Toon'; $label_email = 'Email'; -$label_comments = 'Opmerkingen'; +$label_comments = ' Opmerkingen'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF agent SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    TRUNK HANGUP

    + "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK hangup

    Active Trunks Menu
    Trunk Ophangen   |   Trunk Kapen   |   @@ -2786,7 +2787,7 @@ echo "\n"; - - + diff --git a/agc_2-X/trunk/LANG_www/agc_nl/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_nl/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_nl/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_nl/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_nl/call_log_display.php index e66935ab..215b5cc1 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ongeldig Gebruikersnaam/Wachtwoord: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ongeldig server_ip: |$server_ip| or Ongeldig session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ongeldig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Gesprekken Log Tonen"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Gesprekken Log Tonen"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten is niet geldig of protocol $protocol is niet geldig\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_nl/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_nl/conf_exten_check.php index e0dfdc5a..71b3dee5 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_nl/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_nl/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_nl/functions.php b/agc_2-X/trunk/LANG_www/agc_nl/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_nl/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_nl/inbound_popup.php index 27e2b6f4..14e7011d 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "\n"; echo "\n";echo "\n"; echo "
    PARKEEREER GESPREKKEN:
    +
    PARKEER GESPREKKEN:
    Terug naar hoofdscherm

    @@ -2799,7 +2800,7 @@ echo "\n";
    VOICEMAIL     NIEUW:     OUD:             HANDMATIG BELLEN       DIAL
    PARKEEREER GESPREKKEN: 0                LOKALE BEL EXTENTIES
    PARKEER GESPREKKEN: 0                LOKALE BEL EXTENTIES
    UITGAANDE GESPREKKEN:
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_nl/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_nl/live_exten_check.php index 6e3c3172..937e4778 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Ongeldig Gebruikersnaam/Wachtwoord: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ongeldig server_ip: |$server_ip| or Ongeldig session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Ongeldig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Live Extentie Controle"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Live Extentie Controle"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten is niet geldig of protocol $protocol is niet geldig\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_nl/manager_send.php b/agc_2-X/trunk/LANG_www/agc_nl/manager_send.php index ee53dd19..f50d6d0a 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Je bent niet toegestaan te bellen naar andere agent sessies $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate commando verstuurd voor Exten $exten Kanaal $channel op $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKEERED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARKEER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARKEER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='PARKEER_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKEERED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARKEER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARKEER',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context moet ingevuld zijn\n"; echo "ext_priority $ext_priority moet ingevuld zijn\n"; echo "\nRedirect Action niet verstuurd\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference op $server_ip, Redirect commando niet uitgevoerd\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Kan geen lege conferentie vinden op $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Kan geen lege conferentie vinden op $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel is niet live op $call_server_ip, Redirect commando niet uitgevoerd\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is niet live op $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel is niet live op $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel is niet live op $server_ip, Redirect commando niet uitgevoerd\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is niet live op $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel is niet live op $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect commando niet uitgevoerd\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX commando verstuurd voor Kanaal $channel op $call_server_ip and \nHungup $extrachannel op $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel op $call_server_ip, Hungup $extrachannel op $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel op $call_server_ip, Hungup $extrachannel op $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel op $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel op $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority moet ingevuld zijn\n"; echo "session_id $session_id moet ingevuld zijn\n"; echo "\nRedirect Action niet verstuurd\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference op $server_ip, Redirect commando niet uitgevoerd\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Kan geen lege conferentie vinden op $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Kan geen lege conferentie vinden op $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel is niet live op $call_server_ip, Redirect commando niet uitgevoerd\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is niet live op $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel is niet live op $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel is niet live op $server_ip, Redirect commando niet uitgevoerd\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is niet live op $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel is niet live op $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra commando verstuurd voor Kanaal $channel and \nExtraChannel $extrachannel\n to $exten op $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten op $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten op $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra commando verstuurd voor Kanaal $channel op $call_server_ip and \nExtraChannel $extrachannel\n to $exten op $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going op in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_nl/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_nl/park_calls_display.php index 19477e07..3d12e310 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_nl/phone_only.php b/agc_2-X/trunk/LANG_www/agc_nl/phone_only.php index f877a81f..3dcee007 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefoon login $clientDST = '1'; # set to 1 to check for DST op server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link op the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Telefoon web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Tijdklok
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Dutch
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefoon-Only Inloggen
     
    Gebruikersnaam:
    Gebruikerswachtwoord:
      \n"; + echo "

    VERSIE: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefoon web client: Telefoon login\/nummer\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Tijdklok
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Dutch
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefoon-Only Inloggen
     
    Telefoon login\/nummer:
    Telefoon Wachtwoord:
      \n"; + echo "

    VERSIE: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefoon web client: Telefoon login\/nummer\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Tijdklok
    \n";} - echo "\n"; + {echo " Tijdklok
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Dutch
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefoon-Only Inloggen
     
    Telefoon login\/nummer:
    Telefoon Wachtwoord:
      \n"; - echo "

    VERSIE: $version       BUILD: $build
    \n"; - echo "
    \n\n"; +echo "
    English Dutch
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefoon-Only Inloggen
     
    Telefoon login\/nummer:
    Telefoon Wachtwoord:
      \n"; + echo "

    VERSIE: $version       BUILD: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_nl/timeclock.php b/agc_2-X/trunk/LANG_www/agc_nl/timeclock.php index 351e624b..e5b5c0dc 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_nl/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_nl/vdc_db_query.php index 1f85987a..a7d5ff4f 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Ongeldig Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Adres Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Server Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Server Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "ManagerInloggen:
    \n"; $VDdisplayMESSAGE.= "ManagerWachtwoord:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NUMMER\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NUMMER\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NUMMER\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST BEL TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST BEL TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP laatste NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN laatste NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP laatste gesprek TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN laatste gesprek TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Opmerkingen + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Opmerkingen + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefoon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefoon en post code tijdzone mismatch! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append in campagne $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # BELOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # BELOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings in campagne $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " BEL NOT PLACED\nDNC NUMMER\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " BEL NOT PLACED\nDNC NUMMER\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " BEL NOT PLACED\nNUMMER NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "LOG NIET INGEVOERD\n"; echo "uniqueid $uniqueid or lead_id: $lead_id is niet geldig\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Opmerkingen + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Opmerkingen + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagne $campaign is niet geldig\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups op vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row op selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send op to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user op $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagne $campaign is niet geldig or lead_id $lead_id is niet geldig\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Opmerkingen + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Opmerkingen + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send op to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user op $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-in campagne as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,12 +8160,23 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Opmerkingen Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### BELBACK ENTRY + ### callback ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Opmerkingen Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Opmerkingen Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserSORTEER[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserSORTEER[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserSORTEER); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserSORTEER[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -KLAAR      -INCALL      -PAUSED  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Roept in wachtrij Bekijk een handicap voor deze campagne\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info op the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "ga       "; + echo " sluiten "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefoon     volledige naam     wachten     agent           BEL GROUP     TYPE     bel groep     type  
    TAKE BEL  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "fout: u moet invoeren in zoektermen, moet een van de volgende zijn bevolkt: lood-ID, leverancier-ID, telefoonnummer, achternaam\n"; echo "

    "; echo "Ga Terug"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     datum\/tijd     lengte     STATUS     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefoon     volledige naam     campagne     in en uit     afwisselend     hangup     info     BEL  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL info BEL BEL
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "fout: er was een probleem met uw zoekwoorden in\n"; echo "

    "; echo "Ga Terug"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "fout: u moet invoeren in zoektermen, moet een van deze worden bevolkt: kantoor nummer, achternaam, voornaam\n"; echo "

    "; echo "Ga Terug"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "fout: er was een probleem met uw zoekwoorden in\n"; echo "

    "; echo "Ga Terug"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no leiden id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Titel'; + $label_title = ' Titel'; $label_first_name = 'Eerste'; $label_middle_initial = 'MI'; - $label_last_name = 'Laatste'; + $label_last_name = 'Laatste '; $label_address1 = 'Adres1'; $label_address2 = 'Adres2'; $label_address3 = 'Adres3'; $label_city = 'Stad'; - $label_state = 'Staat'; + $label_state = ' Staat'; $label_province = 'Provincie'; $label_postal_code = 'Postcode'; $label_vendor_lead_code = 'Leverancier ID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefoon'; $label_phone_code = 'BelCode'; $label_alt_phone = 'Alt. Tel.'; $label_security_phrase = 'Toon'; - $label_email = 'Email'; - $label_comments = 'Opmerkingen'; + $label_email = ' Email'; + $label_comments = ' Opmerkingen'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefoon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefoon en post code tijdzone mismatch! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     volledige naam     telefoon     STATUS     LAST BEL     CITY     STATE     ZIP     INFO     laatste gesprek     stad     staat     ritssluiting     info     BEL  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL info BEL BEL Selecteer
      #     FIRST NAME     LAST NAME     laatste NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       locatie: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Gebeld Since Laatste Reset:   $row[4]
    tijdzone:   $row[3]
    genoemd sinds de laatste reset:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " BEL ";} + else + {$INFOout .= " BEL ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    dial koppeling:   BEL ";} + else + {$INFOout .= "
    dial koppeling:   BEL ";} } $INFOout .= "
    selecteer deze lood
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " BEL ";} + else + {$INFOout .= " BEL ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Gebeld Count:   $row[24]
    Laatste Local Call Time:   $row[25]
    aantal oproepen:   $row[24]
    laatste lokaal gesprek tijd:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    e-logboek voor deze lead:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     datum\/tijd     agent     lengte     STATUS     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefoon     campagne     in en uit     afwisselend     hangup  
      FULL NAME     volledige naam  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   datum\/tijd   agent   campagne   e-mail naar   toebehoren
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Roept in wachtrij Bekijk een handicap voor deze campagne\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "ongeïdentificeerde hangup oorzaak code."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_nl/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_nl/vdc_email_display.php new file mode 100644 index 00000000..95a8e766 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_nl/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Ongeldig Gebruikersnaam/Wachtwoord: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Ongeldig File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" op the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    toebehoren:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    toebehoren:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_nl/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_nl/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_notes.php index 0e454c1d..b9451c57 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Titel'; +$label_title = 'Title'; $label_first_name = 'Eerste'; $label_middle_initial = 'MI'; -$label_last_name = 'Laatste'; +$label_last_name = 'Last'; $label_address1 = 'Adres1'; $label_address2 = 'Adres2'; $label_address3 = 'Adres3'; $label_city = 'Stad'; -$label_state = 'Staat'; +$label_state = 'State'; $label_province = 'Provincie'; $label_postal_code = 'Postcode'; $label_vendor_lead_code = 'Leverancier ID'; @@ -265,7 +266,7 @@ $label_phone_code = 'BelCode'; $label_alt_phone = 'Alt. Tel.'; $label_security_phrase = 'Toon'; $label_email = 'Email'; -$label_comments = 'Opmerkingen'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Opmerkingen"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *
    Campagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSIE: $version       BUILD: $build
    \n"; @@ -907,7 +932,7 @@ echo "
    Campagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSIE: $version       BUILD: $build
    \n"; @@ -957,7 +982,7 @@ echo "
    Campagne: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSIE: $version       BUILD: $build
    \n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login telefoon login
     
    Telefoon login\/nummer:
    Telefoon Wachtwoord:
      \n"; + echo "
      \n"; echo "

    VERSIE: $version       BUILD: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "JE MOET EERS INLOGGEN BIJ DE TIJDKLOK
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "ManagerInloggen:
    \n"; $VDdisplayMESSAGE.= "ManagerWachtwoord:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Campagne Inloggen\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Wachtwoord:
    \n"; echo "Campagne: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1603,7 +1632,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefoon OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Campagne: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSIE: $version       BUILD: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Telefoon Wachtwoord:

    VERSIE: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END telefoon login load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; # If a web form address is not set, use the default one if (strlen($web_form_address)>0) @@ -2311,7 +2407,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NIEUW record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today op that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Wachtwoord:
    \n"; echo "Campagne: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Januari','February','Maart','April','Mei','Juni', +$Cmonths = Array('0','Januari','February','Maart','April','Mei','Juni', 'Juli','Augustus','September','Oktober','November','December'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var LaatsteCallCID=''; - var LaatsteCallbackCount=0; - var LaatsteCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Doorgaan\""; var DiaLControl_auto_HTML_ready = "\"\"Doorgaan\""; var DiaLControl_auto_HTML_OFF = "\"\"Doorgaan\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "alert is op"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "alarm is uitgeschakeld"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARKEER_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARKEER_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARKEER_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARKEER_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARKEER_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARKEER_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARKEER_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARKEER_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARKEER_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARKEER_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARKEER_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4329,10 +4476,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'PARKEER_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'PARKEER_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'PARKEER_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "opnemen
    px\">\">" + var CB_HTML = "
    # BELBACK DATE/TIMENUMMERINFONAME STATUSCAMPAIGNLAST DATUM\/TIJD GESPREK BEL ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - LaatsteCallbackViewed=1; - LaatsteCallbackCount = (LaatsteCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Groep Alias: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Klik hier om te kiezen voor een Groep Alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "inbellen-groep: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "klik hier om een dial-in groep te kiezen"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Klik hier om te activeren"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while op inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Opmerkingen (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Opmerkingen + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Laatste Gesprek:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Terugbeller:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Opmerkingen:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Snelle"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Snelle"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Klik hier om te deactiveren"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Klik hier om te activeren"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Gebeld: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Parkeer"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKEER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Kiezen: duurt te lang, neem contact op met je systeem beheerder\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Bel"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Parkeer"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Bel"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Bel"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - LaatsteCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("HOPPER LEEG","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Geen leads meer in de hopper voor campagne:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Dit telefoon nummer komt niet voor in de campagnelijst:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Dit telefoonnummer is buiten het lokale oproep tijd:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Ongespecificeerde fout:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Bel"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Doorgaan\"
    \"Bel"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("HOPPER LEEG","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Geen leads meer in de hopper voor campagne:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Dit telefoon nummer komt niet voor in de campagnelijst:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Dit telefoonnummer is buiten het lokale oproep tijd:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Ongespecificeerde fout:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Bel"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Bellen: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS BELBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Laatste Gesprek:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Terugbeller:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Opmerkingen:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Ophangen"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Doorgaan\"
    \"Bel"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Opmerkingen (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Opmerkingen + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Bellen: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Laatste Gesprek:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Terugbeller:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Opmerkingen:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Ophangen"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,13 +7755,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT TEL. NUMMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: afwisselend ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT TEL. NUMMER: ADRES3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: ADRES3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT TEL. NUMMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Net- en Abonneenummer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LaatsteCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - LaatsteCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " BEL NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - LaatsteCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Opmerkingen (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Opmerkingen + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS BELBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Laatste Gesprek:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Terugbeller:" + CBcallback_time; @@ -7677,13 +8444,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT TEL. NUMMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: afwisselend ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT TEL. NUMMER: ADRES3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: ADRES3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT TEL. NUMMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Net- en Abonneenummer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Parkeer"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKEER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Inkomend: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add op all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS BEL PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Inkomend: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Laatste Gesprek:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Terugbeller:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Opmerkingen:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: afwisselend ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: ADRES3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " afwisselend TEL. NUMMER: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Net- en Abonneenummer: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Pas nummer aan naar NIET AKTIEF";} + else + {EAactive_link = "Pas nummer aan naar AKTIEF";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Aktief: " + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Aantal" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Opmerkingen: " + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Inkomend: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Parkeer"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Ophangen"; + + document.getElementById("XferControl").innerHTML = "\"Transfer"; + + document.getElementById("LocalCloser").innerHTML = "\"LOKALE"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Bel"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Snelle"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Snelle"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Custom"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Doorgaan\"
    \"Bel"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Inkomend: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Web"; } document.getElementById("ParkControl").innerHTML = "\"Parkeer"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKEER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallOpmerkingenContent").innerHTML = "
    Call Opmerkingen:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Call Opmerkingen:
    "; } else { - document.getElementById("PerCallOpmerkingenContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("JE MOET worden gepauzeerd wilt zoeken naar een LOOD"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("JE MOET worden gepauzeerd wilt zoeken naar een LOOD"); + alert_box("moet je op een actieve inbound call om te zoeken naar een lead"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the inbellen-groep Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # callback datum\/tijd NUMMER info volledige naam STATUS campagne laatste DATUM\/TIJD GESPREK BEL afwisselend
    inbellen-groep
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Ga Terug"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9097,6 +10466,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error op this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimaliseer "; document.getElementById("DispoSelectHAspan").innerHTML = "Opnieuw Ophangen"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "volgende oproep pauzeren"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LaatsteCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - LaatsteCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the inbellen-groep + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "inbellen-groep: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they sluiten their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9874,7 +11280,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (alt_dial_status_display==1) { - alert("Je bent in de ALT knop mode, moet je de leiding af eerst uit te loggen.\n" + reselect_alt_dial); + alert("Je bent in de afwisselend knop mode, moet je de leiding af eerst uit te loggen.\n" + reselect_alt_dial); } else { @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Je dienst is afgelopen of veranderd, je bent afgemeld van de sessie

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or sluiten the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or sluiten the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or sluiten the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("JE MOET worden gepauzeerd wilt zoeken naar een LOOD"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Ververs the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLOpmerkingenDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Ververs the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause op the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "volgende oproep pauzeren Set"; + } + + // ################################################################################ // Toon the groups selection span function OpeNGrouPSelectioN() @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "dial alert:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('WelkomBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLOpmerkingenDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,7 +13259,7 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallOpmerkingenButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') @@ -11814,6 +13270,8 @@ function phone_number_format(formatphone) { {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Handmatig wachtrij is uitgeschakeld
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKEER_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY hangup " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GROEPEN     \n";} ?> UITLOGGEN\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    sessie ID:     Live Gesprek
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; BEKIJK LEAD
    BEL ALT. TEL.
    + volgende oproep pauzeren
    + + Start Opnemen

    Web Formulier
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Parkeer Gesprek
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Klant Informatie:         LEIDEN ZOEKEN";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Call Opmerkingen: "; if ($agent_call_log_view == '1') - {echo "
    Notities bekijken ";} + {echo "
    Notities bekijken ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "alert is op";} else - {echo "Alert is OFF";} + {echo "alarm is uitgeschakeld";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -SNELTOETSEN NIET AKTIEF - - seconden:     @@ -13209,7 +14727,7 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +opnieuw in te stellen formulier + + + +refresh @@ -13374,6 +14904,23 @@ Beschikbaar Transfer Agents:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +SNELTOETSEN NIET AKTIEF + + + + + px height='px'> + + + + + + +
    bekijk commentaar geschiedenis:
    +
    + @@ -13447,7 +14994,7 @@ Beschikbaar Transfer Agents: -
    Jouw sessie is geblokkeerd
    UITLOGGEN

    Ga Terug +
    Jouw sessie is geblokkeerd
    UITLOGGEN

    @@ -13476,18 +15023,18 @@ Beschikbaar Transfer Agents:
    DISPOSITIONEER GESPREK :       Opnieuw Ophangen       minimaliseer

    \n";} + {echo "

    \n";} ?> - + Einde Gesprek Dispositie Selectie
    PAUZEER BELLEN
    RESET FORM | OPSLAAN

    - WEB FORM OPSLAAN + webpagina formulier

     
    @@ -13496,7 +15043,7 @@ Beschikbaar Transfer Agents:
    Selecteer een terugbel datum :

    \n";} + {echo "

    \n";} ?> @@ -13550,11 +15097,11 @@ Beschikbaar Transfer Agents: -
    TERUGBELLERS VOOR AGENT :
    Als u informatie over een van de callbacks zie hieronder, klik op de INFO link. Om de klant nu terug te bellen, klik op de BEL link. Als u hieronder klikt op een record om te bellen, wordt deze verwijderd uit de lijst. + "; $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $print_ctp++; } + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + } else { @@ -1477,7 +1498,7 @@ if (ereg('O',$with_inbound)) { $multi_drop++; - $stmt="select agent_pause_codes_active from vicidial_campaigns $group_SQLwhere;"; + $stmt="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' $group_SQLand;"; $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; @@ -1614,6 +1635,8 @@ else $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where active='Y' $group_SQLand;"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where calls_today > -1 $non_inboundSQL;"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' $group_SQLand;"; } else { @@ -1627,12 +1650,16 @@ else $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active,list_order_mix,auto_hopper_level from vicidial_campaigns where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN ($group_SQL,$closer_campaignsSQL);"; } else { $stmt="select avg(auto_dial_level),max(dial_status_a),max(dial_status_b),max(dial_status_c),max(dial_status_d),max(dial_status_e),max(lead_order),max(lead_filter_id),max(hopper_level),max(dial_method),max(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),max(available_only_ratio_tally),max(adaptive_latest_server_time),max(local_call_time),max(dial_timeout),max(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where campaign_id IN($group_SQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN($group_SQL);"; } } if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} @@ -1658,10 +1685,12 @@ else $CALLtime = $row[16]; $DIALtimeout = $row[17]; $DIALstatuses = $row[18]; - $agent_pause_codes_active = $row[19]; $DIALmix = $row[20]; $AHOPlev = $row[21]; + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; $stmt="select count(*) from vicidial_hopper $group_SQLwhere;"; $rslt=mysql_query($stmt, $link); @@ -2143,6 +2172,7 @@ while($p<$k) if ($CDcall_type[$p] == 'IN') { $G=""; $EG=''; + $Ccampaign_id="$Ccampaign_id"; } if (strlen($CDagent_only[$p]) > 0) {$Gcalltypedisplay = "$G$Cagent_only$EG";} @@ -2257,7 +2287,7 @@ $HTpause = ''; $HDigcall = "------+------------------"; $HTigcall = " HOLD | IN-GROUP "; -if (!ereg("N",$agent_pause_codes_active)) +if ($agent_pause_codes_active > 0) { $HDstatus = "----------"; $HTstatus = " STATUS "; @@ -2331,8 +2361,10 @@ else if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} } -if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} +if ( !preg_match("/ALL-/",$LOGallowed_campaigns) ) {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} +else if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} else {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} + if (strlen($usergroup)<1) {$usergroupSQL = '';} else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} @@ -2560,7 +2592,7 @@ $talking_to_print = mysql_num_rows($rslt); $comments= $Acomments[$i]; $calls_today = sprintf("%-5s", $Acalls_today[$i]); - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) {$pausecode=' ';} else {$pausecode='';} @@ -2580,7 +2612,7 @@ $talking_to_print = mysql_num_rows($rslt); } else { - if (!ereg("$Acallerid[$i]\|",$callerids)) + if (!ereg("$Acallerid[$i]\|",$callerids) && !eregi("EMAIL",$comments)) { $Acall_time[$i]=$Astate_change[$i]; @@ -2596,6 +2628,8 @@ $talking_to_print = mysql_num_rows($rslt); { if (eregi("INBOUND",$comments)) {$CM='I';} + else if (eregi("EMAIL",$comments)) + {$CM='E';} else {$CM='M';} } @@ -2676,7 +2710,7 @@ $talking_to_print = mysql_num_rows($rslt); } if ($Lstatus=='PAUSED') { - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) { $twentyfour_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-24,date("i"),date("s"),date("m"),date("d"),date("Y"))); $stmtC="select sub_status from vicidial_agent_log where agent_log_id >= \"$Aagent_log_id[$i]\" and user='$Luser' order by agent_log_id desc limit 1;"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/admin.php b/agc_2-X/trunk/LANG_www/vicidial_el/admin.php index afab20ee..b6ced24a 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/admin.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/admin.php @@ -1,9 +1,11 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,6 +72,8 @@ $reports_font = 'BLACK'; $cts_font = 'BLACK'; $subcamp_font = 'BLACK'; +### QC font and color variables +require_once('qc/QC_admin_variables.php'); ### comment this section out for colorful section headings $users_color = '#E6E6E6'; $campaigns_color = '#E6E6E6'; @@ -105,9 +109,9 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $QUERY_STRING = getenv("QUERY_STRING"); -$Vreports = 'NONE, Real-Time Main Report, Real-Time Εκστρατεία Summary ,  εισερχόμενοςReport,  εισερχόμενοςService Level Report, Εισερχόμενο Ωριαία Συνοπτική Έκθεση,  εισερχόμενοςDaily Report,  εισερχόμενοςDID Report,  εισερχόμενοςIVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Κατάλογοι Θέσεις εκστρατείας Report, Εκστρατεία Status List Report, Εξαγωγή ζητεί έκθεση, Εξαγωγή οδηγεί Έκθεση , Agent Ωρα Λεπτομέρειες, Agent Status Λεπτομέρειες, Agent Performance Λεπτομέρειες, Team Performance Λεπτομέρειες, Single Agent Daily , ΧρήστηςΏρα ρολόι Report, Ομάδα ΧρήστηΏρα ρολόι Status Report, ΧρήστηΏρα ρολόι Λεπτομέρειες Έκθεση , Server Performance Report, Administration Change Log, List Update Stats, Στατιστικά Χρήστη, Χρήστης Ώρα Φύλλο, Download List, Dialer Έκθεση απογραφής, Maximum System Stats, Maximum Stats Λεπτομέρειες, Search Leads Logs'; +$Vreports = 'NONE, Real-Time Main Report, Real-Time Εκστρατεία Summary ,  εισερχόμενοςReport,  εισερχόμενοςService Level Report, Εισερχόμενο Ωριαία Συνοπτική Έκθεση,  εισερχόμενοςDaily Report,  εισερχόμενοςDID Report,  εισερχόμενοςIVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Κατάλογοι Θέσεις εκστρατείας Report, Εκστρατεία Status List Report, Εξαγωγή ζητεί έκθεση, Εξαγωγή οδηγεί Έκθεση , Agent Ωρα Λεπτομέρειες, Agent Status Λεπτομέρειες, Agent Performance Λεπτομέρειες, Team Performance Λεπτομέρειες, Single Agent Daily, Ομάδα Χρήστη Login Report, ΧρήστηςΏρα ρολόι Report, Ομάδα ΧρήστηΏρα ρολόι Status Report, ΧρήστηΏρα ρολόι Λεπτομέρειες Έκθεση , Server Performance Report, Administration Change Log, List Update Stats, Στατιστικά Χρήστη, Χρήστης Ώρα Φύλλο, Download List, Dialer Έκθεση απογραφής, Maximum System Stats, Maximum Stats Λεπτομέρειες, Search Leads Logs, Email Log Report, Μεταφορέας Έκθεση Σύνδεση, Εκστρατεία Debug, Hangup Cause Report'; -$UGreports = 'ALL ΑΝΑΦΟΡΕΣ, NONE, Real-Time Main Report, Real-Time Εκστρατεία Summary ,  εισερχόμενοςReport,  εισερχόμενοςService Level Report, Εισερχόμενο Ωριαία Συνοπτική Έκθεση,  εισερχόμενοςDaily Report,  εισερχόμενοςDID Report,  εισερχόμενοςIVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Κατάλογοι Θέσεις εκστρατείας Report, Εκστρατεία Status List Report, Εξαγωγή ζητεί έκθεση , Εξαγωγή οδηγεί Έκθεση , Agent Ωρα Λεπτομέρειες, Agent Status Λεπτομέρειες, Agent Performance Λεπτομέρειες, Team Performance Λεπτομέρειες, Single Agent Daily , ΧρήστηςΏρα ρολόι Report, Ομάδα ΧρήστηΏρα ρολόι Status Report, ΧρήστηΏρα ρολόι Λεπτομέρειες Έκθεση , Server Performance Report, Administration Change Log, List Update Stats, Στατιστικά Χρήστη, Χρήστης Ώρα Φύλλο, Download List, Dialer Έκθεση απογραφής, Custom Εκθέσεις Links, CallCard Search, Maximum System Stats, Maximum Stats Λεπτομέρειες, Search Leads Logs'; +$UGreports = 'ALL ΑΝΑΦΟΡΕΣ, NONE, Real-Time Main Report, Real-Time Εκστρατεία Summary ,  εισερχόμενοςReport,  εισερχόμενοςService Level Report, Εισερχόμενο Ωριαία Συνοπτική Έκθεση,  εισερχόμενοςDaily Report,  εισερχόμενοςDID Report,  εισερχόμενοςEmail Report,  εισερχόμενοςIVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Κατάλογοι Θέσεις εκστρατείας Report, Εκστρατεία Status List Report, Εξαγωγή ζητεί έκθεση , Εξαγωγή οδηγεί Έκθεση , Agent Ωρα Λεπτομέρειες, Agent Status Λεπτομέρειες, Agent Performance Λεπτομέρειες, Team Performance Λεπτομέρειες, Single Agent Daily, Ομάδα Χρήστη Login Report, ΧρήστηςΏρα ρολόι Report, Ομάδα ΧρήστηΏρα ρολόι Status Report, ΧρήστηΏρα ρολόι Λεπτομέρειες Έκθεση , Server Performance Report, Administration Change Log, List Update Stats, Στατιστικά Χρήστη, Χρήστης Ώρα Φύλλο, Download List, Dialer Έκθεση απογραφής, Custom Εκθέσεις Links, CallCard Search, Maximum System Stats, Maximum Stats Λεπτομέρειες, Search Leads Logs, Email Log Report'; $Vtables = 'NONE,log_noanswer,did_agent_log,contact_information'; @@ -1540,6 +1544,8 @@ if (isset($_GET["auto_resume_precall"])) {$auto_resume_precall=$_GET["auto_res elseif (isset($_POST["auto_resume_precall"])) {$auto_resume_precall=$_POST["auto_resume_precall"];} if (isset($_GET["auto_pause_precall_code"])) {$auto_pause_precall_code=$_GET["auto_pause_precall_code"];} elseif (isset($_POST["auto_pause_precall_code"])) {$auto_pause_precall_code=$_POST["auto_pause_precall_code"];} +if (isset($_GET["audit_comments"])) {$audit_comments=$_GET["audit_comments"];} + elseif (isset($_POST["audit_comments"])) {$audit_comments=$_POST["audit_comments"];} if (isset($_GET["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_GET["reload_dialplan_on_servers"];} elseif (isset($_POST["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_POST["reload_dialplan_on_servers"];} if (isset($_GET["manual_dial_cid"])) {$manual_dial_cid=$_GET["manual_dial_cid"];} @@ -1724,11 +1730,78 @@ if (isset($_GET["territory_reset"])) {$territory_reset=$_GET["territory_reset" elseif (isset($_POST["territory_reset"])) {$territory_reset=$_POST["territory_reset"];} if (isset($_GET["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_GET["hopper_vlc_dup_check"];} elseif (isset($_POST["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_POST["hopper_vlc_dup_check"];} +if (isset($_GET["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_GET["download_max_system_stats_metric"];} + elseif (isset($_POST["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_POST["download_max_system_stats_metric"];} +if (isset($_GET["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_GET["download_max_system_stats_metric_name"];} + elseif (isset($_POST["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_POST["download_max_system_stats_metric_name"];} if (isset($_GET["inventory_report"])) {$inventory_report=$_GET["inventory_report"];} elseif (isset($_POST["inventory_report"])) {$inventory_report=$_POST["inventory_report"];} if (isset($_GET["report_rank"])) {$report_rank=$_GET["report_rank"];} elseif (isset($_POST["report_rank"])) {$report_rank=$_POST["report_rank"];} - +if (isset($_GET["in_group_dial"])) {$in_group_dial=$_GET["in_group_dial"];} + elseif (isset($_POST["in_group_dial"])) {$in_group_dial=$_POST["in_group_dial"];} +if (isset($_GET["in_group_dial_select"])) {$in_group_dial_select=$_GET["in_group_dial_select"];} + elseif (isset($_POST["in_group_dial_select"])) {$in_group_dial_select=$_POST["in_group_dial_select"];} +if (isset($_GET["dial_ingroup_cid"])) {$dial_ingroup_cid=$_GET["dial_ingroup_cid"];} + elseif (isset($_POST["dial_ingroup_cid"])) {$dial_ingroup_cid=$_POST["dial_ingroup_cid"];} +if (isset($_GET["allow_emails"])) {$allow_emails=$_GET["allow_emails"];} + elseif (isset($_POST["allow_emails"])) {$allow_emails=$_POST["allow_emails"];} +if (isset($_GET["group_handling"])) {$group_handling=$_GET["group_handling"];} + elseif (isset($_POST["group_handling"])) {$group_handling=$_POST["group_handling"];} +if (isset($_GET["agentcall_email"])) {$agentcall_email=$_GET["agentcall_email"];} + elseif (isset($_POST["agentcall_email"])) {$agentcall_email=$_POST["agentcall_email"];} +if (isset($_GET["modify_email_accounts"])) {$modify_email_accounts=$_GET["modify_email_accounts"];} + elseif (isset($_POST["modify_email_accounts"])) {$modify_email_accounts=$_POST["modify_email_accounts"];} +if (isset($_GET["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_GET["safe_harbor_audio_field"];} + elseif (isset($_POST["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_POST["safe_harbor_audio_field"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_GET["call_menu_qualify_enabled"];} + elseif (isset($_POST["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_POST["call_menu_qualify_enabled"];} +if (isset($_GET["qualify_sql"])) {$qualify_sql=$_GET["qualify_sql"];} + elseif (isset($_POST["qualify_sql"])) {$qualify_sql=$_POST["qualify_sql"];} +if (isset($_GET["admin_list_counts"])) {$admin_list_counts=$_GET["admin_list_counts"];} + elseif (isset($_POST["admin_list_counts"])) {$admin_list_counts=$_POST["admin_list_counts"];} +if (isset($_GET["voicemail_greeting"])) {$voicemail_greeting=$_GET["voicemail_greeting"];} + elseif (isset($_POST["voicemail_greeting"])) {$voicemail_greeting=$_POST["voicemail_greeting"];} +if (isset($_GET["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_GET["allow_voicemail_greeting"];} + elseif (isset($_POST["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_POST["allow_voicemail_greeting"];} +if (isset($_GET["pause_after_next_call"])) {$pause_after_next_call=$_GET["pause_after_next_call"];} + elseif (isset($_POST["pause_after_next_call"])) {$pause_after_next_call=$_POST["pause_after_next_call"];} +if (isset($_GET["owner_populate"])) {$owner_populate=$_GET["owner_populate"];} + elseif (isset($_POST["owner_populate"])) {$owner_populate=$_POST["owner_populate"];} +if (isset($_GET["queuemetrics_socket"])) {$queuemetrics_socket=$_GET["queuemetrics_socket"];} + elseif (isset($_POST["queuemetrics_socket"])) {$queuemetrics_socket=$_POST["queuemetrics_socket"];} +if (isset($_GET["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_GET["queuemetrics_socket_url"];} + elseif (isset($_POST["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_POST["queuemetrics_socket_url"];} +if (isset($_GET["holiday_id"])) {$holiday_id=$_GET["holiday_id"];} + elseif (isset($_POST["holiday_id"])) {$holiday_id=$_POST["holiday_id"];} +if (isset($_GET["holiday_name"])) {$holiday_name=$_GET["holiday_name"];} + elseif (isset($_POST["holiday_name"])) {$holiday_name=$_POST["holiday_name"];} +if (isset($_GET["holiday_comments"])) {$holiday_comments=$_GET["holiday_comments"];} + elseif (isset($_POST["holiday_comments"])) {$holiday_comments=$_POST["holiday_comments"];} +if (isset($_GET["holiday_date"])) {$holiday_date=$_GET["holiday_date"];} + elseif (isset($_POST["holiday_date"])) {$holiday_date=$_POST["holiday_date"];} +if (isset($_GET["holiday_status"])) {$holiday_status=$_GET["holiday_status"];} + elseif (isset($_POST["holiday_status"])) {$holiday_status=$_POST["holiday_status"];} +if (isset($_GET["holiday_rule"])) {$holiday_rule=$_GET["holiday_rule"];} + elseif (isset($_POST["holiday_rule"])) {$holiday_rule=$_POST["holiday_rule"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_GET["use_other_campaign_dnc"];} + elseif (isset($_POST["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_POST["use_other_campaign_dnc"];} +if (isset($_GET["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_GET["enhanced_disconnect_logging"];} + elseif (isset($_POST["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_POST["enhanced_disconnect_logging"];} +if (isset($_GET["amd_inbound_group"])) {$amd_inbound_group=$_GET["amd_inbound_group"];} + elseif (isset($_POST["amd_inbound_group"])) {$amd_inbound_group=$_POST["amd_inbound_group"];} +if (isset($_GET["amd_callmenu"])) {$amd_callmenu=$_GET["amd_callmenu"];} + elseif (isset($_POST["amd_callmenu"])) {$amd_callmenu=$_POST["amd_callmenu"];} +if (isset($_GET["level_8_disable_add"])) {$level_8_disable_add=$_GET["level_8_disable_add"];} + elseif (isset($_POST["level_8_disable_add"])) {$level_8_disable_add=$_POST["level_8_disable_add"];} +if (isset($_GET["survey_wait_sec"])) {$survey_wait_sec=$_GET["survey_wait_sec"];} + elseif (isset($_POST["survey_wait_sec"])) {$survey_wait_sec=$_POST["survey_wait_sec"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1740,9 +1813,61 @@ if (strlen($dial_status) > 0) $status = $dial_status; } +if ($download_max_system_stats_metric_name) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + $CSV_text=""; + + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total call count in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls','total call count in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total inbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_inbound_all','total inbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total outbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_outbound_all','total outbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','(max_inbound + max_outbound)','most concurrent calls in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls inbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_inbound','most concurrent calls inbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls outbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_outbound','most concurrent calls outbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent agents") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_agents','most concurrent agents',$end_date); + } + + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "MAX_SYSTEM_STATS_$US$FILE_TIME.csv"; + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + header('Content-type: application/octet-stream'); + + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text"; + + exit; +} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -1780,6 +1905,12 @@ if ($qm_conf_ct > 0) $SSalt_log_login = $row[28]; $SSalt_log_pass = $row[29]; $SStables_use_alt_log_db = $row[30]; + $SScall_menu_qualify_enabled = $row[31]; + $SSadmin_list_counts = $row[32]; + $SSallow_voicemail_greeting = $row[33]; + $SSsvn_revision = $row[34]; + $SSallow_emails = $row[35]; + $SSlevel_8_disable_add = $row[36]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2015,6 +2146,13 @@ if ($non_latin < 1) $admin_hide_lead_data = ereg_replace("[^0-9]","",$admin_hide_lead_data); $max_calls_count = ereg_replace("[^0-9]","",$max_calls_count); $report_rank = ereg_replace("[^0-9]","",$report_rank); + $dial_ingroup_cid = ereg_replace("[^0-9]","",$dial_ingroup_cid); + $call_menu_qualify_enabled = ereg_replace("[^0-9]","",$call_menu_qualify_enabled); + $admin_list_counts = ereg_replace("[^0-9]","",$admin_list_counts); + $allow_voicemail_greeting = ereg_replace("[^0-9]","",$allow_voicemail_greeting); + $enhanced_disconnect_logging = ereg_replace("[^0-9]","",$enhanced_disconnect_logging); + $level_8_disable_add = ereg_replace("[^0-9]","",$level_8_disable_add); + $survey_wait_sec = ereg_replace("[^0-9]","",$survey_wait_sec); $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); @@ -2030,9 +2168,6 @@ if ($non_latin < 1) $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); $queue_priority = ereg_replace("[^-0-9]","",$queue_priority); - ### DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); - ### Y or N ONLY ### $allow_closers = ereg_replace("[^NY]","",$allow_closers); $reset_hopper = ereg_replace("[^NY]","",$reset_hopper); @@ -2084,7 +2219,7 @@ if ($non_latin < 1) $delete_vm_after_email = ereg_replace("[^NY]","",$delete_vm_after_email); $crm_popup_login = ereg_replace("[^NY]","",$crm_popup_login); $ignore_list_script_override = ereg_replace("[^NY]","",$ignore_list_script_override); - $is_webphone = ereg_replace("[^NY]","",$is_webphone); + $is_webphone = ereg_replace("[^-_0-9a-zA-Z]","",$is_webphone); $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); @@ -2179,6 +2314,9 @@ if ($non_latin < 1) $use_custom_cid = ereg_replace("[^0-9a-zA-Z]","",$use_custom_cid); $action_xfer_cid = ereg_replace("[^0-9a-zA-Z]","",$action_xfer_cid); $callback_list_calltime = ereg_replace("[^0-9a-zA-Z]","",$callback_list_calltime); + $pause_after_next_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_next_call); + $owner_populate = ereg_replace("[^0-9a-zA-Z]","",$owner_populate); + $use_other_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_other_campaign_dnc); ### DIGITS and Dots $server_ip = ereg_replace("[^\.0-9]","",$server_ip); @@ -2257,6 +2395,7 @@ if ($non_latin < 1) $server_id = ereg_replace("[^-_0-9a-zA-Z]","",$server_id); $stage = ereg_replace("[^-_0-9a-zA-Z]","",$stage); $state_rule = ereg_replace("[^-_0-9a-zA-Z]","",$state_rule); + $holiday_rule = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_rule); $trunk_restriction = ereg_replace("[^-_0-9a-zA-Z]","",$trunk_restriction); $user = ereg_replace("[^-_0-9a-zA-Z]","",$user); $user_group = ereg_replace("[^-_0-9a-zA-Z]","",$user_group); @@ -2403,9 +2542,17 @@ if ($non_latin < 1) $admin_hide_phone_data = ereg_replace("[^-_0-9a-zA-Z]","",$admin_hide_phone_data); $max_calls_method = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_method); $max_calls_action = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_action); + $in_group_dial = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial); + $in_group_dial_select = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial_select); + $queuemetrics_socket = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_socket); + $holiday_id = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_id); + $holiday_date = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_date); + $holiday_status = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_status); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $amd_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$amd_inbound_group); + $amd_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$amd_callmenu); ### ALPHA-NUMERIC and underscore and dash and slash and dot - $menu_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_prompt); $menu_timeout_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_timeout_prompt); $menu_invalid_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_invalid_prompt); $after_hours_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$after_hours_message_filename); @@ -2444,6 +2591,11 @@ if ($non_latin < 1) $survey_ni_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_ni_audio_file); $survey_third_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_third_audio_file); $survey_fourth_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_fourth_audio_file); + $safe_harbor_audio_field = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio_field); + $voicemail_greeting = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$voicemail_greeting); + + ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma + $menu_prompt = ereg_replace("[^-\/\|\,\._0-9a-zA-Z]","",$menu_prompt); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -2461,7 +2613,7 @@ if ($non_latin < 1) $group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); ### ALPHA-NUMERIC and hash and star and dot and underscore $hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); - $did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); + $did_pattern = ereg_replace("[^\+\*\#\.\_0-9a-zA-Z]","",$did_pattern); $voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); $phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); $phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); @@ -2555,6 +2707,8 @@ if ($non_latin < 1) $group = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group); $job_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$job_title); $location = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$location); + $holiday_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_name); + $holiday_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_comments); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); @@ -2635,6 +2789,14 @@ if ($non_latin < 1) $modify_url = ereg_replace(";","",$modify_url); $modify_url = ereg_replace("\r","",$modify_url); $modify_url = ereg_replace("\"","",$modify_url); + $qualify_sql = ereg_replace("\\\\","",$qualify_sql); + $qualify_sql = ereg_replace(";","",$qualify_sql); + $qualify_sql = ereg_replace("\r","",$qualify_sql); + $qualify_sql = ereg_replace("'",'"',$qualify_sql); + $queuemetrics_socket_url = ereg_replace("\\\\","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace(";","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("\r","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("'",'"',$queuemetrics_socket_url); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address # $queuemetrics_url @@ -3046,16 +3208,53 @@ else # 120316-1203 - Fixed DIALBLE counts for completed statuses # 120402-2111 - Added lead loading template and two carrier log reports to the admin utils page # 120409-1136 - Added Search Leads Logs as slave db option +# 120420-1620 - Forked 2.4 to branches, changing trunk to 2.6 +# 120512-0844 - Added In-Group Manual Dial options to campaign screen +# 120514-0936 - Added Dial In-group CID override setting +# 120518-1456 - Added XFTAMM/LTMG special hotkeys for send to answering machine message +# 120526-0827 - Added User Group User Login Report +# 120529-2112 - Added safe_harbor_audio_field campaign option +# 120706-1255 - Added Max stats date range and call menu qualify_sql options +# 120713-2123 - Added max stats download link and extended_vl option +# 120810-1018 - Added Admin List Counts system settings option +# 120820-1104 - Added is_webphone option Y_API_LAUNCH +# 120831-1523 - Added vicidial_dial_log outbound call logging +# 121018-2321 - Added blank option to owner only dialing +# 121019-0520 - Added voicemail greeting audio chooser options to phones and voicemail boxes +# 121025-2339 - Added without-filter output to test filter function, added server option to test call +# 121027-2344 - Added servers versions page +# 121029-0109 - Added pause_after_next_call and owner_populate campaign options +# 121114-1923 - Added Basic Lead Management page link. Added INGROUP as a recording filename option +# 121116-1410 - Added QC functionality +# 121120-0824 - Added queuemetrics_socket functionality to system settings +# 121123-1208 - Added inbound holiday functions +# 121124-1957 - Added List Expiration Date feature and Campaign Other-DNC-List feature +# 121129-2319 - Added enhanced_disconnect_logging option +# 121130-1425 - Fixed user group permissions issue with allowed campaigns modifications of user groups +# 121205-1619 - Added parentheses around filter SQL when in SQL queries +# 121206-0630 - Added inbound lead search feature +# 121212-1529 - Standardization of list_id fields at 19 digits in forms +# 121222-2146 - Added new email features +# 130102-1135 - Small change to admin log viewing for email accounts +# 130124-1721 - Added Inbound Email report link, added Status Display LEADID options(issue #639) +# 130130-1207 - Added new CPD AMD options for In-Groups and CallMenus +# 130221-1736 - Added Level 8 Disable Add option to system settings and new Email Log Report link, DID exten made non-editable +# 130402-2322 - Added user_group script variable +# 130414-1924 - Added report logging and display +# 130424-1601 - Added survey_wait_sec campaign survey option +# 130425-0700 - Added DROP option for survey_no_response_action to go to campaign drop method +# 130503-1509 - Added red color to server table on reports page if asterisk out of sync # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.4-364a'; -$build = '120409-1136'; +$admin_version = '2.6-400a'; +$build = '130503-1509'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); $REPORTdate = date("Y-m-d"); +$EXPtestdate = date("Ymd"); $CIDdate = date("mdHis"); while (strlen($CIDdate) > 9) {$CIDdate = substr("$CIDdate", 1);} @@ -3067,6 +3266,7 @@ $modify_ανανέωσης_set=0; $modify_footer_ανανέωσης=0; $check_time = ($STARTtime - 86400); $SSanswer_transfer_agent = '8368'; +$add_copy_disabled=0; $month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $past_month_date = date("Y-m-d H:i:s",$month_old); @@ -3105,10 +3305,9 @@ if ($force_logout) echo "Έχετε αποσυνδεθεί. Σας ευχαριστούμε\n"; exit; } - ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_ανανέωσης,nocache_admin,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_ανανέωσης,nocache_admin,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -3123,6 +3322,7 @@ if ($qm_conf_ct > 0) $SSadmin_modify_ανανέωσης = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; + $SSemail_enabled = $row[8]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -3146,6 +3346,10 @@ if ( ($reports_auth > 0) and ($auth < 1) ) $ADD=999999; $reports_only_user=1; } +############################################## +# Include QC Agents with no other permission # +############################################## +require_once('qc/QC_admin_include02.php'); if ($SSwebroot_writable > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} @@ -3154,7 +3358,7 @@ $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); -if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) ) ) +if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) and ($qc_auth < 1)) ) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); @@ -3162,7 +3366,7 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) an exit; } -if ( ($auth > 0) or ($reports_auth > 0) ) +if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) { $office_no=strtoupper($PHP_AUTH_USER); $password=strtoupper($PHP_AUTH_PW); @@ -3306,6 +3510,9 @@ if ( ($auth > 0) or ($reports_auth > 0) ) { $reports_only_user=1; } + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} } else { @@ -3334,8 +3541,10 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; -echo "\n"; +echo "\n"; echo "\n"; +echo "\n"; +echo "\n"; if ($SSnocache_admin=='1') { echo "\n"; @@ -3366,6 +3575,8 @@ if ($ADD==1411) {$hh='ingroups'; echo "ΑντιγραφήDID";} if ($ADD==1511) {$hh='ingroups'; echo "Προσθήκη Call Μενού";} if ($ADD==1611) {$hh='ingroups'; echo "Αντιγραφή Call Μενού";} if ($ADD==1711) {$hh='ingroups'; echo "Προσθήκη φίλτρου Ομίλου Τηλ.";} +if ($ADD==1811) {$hh='ingroups'; echo "Προσθήκη νέου e-mail σε Ομάδα";} +if ($ADD==1911) {$hh='ingroups'; echo "Αντιγράψτε e-mail σε Ομάδα";} if ($ADD==11111) {$hh='remoteagent'; echo "Πρόσθεσε Νέους Απομακρυσμένους Χειριστές";} if ($ADD==12111) {$hh='remoteagent'; echo "Προσθέστε την ομάδα επέκτασης";} if ($ADD==111111) {$hh='usergroups'; echo "Πρόσθεσε Νέα Ομάδα Χρηστών";} @@ -3374,6 +3585,7 @@ if ($ADD==11111111) {$hh='filters'; echo "Πρόσθεσε Φίλτρο";} if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Πρόσθεσε Νέο Χρόνο Κλήσης";} if ($ADD==131111111) {$hh='admin'; $sh='shifts'; echo "Προσθήκη νέου Shift";} if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Πρόσθεσε Νέο Χρόνο Κλήσης Κατάστασης";} +if ($ADD==1211111111) {$hh='admin'; $sh='times'; echo "Προσθήκη διακοπών";} if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "ΠΡΟΣΘΕΣΕ ΝΕΟ ΤΗΛΕΦΩΝΟ";} if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "Προσθήκη νέου PHONE ALIAS";} if ($ADD==13111111111) {$hh='admin'; $sh='phones'; echo "Προσθήκη νέου GROUP ALIAS";} @@ -3409,6 +3621,8 @@ if ($ADD==2411) {$hh='ingroups'; echo "Νέα προσθήκη αντιγρα if ($ADD==2511) {$hh='ingroups'; echo "Νέα Πρόσκληση Μενού";} if ($ADD==2611) {$hh='ingroups'; echo "Νέα Πρόσκληση Μενού";} if ($ADD==2711) {$hh='ingroups'; echo "Νέο φίλτρο Ομίλου Τηλ.";} +if ($ADD==2811) {$hh='ingroups'; echo "Νέα προσθήκη Ομάδα Email";} +if ($ADD==2911) {$hh='ingroups'; echo "Νέα Αντιγραφή προσθήκη Ομάδα Email";} if ($ADD==21111) {$hh='remoteagent'; echo "Προσθήκη Νέων Απομακρυσμένων Χειριστών";} if ($ADD==22111) {$hh='remoteagent'; echo "Νέα προσθήκη επέκτασης ομάδας";} if ($ADD==211111) {$hh='usergroups'; echo "Προσθήκη Νέας Ομάδας Χρηστών";} @@ -3417,6 +3631,7 @@ if ($ADD==21111111) {$hh='filters'; echo "Προσθήκη Νέου Φίλτρ if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Προσθήκη Νέου Χρόνου Κλήσης";} if ($ADD==231111111) {$hh='admin'; $sh='shifts'; echo "Νέα προσθήκη Shift";} if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Προσθήκη Νέου Χρόνου Κλήσης Κατάστασης";} +if ($ADD==2211111111) {$hh='admin'; $sh='times'; echo "Νέα προσθήκη διακοπών";} if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΤΗΛΕΦΩΝΟΥ";} if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "Την προσθήκη νέων PHONE ALIAS";} if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "Την προσθήκη νέων GROUP ALIAS";} @@ -3480,6 +3695,7 @@ if ($ADD==3311) {$hh='ingroups'; echo "ModifyDID";} if ($ADD==3321) {$hh='ingroups'; echo "Τροποποίηση DID, RA Επέκταση Παρακάμπτει";} if ($ADD==3511) {$hh='ingroups'; echo "Τροποποίηση Call Μενού";} if ($ADD==3711) {$hh='ingroups'; echo "Τροποποίηση φίλτρου Ομίλου Τηλ.";} +if ($ADD==3811) {$hh='ingroups'; echo "Τροποποίηση e-mail σε Ομάδα";} if ($ADD==31111) {$hh='remoteagent'; echo "Τροποποίηση Απομακρυσμένων Χειριστών";} if ($ADD==32111) {$hh='remoteagent'; echo "Τροποποιήστε την ομάδα επέκτασης";} if ($ADD==311111) {$hh='usergroups'; echo "Τροποποίηση Ομάδων Χρηστών";} @@ -3489,6 +3705,7 @@ if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση Χ if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση Λίστας Ορισμών Χρόνου Κλήσης Κατάστασης ";} if ($ADD==331111111) {$hh='admin'; $sh='shifts'; echo "Τροποποιήστε Shift";} if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Τροποπίηση Χρόνου Κλήσης Κατάστασης";} +if ($ADD==3211111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση διακοπών";} if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΤΗΛΕΦΩΝΟ";} if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΤΗΛΕΦΩΝΟ ALIAS";} if ($ADD==33111111111) {$hh='admin'; $sh='phones'; echo "MODIFY GROUP ALIAS";} @@ -3524,6 +3741,7 @@ if ($ADD==4111) {$hh='ingroups'; echo "Τροποποίηση Εισ-Ομάδ if ($ADD==4311) {$hh='ingroups'; echo "ModifyDID";} if ($ADD==4511) {$hh='ingroups'; echo "Τροποποίηση Call Μενού";} if ($ADD==4711) {$hh='ingroups'; echo "Τροποποίηση φίλτρου Ομίλου Τηλ.";} +if ($ADD==4811) {$hh='ingroups'; echo "ModifyEmail In-Group";} if ($ADD==41111) {$hh='remoteagent'; echo "Τροποποίηση Απομακρυσμένων Χειριστών";} if ($ADD==42111) {$hh='remoteagent'; echo "Τροποποιήστε την ομάδα επέκτασης";} if ($ADD==411111) {$hh='usergroups'; echo "Τροποποίηση Ομάδων Χρηστών";} @@ -3532,6 +3750,7 @@ if ($ADD==41111111) {$hh='filters'; echo "Τροποποίηση Φίλτρο if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση Χρόνου Κλήσης";} if ($ADD==431111111) {$hh='admin'; $sh='shifts'; echo "Τροποποιήστε Shift";} if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Τροποπίηση Χρόνου Κλήσης Κατάστασης";} +if ($ADD==4211111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση διακοπών";} if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΤΗΛΕΦΩΝΟ";} if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΤΗΛΕΦΩΝΟ ALIAS";} if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "MODIFY GROUP ALIAS";} @@ -3567,6 +3786,7 @@ if ($ADD==51111111) {$hh='filters'; echo "Διαγραφή Φίλτρου";} if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης";} if ($ADD==531111111) {$hh='admin'; $sh='shifts'; echo "Διαγραφή Shift";} if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης Κατάστασης";} +if ($ADD==5211111111) {$hh='admin'; $sh='times'; echo "Διαγραφή διακοπών";} if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} if ($ADD==53111111111) {$hh='admin'; $sh='phones'; echo "Διαγραφή ομάδας ALIAS";} @@ -3603,6 +3823,7 @@ if ($ADD==61111111) {$hh='filters'; echo "Διαγραφή Φίλτρου";} if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης";} if ($ADD==631111111) {$hh='admin'; $sh='shifts'; echo "Διαγραφή Shift";} if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης Κατάστασης";} +if ($ADD==6211111111) {$hh='admin'; $sh='times'; echo "Διαγραφή διακοπών";} if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "Διαγραφή ομάδας ALIAS";} @@ -3623,6 +3844,9 @@ if ($ADD==700000000000000) {$hh='reports'; echo "ΔΙΑΧΕΙΡΙΣΗ CHANGE LOG if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL ΧΡΗΣΤΗΣ ΔΙΟΙΚΗΣΗΣ CHANGE LOG";} if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ CHANGE LOG";} if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL ΛΕΠΤΟΜΕΡΕΙΑ ADMIN CHANGE LOG";} +if ($ADD==800000000000000) {$hh='reports'; echo "ΔΙΑΧΕΙΡΙΣΗ LOG ΕΚΘΕΣΗ";} +if ($ADD==810000000000000) {$hh='reports'; echo "VICIDIAL χρήστη Admin LOG ΕΚΘΕΣΗ";} +if ($ADD==830000000000000) {$hh='reports'; echo "ΔΙΑΧΕΙΡΙΣΗ λεπτομερειών καταγραφής ΕΚΘΕΣΗ";} if ($ADD==0) {$hh='users'; echo "Λίστα Χρηστών";} if ($ADD==8) {$hh='users'; echo "Επανακλήσεις μέσα στον χειριστή";} if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Επανακλήσεις μέσα στην εκστρατεία";} @@ -3635,6 +3859,7 @@ if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} if ($ADD==1320) {$hh='ingroups'; echo "Τροποποίηση DID, RA Επέκταση Παρακάμπτει";} if ($ADD==1500) {$hh='ingroups'; echo "Καλέστε Menus";} if ($ADD==1700) {$hh='ingroups'; echo "Φίλτρο Ομάδες Τηλέφωνο";} +if ($ADD==1800) {$hh='ingroups'; echo "E-mail σε Ομάδες";} if ($ADD==10000) {$hh='remoteagent'; echo "Απομακρυσμένοι Χειριστές";} if ($ADD==12000) {$hh='remoteagent'; echo "Ομάδες επέκτασης";} if ($ADD==100000) {$hh='usergroups'; echo "Ομάδες Χρήστη";} @@ -3643,6 +3868,7 @@ if ($ADD==10000000) {$hh='filters'; echo "Φίλτρα";} if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Χρόνοι Κλήσεων";} if ($ADD==130000000) {$hh='admin'; $sh='shifts'; echo "Βάρδιες";} if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "";} +if ($ADD==1200000000) {$hh='admin'; $sh='times'; echo "Διακοπές";} if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "ΛΙΣΤΑ ΤΗΛΕΦΩΝΟΥ";} if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "PHONE ALIAS ΚΑΤΑΛΟΓΟΣ";} if ($ADD==13000000000) {$hh='admin'; $sh='phones'; echo "ΟΜΑΔΑ ALIAS ΚΑΤΑΛΟΓΟΣ";} @@ -3656,6 +3882,8 @@ if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo "ΟΘΟΝΗ ΚΑΤΑΛΟ if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo "ΚΑΤΑΛΟΓΟΣ ΕΠΙΚΟΙΝΩΝΙΑ";} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "ΛΙΣΤΑ ΣΥΝΔΙΑΛΕΞΕΩΝ";} if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL ΛΙΣΤΑ ΣΥΝΔΙΑΛΕΞΕΩΝ";} +##QC +require_once('qc/QC_admin_variables01.php'); if ($ADD==550) {$hh='users'; echo "Φόρμα Αναζήτησης";} if ($ADD==551) {$hh='users'; echo "ΑΝΑΖΗΤΗΣΗ ΤΗΛΕΦΩΝΩΝ";} if ($ADD==660) {$hh='users'; echo "Αποτελέσματα Αναζήτησης";} @@ -3669,7 +3897,35 @@ if ($ADD==999995) {$hh='reports'; echo "ΠΝΕΥΜΑΤΙΚΑ ΔΙΚΑΙΩΜΑ if ($ADD==999994) {$hh='reports'; echo "ADMIN UTILITIES";} if ($ADD==999993) {$hh='reports'; echo "ΣΤΑΤΙΣΤΙΚΑ ΠΕΡΙΛΗΨΗ";} if ($ADD==999992) {$hh='reports'; echo "SYSTEM ΣΤΑΤΙΣΤΙΚΑ ΠΕΡΙΛΗΨΗ";} +if ($ADD==999991) {$hh='reports'; echo "SERVERS ΕΚΔΟΣΗS";} +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + if ($ADD==999993) {$report_name = "ΣΤΑΤΙΣΤΙΚΑ ΠΕΡΙΛΗΨΗ";} + if ($ADD==999992) {$report_name = "SYSTEM ΣΤΑΤΙΣΤΙΚΑ ΠΕΡΙΛΗΨΗ";} + if ($ADD==730000000000000) {$report_name = "ΛΕΠΤΟΜΕΡΕΙΑ ADMIN CHANGE LOG";} + if ($ADD==830000000000000) {$report_name = "DETAIL ADMIN LOG ΕΚΘΕΣΗ";} + + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $stage, $report_display_type|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + } if ( ($ADD>9) and ($ADD < 99998) ) { @@ -3869,7 +4125,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD ##### BEGIN get inbound groups listing for checkboxes ##### $xfer_groupsSQL=''; - if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and (eregi('list_activation', $stage))) ) + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (eregi('list_activation', $stage)) or (ereg('test_call',$stage)) ) ) ) { $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); @@ -4321,6 +4577,11 @@ if ($ADD==99999)
    Χειροκίνητη Κλήση Χρήστη - Αυτή η επιλογή επιτρέπει στον χειριστή να καταχωρήσει χειροκίνητα ένα νέο οδηγό στο σύστημα και να τον καλέσε. +
    + +
    + Agent Call Email - This option is disabled. +

    @@ -4346,7 +4607,8 @@ if ($ADD==99999)

    - VICIDIAL συμπληρωματική προμήθεια καταγραφής - αυτή η επιλογήθα αγνοήσει οποιο δήποτε η επιλογή είναι στην εκστρατεία για τηνκαταγραφή. Τα ΑΤΟΜΑ ΜΕ ΕΙΔΙΚΈΣ ΑΝΑΓΚΕΣ δεν θα αγνοήσουν τηρύθμιση καταγραφής εκστρατείας. Δεν θα θέσει εκτός λειτουργίαςΠΟΤΕ την καταγραφή στον πελάτη. ONDEMAND είναι η προεπιλογήκαι επιτρέπει στον πράκτορα για να αρχίσει και να σταματήσει όπωςαπαιτείται. ALLCALLS θα αρχίσει την καταγραφή στον πελάτηόποτε μια κλήση στέλνεται σε έναν πράκτορα. ALLFORCE θααρχίσει την καταγραφή στον πελάτη όποτε μια κλήση στέλνεται σεέναν πράκτορα που δεν δίνει στον πράκτορα καμία επιλογή νασταματήσει. Για ALLCALLS και ALLFORCE υπάρχει μια επιλογή ναχρησιμοποιηθεί η καθυστέρηση καταγραφής για να περικόψει στιςπολύ σύντομα καταγραφές και recude το φορτίο συστημάτων. + VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Καθυστέρηση Ηχογράφησης + to cut down on very short recordings and reduce system load.
    @@ -4361,7 +4623,7 @@ if ($ADD==99999)

    - Πράκτορας Παράκαμψη Αναζήτηση μόλυβδο - Αυτή η ρύθμιση θα αντικαταστήσει ό, τι η καμπάνια έχει οριστεί για αναζήτηση μολύβδου γραφείο. NOT_ACTIVE θα χρησιμοποιήσει τη ρύθμιση της καμπάνιας. Έδωσε τη δυνατότητα θα επιτρέπει την αναζήτηση και μολύβδου ΑΝΑΠΗΡΙΑ δεν θα επιτρέψει σε μόλυβδο αναζήτηση. Η προεπιλογή είναι NOT_ACTIVE. + Πράκτορας Παράκαμψη Αναζήτηση μόλυβδο - Αυτή η ρύθμιση θα αντικαταστήσει ό, τι η καμπάνια έχει οριστεί για αναζήτηση μολύβδου γραφείο. NOT_ACTIVE θα χρησιμοποιήσει τη ρύθμιση της καμπάνιας. Έδωσε τη δυνατότητα θα επιτρέπει την αναζήτηση και μολύβδου ΑΝΑΠΗΡΙΑ δεν θα επιτρέψει σε μόλυβδο αναζήτηση. Η προεπιλογή είναι NOT_ACTIVE. LIVE_CALL_INBOUND θα επιτρέψει την αναζήτηση για μια στιγμή να οδηγήσει σε μια εισερχόμενη κλήση μόνο. LIVE_CALL_INBOUND_AND_MANUAL θα επιτρέψει την αναζήτηση για μια στιγμή να οδηγήσει σε μια εισερχόμενη κλήση ή όταν είναι σταματημένο. Όταν Lead Αναζήτηση χρησιμοποιείται σε ένα live εισερχόμενη κλήση, το προβάδισμα της κλήσης, όταν πήγε στο πρακτορείο θα πρέπει να αλλάξει σε καθεστώς LSMERG, και τα αρχεία καταγραφής για την κλήση θα πρέπει να τροποποιηθεί ώστε να συνδεθεί με το μέσο που επιλέγεται μολύβδου αντί.
    @@ -4484,6 +4746,18 @@ if ($ADD==99999)
    Τροποποιήστε τους οδηγούς - αυτή η επιλογή εάν τη θέσετε σε 1, επιτρέπει στο χρήστη να τροποποιήσει τους οδηγούς στη σελίδα αποτελεσμάτων αναζήτησης οδηγών. + 0) + { + ?> +
    +
    +
    + Τροποποίηση Email Λογαριασμοί - Αυτή η επιλογή, αν έχει ρυθμιστεί στο 1 επιτρέπει στο χρήστη να τροποποιήσει τους λογαριασμούς ηλεκτρονικού ταχυδρομείου στο e-mail τη σελίδα διαχείρισης λογαριασμού. + +

    @@ -4660,7 +4934,7 @@ if ($ADD==99999)

    - Ημερομηνία τελευταίας Καμπάνια Call - Αυτή είναι η τελευταία φορά που μια κλήση αυτή γίνεται από έναν πράκτορα συνδεθεί σε αυτή την καμπάνια. + Ημερομηνία τελευταίας Καμπάνια τηλεφωνώ - Αυτή είναι η τελευταία φορά που μια κλήση αυτή γίνεται από έναν πράκτορα συνδεθεί σε αυτή την καμπάνια.
    @@ -4707,6 +4981,17 @@ if ($ADD==99999)
    Επιτρέπει τους Closers - Εδώ ορίζετε εάν οι χρήστες της εκστρατείας θα έχουν την επιλογή να στείλουν την κλήση σε έναν closer. + 0) + { + ?> +
    +
    +
    + Αφήστε Emails - Αυτό είναι όπου μπορείτε να ορίσετε αν οι χρήστες αυτής της εκστρατείας θα είναι σε θέση να λάβει τα εισερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου εκτός από τις τηλεφωνικές κλήσεις. +

    @@ -4932,12 +5217,22 @@ if ($ADD==99999)

    - AMD στέλνει στο VM - αυτές οι επιλογές επιτρέπουν να καθορίσετε εάν ένα μήνυμα αφήνεται σε έναν αυτόματο τηλεφωνητή όταν ανιχνεύεται ότι η κλήση είναι ένας αυτόματος τηλεφωνητής και εάν το AMD είναι ενεργό. + AMD αποστολή σε Δράση - Αυτή η επιλογή σας επιτρέπει να ορίσετε αν μια κλήση στέλνεται στο Action AMD, όταν ένας αυτόματος τηλεφωνητής έχει εντοπιστεί. Εάν αυτό έχει οριστεί σε N, τότε η κλήση θα κρεμαστεί το συντομότερο είναι αποφασισμένη να είναι ένας αυτόματος τηλεφωνητής. Η προεπιλογή είναι N.

    - CPD AMD Δράση - Αν χρησιμοποιείτε τον Sangoma ParaXip Πρόσκληση πρόοδος Ανίχνευση λογισμικό και στη συνέχεια θα θέλετε να ενεργοποιήσετε αυτή τη ρύθμιση, είτε να DISPO που θα διαθέσεις την πρόσκληση ως AA και να κολλήσει το πάνω αν η πρόσκληση είναι υπό επεξεργασία και δεν έχει σταλεί σε έναν πράκτορα ή ακόμη μήνυμα που θα αποστείλει την πρόσκληση προς το τηλεφωνητή Μήνυμα ορίζεται για αυτή την καμπάνια. Προεπιλεγμένο είναι DISABLED. + CPD AMD Δράση - Αν χρησιμοποιείτε τον Sangoma ParaXip Πρόσκληση πρόοδος Ανίχνευση λογισμικό και στη συνέχεια θα θέλετε να ενεργοποιήσετε αυτή τη ρύθμιση, είτε να DISPO που θα διαθέσεις την πρόσκληση ως AA και να κολλήσει το πάνω αν η πρόσκληση είναι υπό επεξεργασία και δεν έχει σταλεί σε έναν πράκτορα ή ακόμη μήνυμα που θα αποστείλει την πρόσκληση προς το τηλεφωνητή Μήνυμα ορίζεται για αυτή την καμπάνια. Προεπιλεγμένο είναι DISABLED. Ρύθμιση αυτό ingroup θα στείλει έναν αυτόματο τηλεφωνητή σε μια εισερχόμενη ομάδα. Ρύθμιση αυτό CALLMENU θα στείλει έναν αυτόματο τηλεφωνητή σε ένα Μενού Κλήσεων στο σύστημα. + +
    +
    +
    + AMD  εισερχόμενοςΟμάδα - Αν CPD AMD δράση έχει οριστεί σε ingroup, τότε αυτό είναι το  εισερχόμενοςΟμάδα ότι η κλήση θα σταλεί στο αν ένας αυτόματος τηλεφωνητής ανιχνεύεται. + +
    +
    +
    + AMD Μενού Κλήσεων - Αν CPD AMD δράση έχει οριστεί σε CALLMENU, τότε αυτό είναι το Μενού Κλήσεων ότι η κλήση θα σταλεί στο αν ένας αυτόματος τηλεφωνητής ανιχνεύεται.
    @@ -4964,6 +5259,11 @@ if ($ADD==99999)
    Ασφαλής ήχου Harbor - Αυτή είναι η προτροπή ήχου αρχείο που παίζεται εάν η πτώση δράσης αναμένεται να AUDIO. Η προεπιλογή είναι buzz. +
    +
    +
    + Safe Harbor Πεδίο ήχου - Αυτή η προαιρετική ρύθμιση αυτή σας επιτρέπει να ορίσετε ένα πεδίο στη λίστα ότι το σύστημα θα χρησιμοποιεί ως όνομα αρχείου ήχου για κάθε απαγωγή στη θέση του αρχείου ήχου Safe Harbor. Εάν αυτό έχει οριστεί σε απενεργοποιήσει την ασφαλή αρχείο ήχου Harbor θα πρέπει να χρησιμοποιείται πάντα. Το σύστημα θα κάνει καμία επικύρωση για να βεβαιωθείτε ότι το αρχείο ήχου υπάρχει εκτός από το να βεβαιωθείτε ότι η τιμή του πεδίου είναι τουλάχιστον ένα χαρακτήρα, οπότε αν θέλετε ένα προβάδισμα για να χρησιμοποιήσετε την προεπιλεγμένη Safe ήχου λιμάνι, τότε μόλις την τιμή του πεδίου το προβάδισμα για να αδειάσει. Μπορείτε να χρησιμοποιήσετε το χαρακτήρα σωλήνα για να συνδέσετε πολλαπλά αρχεία ήχου μαζί με την τιμή του πεδίου για κάθε απαγωγή. Προεπιλογή είναι απενεργοποιημένη. Εδώ είναι η λίστα των πεδίων που μπορούν να χρησιμοποιηθούν για αυτή τη ρύθμιση: vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, alt_phone, email, security_phrase, comments, rank, owner, entry_list_id +

    @@ -4992,7 +5292,12 @@ if ($ADD==99999)

    - Ιδιοκτήτης Μόνο Κλήση - Αν αυτή είναι ενεργοποιημένη, ο αντιπρόσωπος θα λάβουν μόνο οδηγεί ότι είναι εντός των παραμέτρων για την ιδιοκτησία. Εάν αυτό έχει οριστεί στην ΧΡΗΣΤΗ τότε ο πράκτορας πρέπει να καθορίζει ο χρήστης στη βάση δεδομένων, όπως ο ιδιοκτήτης αυτού του μολύβδου. Αν τεθεί στο έδαφος τότε ο ιδιοκτήτης του μολύβδου πρέπει να ταιριάζει με το έδαφος που περιλαμβάνεται στην οθόνη του χρήστη Τροποποίηση για αυτό παράγοντα. Εάν αυτό έχει οριστεί στην USER_GROUP τότε ο ιδιοκτήτης του μολύβδου πρέπει να ταιριάζει με την ομάδα χρηστών ότι ο αντιπρόσωπος είναι μέλος της. Για αυτήν τη δυνατότητα να εργαστεί με τη μέθοδο τηλεφωνικής σύνδεσης πρέπει να οριστεί σε Manual ή INBOUND_MAN και αριθ Χόπερ κλήσης πρέπει να είναι ενεργοποιημένα. Προεπιλογή είναι ΚΑΝΕΝΑ για άτομα με ειδικές ανάγκες. + Ιδιοκτήτης Μόνο Κλήση - Αν αυτή είναι ενεργοποιημένη, ο αντιπρόσωπος θα λάβουν μόνο οδηγεί ότι είναι εντός των παραμέτρων για την ιδιοκτησία. Εάν αυτό έχει οριστεί στην ΧΡΗΣΤΗ τότε ο πράκτορας πρέπει να καθορίζει ο χρήστης στη βάση δεδομένων, όπως ο ιδιοκτήτης αυτού του μολύβδου. Αν τεθεί στο έδαφος τότε ο ιδιοκτήτης του μολύβδου πρέπει να ταιριάζει με το έδαφος που περιλαμβάνεται στην οθόνη του χρήστη Τροποποίηση για αυτό παράγοντα. Εάν αυτό έχει οριστεί στην USER_GROUP τότε ο ιδιοκτήτης του μολύβδου πρέπει να ταιριάζει με την ομάδα χρηστών ότι ο αντιπρόσωπος είναι μέλος της. Για αυτήν τη δυνατότητα να εργαστεί με τη μέθοδο τηλεφωνικής σύνδεσης πρέπει να οριστεί σε Manual ή INBOUND_MAN και αριθ Χόπερ κλήσης πρέπει να είναι ενεργοποιημένα. Προεπιλογή είναι ΚΑΝΕΝΑ για άτομα με ειδικές ανάγκες. Εάν η επιλογή έχει κενό στο άκρο, τότε οι χρήστες έχουν τη δυνατότητα να καλέσετε οδηγεί με καθορισμένους χωρίς ιδιοκτήτη ορίζεται επιπλέον στον ιδιοκτήτη οδηγεί. + +
    +
    +
    + Ιδιοκτήτης Συμπλήρωση - Αν αυτό είναι ενεργοποιημένο και το πεδίο ιδιοκτήτης του μολύβδου είναι κενό, το πεδίο ιδιοκτήτη για το μόλυβδο θα συμπληρώσετε με το αναγνωριστικό χρήστη του πράκτορα που χειρίζεται την κλήση πρώτα. Προεπιλογή είναι απενεργοποιημένη. 0) @@ -5046,6 +5351,11 @@ if ($ADD==99999)
    Έρευνα DTMF Digits - Αυτό το πεδίο όπου θα καθοριστούν οι θέσεις ότι ο πελάτης μπορεί να πατήσει ως επιλογή για μια έρευνα της καμπάνιας. ψηφία DTMF είναι έγκυρο0123456789*#. Όλες οι επιλογές εκτός από το δεν ενδιαφέρεται, τρίτο και τέταρτο ψηφίο επιλογές θα προχωρήσουμε στο δρόμο Έρευνα Μέθοδος κλήση. +
    +
    +
    + Έρευνα Περιμένετε Δευτερόλεπτα - Αυτός είναι ο αριθμός των δευτερολέπτων όταν βρίσκονται σε λειτουργία Έρευνα θα περιμένει το σύστημα για την είσοδο από το πρόσωπο που καλείται μέχρι την έρευνα ή ενέργεια πτώση ενεργοποιείται. Δεν εφαρμόζεται αν η μέθοδος έρευνας είναι ανωμαλίας. Η προεπιλογή είναι 10 δευτερόλεπτα. +

    @@ -5074,7 +5384,7 @@ if ($ADD==99999)

    - Έρευνα της μη αντίδρασης Δράση - Αυτό είναι που σας καθορίζουν τι θα συμβεί αν δεν υπάρχει απάντηση στο ερώτημα της έρευνας. OptIn θα στείλει την πρόσκληση για την Έρευνα για την μέθοδο και αν ο πελάτης θα πατήσει το ψηφίο DTMF. OptOut θα στείλει ο πελάτης για να μέθοδος έρευνας, ακόμα και εάν δεν πιέσετε ένα ψηφίο DTMF. + Έρευνα της μη αντίδρασης Δράση - Αυτό είναι που σας καθορίζουν τι θα συμβεί αν δεν υπάρχει απάντηση στο ερώτημα της έρευνας. OptIn θα στείλει την πρόσκληση για την Έρευνα για την μέθοδο και αν ο πελάτης θα πατήσει το ψηφίο DTMF. OptOut θα στείλει ο πελάτης για να μέθοδος έρευνας, ακόμα και εάν δεν πιέσετε ένα ψηφίο DTMF. DROP θα μειωθεί η κλήση χρησιμοποιώντας τη μέθοδο της πτώσης της εκστρατείας, αλλά εξακολουθεί να καταγράψει την κλήση ως PM έπαιξε κατάσταση του μηνύματος.
    @@ -5186,12 +5496,13 @@ if ($ADD==99999)

    - Ηχογράφηση Εκστρατείας - Αυτές οι επιλογές σας επιτρέπουν να διαλέξετε πιο επίπεδο ηχογράφησης επιτρέπετε στην εκστρατεία. NEVER θα απενεργοποιήσει την ηχογράφηση στον πελάτη. ONDEMAND είναι το προκαθορισμένο και επιτρέπει στον χειριστή να ξεκινάει και να σταματάει την ηχογράφηση. ALLCALLS ξεκινάει η ηχογράφηση όποτε η κλήση μεταφέρετε στον χειριστή. + Ηχογράφηση εκστρατείας - αυτή η επιλογή επιτρέπει να επιλέξετε το επίπεδο ηχογράφησης σε αυτήν την εκστρατεία. NEVER θα θέσει εκτός λειτουργίας την ηχογράφηση στον πελάτη. ONDEMAND είναι η προεπιλογή και επιτρέπει στον χειριστή να αρχίσει και να σταματήσει όπως απαιτείται. ALLCALLS θα αρχίσει την καταγραφή στον πελάτη όποτε μια κλήση στέλνεται σε έναν χειριστή. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Καθυστέρηση Ηχογράφησης + to cut down on very short recordings and reduce system load.

    - Όνομα αρχείου εκστρατείας Ηχογρ - Αυτό το πεδίο σας επιτρέπει να προσαρμόσετε το όνομα της εγγραφής κατά την ηχογράφηση της εκστρατείας είναι OnDemand ή ALLCALLS. Οι επιτρεπόμενες μεταβλητές CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH ΧΕΙΡΙΣΤΗΣVENDORLEADCODE LEADID. Η προεπιλογή είναι FULLDATE_ΧΕΙΡΙΣΤΗΣκαι θα μοιάζουν με αυτό το 20051020-103108_6666. Ένα άλλο παράδειγμα είναι CAMPAIGN_TINYDATE_CUSTPHONE που θα μοιάζει με αυτό TESTCAMP_51020103108_3125551212. 50 char max. + Όνομα αρχείου εκστρατείας Ηχογρ - Αυτό το πεδίο σας επιτρέπει να προσαρμόσετε το όνομα της εγγραφής κατά την ηχογράφηση της εκστρατείας είναι OnDemand ή ALLCALLS. Οι επιτρεπόμενες μεταβλητές CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH ΧΕΙΡΙΣΤΗΣVENDORLEADCODE LEADID. Η προεπιλογή είναι FULLDATE_ΧΕΙΡΙΣΤΗΣκαι θα μοιάζει με αυτό 20051020-103108_6666. Ένα άλλο παράδειγμα είναι CAMPAIGN_TINYDATE_CUSTPHONE που θα μοιάζει με αυτό TESTCAMP_51020103108_3125551212. Te όνομα αρχείου που προκύπτει πρέπει να είναι μικρότερο από 90 χαρακτήρες σε μήκος.
    @@ -5206,7 +5517,7 @@ if ($ADD==99999)

    - Πράκτορας Αναζήτηση μόλυβδο - Η ρύθμιση αυτής της επιλογής να ΕΝΕΡΓΟΠΟΙΗΜΈΝΗ θα επιτρέψει στα πρακτορεία για να αναζητήσετε και να δείτε οδηγεί μολύβδου πληροφορίες, ενώ σταμάτησε στο περιβάλλον παράγοντα. Επίσης, αν η ομάδα του πράκτορα χρήστη τη δυνατότητα να προβάλλω τα αρχεία καταγραφής κλήσεων τότε ο πράκτορας θα είναι σε θέση να δείτε το παρελθόν σημειώσεις κλήσεων για να καταλήξει ότι οι πληροφορίες σχετικά με την προβολή. Προεπιλογή είναι απενεργοποιημένη. + Πράκτορας Αναζήτηση μόλυβδο - Η ρύθμιση αυτής της επιλογής να ΕΝΕΡΓΟΠΟΙΗΜΈΝΗ θα επιτρέψει στα πρακτορεία για να αναζητήσετε και να δείτε οδηγεί μολύβδου πληροφορίες, ενώ σταμάτησε στο περιβάλλον παράγοντα. Επίσης, αν η ομάδα του πράκτορα χρήστη τη δυνατότητα να προβάλλω τα αρχεία καταγραφής κλήσεων τότε ο πράκτορας θα είναι σε θέση να δείτε το παρελθόν σημειώσεις κλήσεων για να καταλήξει ότι οι πληροφορίες σχετικά με την προβολή. Προεπιλογή είναι απενεργοποιημένη. LIVE_CALL_INBOUND θα επιτρέψει την αναζήτηση για μια στιγμή να οδηγήσει σε μια εισερχόμενη κλήση μόνο. LIVE_CALL_INBOUND_AND_MANUAL θα επιτρέψει την αναζήτηση για μια στιγμή να οδηγήσει σε μια εισερχόμενη κλήση ή όταν είναι σταματημένο. Όταν Lead Αναζήτηση χρησιμοποιείται σε ένα live εισερχόμενη κλήση, το προβάδισμα της κλήσης, όταν πήγε στο πρακτορείο θα πρέπει να αλλάξει σε καθεστώς LSMERG, και τα αρχεία καταγραφής για την κλήση θα πρέπει να τροποποιηθεί ώστε να συνδεθεί με το μέσο που επιλέγεται μολύβδου αντί.
    @@ -5301,7 +5612,7 @@ if ($ADD==99999)

    - Σχέδισσα αρίθμηση επανακλήσεων - Αυτή η επιλογή επιτρέπει σε σας για να θέσει εάν μόνο ΖΩΝΤΑΝΕΣ επανακλήσεις, χρήστης-μόνο οι σχεδιασμένες επανακλήσεις που έχουν χτυπήσει την ημερομηνία και το χρόνο ώθησής τους, ή επανακλήσεις ALL_ACTIVE, χρήστης-μόνο επανακλήσεις που είναι ενεργές στο σύστημα καθώς επίσης και τις ΖΩΝΤΑΝΈΣ επανακλήσεις, πρέπει be3 μέτρησαν το INT αυτός άγρυπνο τμήμα επανάκλησης πρακτόρων οθόνης πρακτόρων. Η προεπιλογή είναι ALL_ACTIVE. + Σχέδισσα αρίθμηση επανακλήσεων - Αυτές οι επιλογές σάς επιτρέπει να περιορίσετε τα ορατά συναρτήσεις επιστροφής στην επανάκλησης ενότητα συναγερμού παράγοντα στην οθόνη παράγοντα, για να ζήσει μόνο callbacks. ΖΩΝΤΑΝΑ callbacks τον χρήστη προγραμματιστεί μόνο callbacks που έπληξαν την ημερομηνία ενεργοποίησης και το χρόνο τους. ACTIVE πλάτες κλήση από τον χρήστη μόνο callbacks που δραστηριοποιούνται στο σύστημα, αλλά δεν έχουν ακόμη ενεργοποιηθεί. Μπορείτε να δείτε τόσο την ενεργητική όσο και να ζήσουν callbacks επιλέγοντας ALL_ACTIVE. Η προεπιλογή είναι ALL_ACTIVE.
    @@ -5363,6 +5674,11 @@ if ($ADD==99999)
    Χρησιμοποίησε Καμπάνια DNC List - Αυτό καθορίζει αν αυτό είναι η εκστρατεία εναντίον ενός φίλτρου οδηγεί DNC λίστα που είναι ειδικά για τη συγκεκριμένη καμπάνια μόνο. Αν είναι να Y, η χοάνη θα εξετάσει, για κάθε αριθμό τηλεφώνου στον αγώνα-ειδικά DNC λίστα πριν από την τοποθέτησή του στην χοάνη. Αν είναι στην εκστρατεία ειδικά DNC λίστα τότε θα αλλάξει το καθεστώς που οδηγούν σε DNCC έτσι δεν μπορεί να εξερχόμενων. Προεπιλεγμένο είναι Ν. Η επιλογή areacode είναι ακριβώς όπως η επιλογή Υ, εκτός από αυτό χρησιμοποιείται επίσης για να φιλτράρετε μια ολόκληρη κωδικό της περιοχής της Βόρειας Αμερικής από το να είναι εξερχόμενες, στην προκειμένη περίπτωση με την είσοδο 201XXXXXXX στη λίστα DNC θα μπλοκάρει όλες τις κλήσεις προς το 201 areacode αν έχει ενεργοποιηθεί. +
    +
    +
    + Άλλα DNC Καμπάνιας - Εάν η επιλογή Χρήση Εκστρατεία Λίστα DNC είναι ενεργοποιημένη, αυτή η επιλογή μπορεί να σας επιτρέψει να χρησιμοποιήσετε ένα διαφορετικό κατάλογο DNC εκστρατεία, απλά βάλτε το Αναγνωριστικό καμπάνιας της Άλλης Καμπάνιας σε αυτόν τον τομέα. Εάν χρησιμοποιήσετε αυτήν την επιλογή, ο αρχικός κατάλογος DNC εκστρατεία δεν θα είναι πλέον να ελεγχθεί, μόνο η άλλη λίστα DNC εκστρατεία θα χρησιμοποιηθεί. Αυτό δεν επηρεάζει την χρήση της εσωτερικής λίστας DNC συστήματος. Προεπιλογή είναι άδειο. +

    @@ -5443,6 +5759,16 @@ if ($ADD==99999)
    Τηλέφωνο Ώρα δημοσίευσης προειδοποίησης Διαφορά - Αυτό το εγχειρίδιο κλήσης μόνο χαρακτηριστικό, εάν ενεργοποιηθεί, θα εμφανιστεί μια ειδοποίηση αν η ζώνη ώρας για το μόλυβδο ταχυδρομικό κώδικα, ή ο ταχυδρομικός κώδικας, είναι διαφορετική από την ζώνη ώρας του κώδικα περιοχής του αριθμού τηλεφώνου για το μόλυβδο. Η επιλογή OUTSIDE_CALLTIME_ONLY θα δείξει μόνο το σήμα, εάν οι δύο ζώνες ώρας είναι διαφορετικές και μία από τις ζώνες ώρας είναι εκτός του χρόνου εφημερίας που έχουν επιλεγεί για την καμπάνια. OUTSIDE_CALLTIME_PHONE θα ελέγχει μόνο τη ζώνη ώρας του αριθμού τηλεφώνου του μολύβδου και ειδοποιεί αν είναι έξω από την τοπική ώρα κλήσης. OUTSIDE_CALLTIME_POSTAL θα ελέγχει μόνο τη ζώνη ώρας του ταχυδρομικού κώδικα του μολύβδου και ειδοποιεί αν είναι έξω από την τοπική ώρα κλήσης. OUTSIDE_CALLTIME_BOTH θα ελέγξει τον ταχυδρομικό κώδικα και τον αριθμό τηλεφώνου για να είναι μέσα στην τοπική ώρα κλήσης, ακόμη και αν βρίσκονται στην ίδια ζώνη ώρας. Οι ειδοποιήσεις αυτές θα εμφανιστούν στο αρχείο κλήσεων πληροφορίες, callbacks λίστες, αναζητήστε πληροφορίες για τα αποτελέσματα, όταν ένας κύριος καλείται και όταν είναι επικεφαλής προεπισκόπηση. Προεπιλογή είναι απενεργοποιημένη. +
    +
    +
    + Σε-Group Dial Εγχειρίδιο - Αυτό το χαρακτηριστικό σας επιτρέπει να ενεργοποιήσετε τη δυνατότητα για τους πράκτορες για να τοποθετήσετε το εγχειρίδιο dial εξερχόμενες κλήσεις που έχουν καταγραφεί, όπως στην ομάδα καλεί έναν ειδικό στην ομάδα. Η MANUAL_DIAL επιλογή επιτρέπει τη διάθεση του τηλεφώνου φωνάζει μέσα από μια εσωτερική ομάδα στον πράκτορα διάθεση την κλήση. Η NO_DIAL η επιλογή επιτρέπει στον πράκτορα να συνδεθούν χρόνο σε μια κλήση που δεν υπάρχει, σαν να ήταν μια πραγματική κλήση, αυτό είναι συχνά χρησιμοποιείται για τη σύνδεση ηλεκτρονικού ταχυδρομείου ή φαξ χρόνο. Η ΔΥΟ επιλογή θα επιτρέψει τόσο κλήση και όχι κλήση στην ομάδα κλήσης. Η προεπιλογή είναι απενεργοποιημένη. + +
    +
    +
    + Σε-Group Manual Dial Επιλογή - Αυτή η επιλογή είναι ενεργή μόνο αν η παραπάνω Σε ομαδική Manual Dial χαρακτηριστικό δεν είναι απενεργοποιημένη. Η επιλογή αυτή περιορίζει τη δυνατότητα επιλογής $$$-ΟΜΑΔΕΣ ότι ο πράκτορας μπορεί να τοποθετήσει Σε ομαδική Manual Dial για κλήσεις μέσω. CAMPAIGN_SELECTED θα δείξει μόνο τις σε ομάδες ότι η εκστρατεία έχει θέσει ως επιτρεπόμενο σε ομάδες. ALL_USER_GROUP θα δείξει όλες τις in-ομάδες που είναι ορατά στα μέλη της ομάδας χρηστών ότι ο παράγων ανήκει. +

    @@ -5623,13 +5949,18 @@ if ($ADD==99999)

    - Agent Call Re-Queue Button - Αυτή η επιλογή αν ρυθμιστεί σε Ναι, θα προσθέσετε ένα Re-Queue κουμπί πελατών στην οθόνη του πράκτορα, που επιτρέπει το πρακτορείο για να στείλετε την πρόσκληση σε ένα AGENTDIRECT ουρά που προορίζεται για το μόνο παράγοντα. Προεπιλογή είναι N. + πράκτορα ουρά κλήση και πάλι το κουμπί - Αυτή η επιλογή αν ρυθμιστεί σε Ναι, θα προσθέσετε ένα Re-Queue κουμπί πελατών στην οθόνη του πράκτορα, που επιτρέπει το πρακτορείο για να στείλετε την πρόσκληση σε ένα AGENTDIRECT ουρά που προορίζεται για το μόνο παράγοντα. Προεπιλογή είναι N.

    Agent Παύση Μετά από κάθε πρόσκληση - Αυτή η επιλογή αν ρυθμιστεί σε Ναι, θα διακόψετε το πρακτορείο μετά από κάθε κλήση αυτόματα. Προεπιλογή είναι N. +
    +
    +
    + Παύση Agent Μετά επόμενο σύνδεσμο Call - Αυτή η επιλογή, αν ενεργοποιηθεί, θα εμφανίσει ένα σύνδεσμο στην οθόνη παράγοντα που θα αφήσει ο πράκτορας πάει σε παύση αυτόματα μετά θα το κλείσεις επόμενη κλήση τους. Προεπιλογή είναι απενεργοποιημένη. +

    @@ -5696,6 +6027,16 @@ if ($ADD==99999)
    Reset Times - Αυτό το πεδίο σας επιτρέπει να τεθεί σε χρόνους, που χωρίζονται από μία παύλα-, ότι ο κατάλογος αυτός θα πρέπει να επαναφέρεται αυτόματα από το σύστημα. Οι χρόνοι πρέπει να είναι σε 24 ωρη μορφή που δεν στίξης, για παράδειγμα, 0800-1700 θα επαναφέρετε τη λίστα σε 8am και 5 μ.μ. κάθε μέρα. Προεπιλογή είναι άδειο. +
    +
    +
    + Ημερομηνία λήξης - Αυτή η επιλογή σας επιτρέπει να ρυθμίσετε την ημερομηνία μετά την οποία οδηγεί σε αυτή τη λίστα δεν θα επιτρέπεται να είναι αυτόματη ή χειροκίνητη κλήση-list-καλείται από το σύστημα. Η προεπιλογή είναι 12/31/2099. + +
    +
    +
    + Σχόλια Ελέγχου - Η επιλογή αυτή επιτρέπει σχόλια να μετακινηθεί σε έναν πίνακα ελέγχου. Δεν είναι πλέον επεξεργάσιμη, αλλά προβληθούν μαζί με την ημερομηνία-ώρα-δημιουργός του κάθε σχόλιο. Η προεπιλογή είναι N. Αυτό είναι ένα μέρος της Ποιοτικού Ελέγχου Add-On. +

    @@ -5893,7 +6234,7 @@ if ($ADD==99999)

    - Μεταφορά δράσης CID - Χρησιμοποιείται για την πτώση, μετά από ώρες και No-παράγοντας-δεν-ουρά ενέργειες. Αυτός είναι ο αριθμός ταυτότητας καλούντα ότι η κλήση χρησιμοποιεί προτού μεταφερθούν σε επεκτάσεις, μηνύματα, φωνητικό μενού ή κλήσης. Μπορείτε να χρησιμοποιήσετε ΠΕΛΑΤΗ σε αυτόν τον τομέα για να χρησιμοποιήσετε τον αριθμό τηλεφώνου του πελάτη, ή μια καμπάνια να χρησιμοποιεί το πρώτο επιτρέπεται καλούντος εκστρατεία αριθμό ταυτότητας. Προεπιλογή είναι ο πελάτης. + Μεταφορά δράσης CID - Χρησιμοποιείται για την πτώση, μετά από ώρες και No-παράγοντας-δεν-ουρά ενέργειες. Αυτός είναι ο αριθμός ταυτότητας καλούντα ότι η κλήση χρησιμοποιεί προτού μεταφερθούν σε επεκτάσεις, μηνύματα, φωνητικό μενού ή κλήσης. Μπορείτε να χρησιμοποιήσετε ΠΕΛΑΤΗ σε αυτόν τον τομέα για να χρησιμοποιήσετε τον αριθμό τηλεφώνου του πελάτη, ή μια καμπάνια να χρησιμοποιεί το πρώτο επιτρέπεται καλούντος εκστρατεία αριθμό ταυτότητας. Προεπιλογή είναι ο πελάτης. Εάν αυτό είναι μια κλήση που θα πάει σε ένα μενού κλήσεων και στη συνέχεια πίσω σε μια ομάδα, σας προτείνουμε να χρησιμοποιήσετε CUSTOMERCLOSER σε αυτόν τον τομέα, και επίσης θα πρέπει να ρυθμίσετε το In-Ομάδα μέθοδο αναζήτησης στο μενού Κλήση για στενότερη.
    @@ -6188,7 +6529,7 @@ if ($ADD==99999)

    - In-Group Recording Filename - This field will override the Ηχογράφηση εκστρατείας Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH ΧΕΙΡΙΣΤΗΣVENDORLEADCODE LEADID. Η προεπιλογή είναι FULLDATE_ΧΕΙΡΙΣΤΗΣκαι θα μοιάζουν με αυτό το 20051020-103108_6666. Ένα άλλο παράδειγμα είναι CAMPAIGN_TINYDATE_CUSTPHONE που θα μοιάζει με αυτό TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + In-Group Recording Filename - Το πεδίο αυτό θα αντικαταστήσει το μενού Εγγραφή Εκστρατεία Σχέδιο filenaming, εκτός αν δεν έχει καθοριστεί. Τα κατοικίδια μεταβλητές είναι CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH ΧΕΙΡΙΣΤΗΣVENDORLEADCODE LEADID. Η προεπιλογή είναι FULLDATE_ΧΕΙΡΙΣΤΗΣκαι θα μοιάζει με αυτό 20051020-103108_6666. Ένα άλλο παράδειγμα είναι CAMPAIGN_TINYDATE_CUSTPHONE που θα μοιάζει με αυτό TESTCAMP_51020103108_3125551212. Te όνομα αρχείου που προκύπτει πρέπει να είναι μικρότερο από 90 χαρακτήρες σε μήκος. Default is NONE. 0) @@ -6255,7 +6596,7 @@ if ($ADD==99999)

    - Καλέστε dispo URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank. + Καλέστε dispo URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time σε δευτερόλεπτα of the call. Default is blank.
    @@ -6272,6 +6613,11 @@ if ($ADD==99999)
    Προεπιλεγμένη ομάδα Γνωστός - Αν έχετε τη δυνατότητα Ομάδα Γνωστός για την εκστρατεία ότι ο αντιπρόσωπος είναι συνδεδεμένοι στο τότε αυτή είναι η ομάδα που έχει επιλεγεί άλλως πρώτα από προεπιλογή για μια κλήση που προέρχεται από αυτή την ομάδα, όταν ο εισερχόμενος πράκτορας επιλέγει να χρησιμοποιήσετε μια ομάδα Γνωστός για εξερχόμενες κλήσης εγχειρίδιο. Προεπιλεγμένο είναι ΚΑΝΕΝΑ ή κενό. +
    +
    +
    + Dial In-Ομάδα CID - Εάν η καμπάνια παράγοντα επιτρέπει τη χειροκίνητη Σε ομαδική κλήση, ο αριθμός ταυτότητας καλούντος θα αποσταλεί ως ο απερχόμενος CID της τηλεφωνικής κλήσης, εάν έχει συμπληρωθεί, παρακάμπτοντας τις ρυθμίσεις της καμπάνιας και η λίστα CID ρύθμιση παράκαμψης. Η προεπιλογή είναι άδειο. +

    @@ -6376,7 +6722,7 @@ if ($ADD==99999)

    - In-Group Call Χειριστείτε Μέθοδος - Αν IN_GROUP έχει επιλεγεί ως η DID διαδρομής, τότε αυτή είναι η επεξεργασία κλήσεων μέθοδος που χρησιμοποιείται για αυτές τις κλήσεις. CID θα προσθέσει ένα νέο ρεκόρ με αποτέλεσμα κάθε κλήση με το CallerID όπως ο αριθμός τηλεφώνου, CIDLOOKUP θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από το CallerID σε ολόκληρο το σύστημα, CIDLOOKUPRL θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από το CallerID σε μία μόνο που περιλαμβάνεται στον κατάλογο , CIDLOOKUPRC θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από το CallerID σε όλες τις λίστες που ανήκουν στη συγκεκριμένη εκστρατεία, ΠΙΟ ΚΟΝΤΑ έχει καθοριστεί για VICIDIAL Closer κλήσεις, ANI θα προσθέσει ένα νέο ρεκόρ με αποτέλεσμα κάθε κλήση με την ANI όπως ο αριθμός τηλεφώνου, ANILOOKUP θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από την ANI σε ολόκληρο το σύστημα, ANILOOKUPRL θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από την ANI σε μία μόνο που περιλαμβάνεται στον κατάλογο, θα XDIGITID προτροπή του καλούντος για ένα Χ οκταψήφιο κωδικό πριν από την κλήση θα τεθεί σε την ουρά, VIDPROMPT θα οδηγήσουν το καλούντος για τον αριθμό ταυτότητας τους και θα δημιουργήσει ένα νέο ρεκόρ με αποτέλεσμα η CallerID όπως τον αριθμό τηλεφώνου και το αναγνωριστικό ως Vendor ID, VIDPROMPTLOOKUP θα προσπαθήσει να την αναζήτηση ταυτότητας σε ολόκληρο το σύστημα, VIDPROMPTLOOKUPRL θα επιχειρήσει να αναζήτησης του προμηθευτή, το αναγνωριστικό της ταυτότητας σε ένα μόνο που περιλαμβάνεται στον κατάλογο, VIDPROMPTLOOKUPRC θα προσπαθήσουν να τον πωλητή αναζήτηση ταυτότητας από το αναγνωριστικό σε όλες τις λίστες που ανήκουν στη συγκεκριμένη καμπάνια. Προεπιλογή είναι CID. Εάν μια μέθοδος CIDLOOKUP χρησιμοποιείται με το πλήκτρο ALT, θα αναζητήσει το alt_phone πεδίο για τον αριθμό τηλεφώνου, εάν δεν βρεθεί αγώνες για τον κύριο αριθμό τηλεφώνου. Εάν μια μέθοδος CIDLOOKUP χρησιμοποιείται με ADDR3, θα αναζητήσει το address3 πεδίο για τον αριθμό τηλεφώνου, εάν δεν βρεθεί αγώνες για τον κύριο αριθμό τηλεφώνου και προαιρετικά το πεδίο alt_phone. + Σε-Group Μέθοδος λαβή Call - Αν IN_GROUP έχει επιλεγεί ως η DID διαδρομής, τότε αυτή είναι η επεξεργασία κλήσεων μέθοδος που χρησιμοποιείται για αυτές τις κλήσεις. CID θα προσθέσει ένα νέο ρεκόρ με αποτέλεσμα κάθε κλήση με το CallerID όπως ο αριθμός τηλεφώνου, CIDLOOKUP θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από το CallerID σε ολόκληρο το σύστημα, CIDLOOKUPRL θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από το CallerID σε μία μόνο που περιλαμβάνεται στον κατάλογο , CIDLOOKUPRC θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από το CallerID σε όλες τις λίστες που ανήκουν στη συγκεκριμένη εκστρατεία, ΠΙΟ ΚΟΝΤΑ έχει καθοριστεί για VICIDIAL Closer κλήσεις, ANI θα προσθέσει ένα νέο ρεκόρ με αποτέλεσμα κάθε κλήση με την ANI όπως ο αριθμός τηλεφώνου, ANILOOKUP θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από την ANI σε ολόκληρο το σύστημα, ANILOOKUPRL θα προσπαθήσει να συμβούλευση τον αριθμό τηλεφώνου από την ANI σε μία μόνο που περιλαμβάνεται στον κατάλογο, θα XDIGITID προτροπή του καλούντος για ένα Χ οκταψήφιο κωδικό πριν από την κλήση θα τεθεί σε την ουρά, VIDPROMPT θα οδηγήσουν το καλούντος για τον αριθμό ταυτότητας τους και θα δημιουργήσει ένα νέο ρεκόρ με αποτέλεσμα η CallerID όπως τον αριθμό τηλεφώνου και το αναγνωριστικό ως Vendor ID, VIDPROMPTLOOKUP θα προσπαθήσει να την αναζήτηση ταυτότητας σε ολόκληρο το σύστημα, VIDPROMPTLOOKUPRL θα επιχειρήσει να αναζήτησης του προμηθευτή, το αναγνωριστικό της ταυτότητας σε ένα μόνο που περιλαμβάνεται στον κατάλογο, VIDPROMPTLOOKUPRC θα προσπαθήσουν να τον πωλητή αναζήτηση ταυτότητας από το αναγνωριστικό σε όλες τις λίστες που ανήκουν στη συγκεκριμένη καμπάνια. Προεπιλογή είναι CID. Εάν μια μέθοδος CIDLOOKUP χρησιμοποιείται με το πλήκτρο ALT, θα αναζητήσει το alt_phone πεδίο για τον αριθμό τηλεφώνου, εάν δεν βρεθεί αγώνες για τον κύριο αριθμό τηλεφώνου. Εάν μια μέθοδος CIDLOOKUP χρησιμοποιείται με ADDR3, θα αναζητήσει το address3 πεδίο για τον αριθμό τηλεφώνου, εάν δεν βρεθεί αγώνες για τον κύριο αριθμό τηλεφώνου και προαιρετικά το πεδίο alt_phone.
    @@ -6454,7 +6800,7 @@ if ($ADD==99999)

    - Μενού Προτροπή - Αυτό το πεδίο περιέχει το όνομα αρχείου του ήχου εντολών για να παίξει στην αρχή αυτού του μενού. Μπορείτε να εισαγάγετε πολλές propmts σε αυτόν τον τομέα και το άλλο από την άμεση τομείς χωρίζοντάς τους με ένα χαρακτήρα σωλήνα. + Μενού Προτροπή - Αυτό το πεδίο περιέχει το όνομα αρχείου του ήχου εντολών για να παίξει στην αρχή αυτού του μενού. Μπορείτε να εισαγάγετε πολλές propmts σε αυτόν τον τομέα και το άλλο από την άμεση τομείς χωρίζοντάς τους με ένα χαρακτήρα σωλήνα. Μπορείτε να προσθέσετε NOINT ακριβώς μπροστά από ένα όνομα αρχείου ήχου να γίνει έτσι η αναπαραγωγή δεν μπορεί να διακοπεί με το πάτημα ενός πλήκτρου από τον καλούντα, ο NOINT δεν θα πρέπει να είναι ένα μέρος του ονόματος του αρχείου, είναι μια ειδική σημαία για το σύστημα. Μπορείτε επίσης να χρησιμοποιήσετε ειδικό σκοπό. AGI σενάρια στον τομέα αυτό, καθώς, όπως το σενάριο cm_date.agi, συζητήστε με το διαχειριστή σας για περισσότερες λεπτομέρειες.
    @@ -6546,6 +6892,12 @@ if ($ADD==99999)
    Είσοδος Dialplan συνήθειας - Αυτό το πεδίο σας επιτρέπει να εισέρχονται σε κάθε dialplan στοιχεία που θέλετε για την πρόσκληση Μενού. +
    +
    +
    + Προκριθείτε SQL - Το πεδίο αυτό σας επιτρέπει να εισάγετε SQL - Structured Query Language - θραύσματα της βάσης δεδομένων, όπως και με τα φίλτρα, να καθοριστεί αν αυτό το μενού κλήσης θα πρέπει να παίξει για τον καλούντα ή όχι. Αυτό το χαρακτηριστικό λειτουργεί μόνο αν η κλήση έχει το σύνολο callerIDname πριν αποσταλεί σε αυτό το μενού κλήσης, είτε ως εξερχόμενη μεταφορά έρευνα, ή με τη χρήση ενός μενού κλήσης πτώση για μια κλήση Σε-Group. Αν υπάρχει ένας αγώνας, η κλήση θα προχωρήσει κανονικά. Αν δεν υπάρχει αντιστοιχία, η κλήση θα πάει στο D επιλογή ή την επιλογή δεν είναι έγκυρη αν δεν επιλογή Δ έχει οριστεί. Δεν μπορείτε να χρησιμοποιήσετε σε εισαγωγικά σε αυτόν τον τομέα, μόνο διπλά εισαγωγικά, εφόσον είναι αναγκαία. Η προεπιλογή είναι άδειο για άτομα με ειδικές ανάγκες. + + @@ -6677,7 +7029,7 @@ if ($ADD==99999) VICIDIAL_CAMPAIGN_HOTKEYS ΠΙΝΑΚΑΣ


    - Με την χρήση προσαρμοσμένων κλειδιών εκστρατείας, οι χρήστες που χρησιμοποιούν την εφαρμογή vicidial μπορούν να κλείσουν και να τερματίσουν την κλήση, με ένα μόνο πάτημα πλήκτρου. Υπάρχουν two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. + Με την χρήση προσαρμοσμένων κλειδιών εκστρατείας, οι χρήστες που χρησιμοποιούν την εφαρμογή vicidial μπορούν να κλείσουν και να τερματίσουν την κλήση, με ένα μόνο πάτημα πλήκτρου. Υπάρχουν two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. Μπορείτε επίσης να χρησιμοποιήσετε LTMG ή XFTAMM και των καταστάσεων για να προκαλέσει την αυτόματη μεταφορά στην επιλογή Αφήστε-ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ. @@ -6876,10 +7228,10 @@ if ($ADD==99999)
    - Κείμενο χειρόγραφου - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + Κείμενο χειρόγραφου - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables:
    - <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> + <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> </iframe>

    @@ -6969,6 +7321,26 @@ if ($ADD==99999)
    Κατάσταση Χρόνου Κλήσης Κατάστασης - Αυτό είναι ο δύο γραμμάτων κωδικός για την κατάσταση όπου ο ορισμός χρόνου κλήης είναι για. Θα πρέπει και οι Οδηγοί της εκστρατείας να έχουν δύο γράμματα κωδικούς κατάστασης για τον χρόνο κλήσης κατάστασης. + +
    + Holiday ID - Αυτή είναι η σύντομη ονομασία ενός Ορισμός διακοπών. Αυτό πρέπει να είναι ένα μοναδικό αναγνωριστικό. Μην χρησιμοποιείτε κενά ή σημεία στίξης για αυτό το πεδίο. max 30 χαρακτήρες, τουλάχιστον 2 χαρακτήρες. + +
    +
    + Όνομα διακοπών - Αυτό είναι ένα πιο περιγραφικό όνομα του Ορισμός διακοπών. Αυτή είναι μια σύντομη περίληψη του ορισμού των διακοπών. max 100 χαρακτήρες, τουλάχιστον 2 χαρακτήρες. + +
    +
    + Σχόλια για διακοπές - Αυτό είναι όπου μπορείτε να αφήσετε τα σχόλιά έναν ορισμό για διακοπές, όπως-10π.μ. έως 4μ.μ. Boxing Day περιορισμούς-. max 255 χαρακτήρες. + +
    +
    + Ημερομηνία διακοπών - Αυτή είναι η ημερομηνία των διακοπών. + +
    +
    + Κατάσταση διακοπών - Αυτή είναι η κατάσταση από την έναρξη των διακοπών. ACTIVE κατάσταση σημαίνει ότι οι διακοπές θα ενεργοποιηθεί την ημερομηνία διακοπών. Ανενεργή κατάσταση σημαίνει ότι οι διακοπές θα πρέπει να αγνοηθεί, ακόμη και την ημέρα των διακοπών. EXPIRED σημαίνει ότι η αργία έχει περάσει η ημερομηνία των διακοπών του. Προεπιλογή είναι ανενεργό. + @@ -7111,6 +7483,10 @@ if ($ADD==99999) Διαγραφή ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ Μετά Email - Αυτή η προαιρετική ρύθμιση επιτρέπει να έχετε το τηλεφωνητή μηνύματα διαγράφονται από το σύστημα αφού έχουν ήδη αποσταλεί έξω. Προεπιλογή είναι N. +
    +
    + Χαιρετισμός ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ - Αυτή η προαιρετική ρύθμιση αυτή σας επιτρέπει να ορίσετε ένα φωνητικό μήνυμα χαιρετισμού αρχείου ήχου από το κατάστημα ήχου. Η προεπιλογή είναι κενή. +
    Ζώνη Τηλεφωνητής - Η ρύθμιση αυτή σας επιτρέπει να ορίσετε τη ζώνη ότι αυτό το πλαίσιο θα τηλεφωνητή που να όταν έρθει η ώρα καταγράφεται για ένα μήνυμα. Προεπιλογή έχει οριστεί στις ρυθμίσεις συστήματος. @@ -7154,6 +7530,8 @@ if ($ADD==99999)
  • Διεύθυνση Ηλεκτρ.Ταχυδρομείου
  • Φράση Ασφαλείας
  • Σχόλια +
  • Rank +
  • Owner
    ΣΗΜΕΙΩΣΕΙΣ: Η λειτουργία φορτωτών μολύβδου Excel επιτρέπεταιαπό μια σειρά χειρογράφων perl και πρέπει να έχει κατάλληλαδιαμορφωμένη/ένα αρχείο κ.λπ.../astguiclient.conf σε ισχύ στονκεντρικό υπολογιστή δικτύου. Επίσης, οι ενότητες ζευγών perlπρέπει να φορτωθούν για το για να εργαστούν επίσης - ολε-Storage_Lite και υπολογισμός με λογιστικό φύλλο(spreadsheet)- ParseExcel. Μπορείτε να ελέγξετε για τα λάθηχρόνου εκτέλεσης σε αυτοί με την εξέταση το αρχείο apache σαςerror_log. Επίσης, για τους ελέγχους διπλασιασμού ενάντια στουςκαταλόγους gampaign, ο κατάλογος που έχει τα νέα προβαδίσματαπου πηγαίνουν σε το πρέπει να δημιουργηθεί στο σύστημα προτού νααρχίσετε να φορτώνετε τους μολύβδους. @@ -7245,7 +7623,7 @@ if ($ADD==99999)

    - Σύνολο ως Webphone - Ο καθορισμός αυτής της επιλογής στο Υ θα προσπαθήσει να φορτώσει ένα βασισμένο στο WEB τηλέφωνο όταν τα κούτσουρα πρακτόρων στην οθόνη πρακτόρων τους. Η προεπιλογή είναι Ν. + Σύνολο ως Webphone - Ο καθορισμός αυτής της επιλογής στο Υ θα προσπαθήσει να φορτώσει ένα βασισμένο στο WEB τηλέφωνο όταν τα κούτσουρα πρακτόρων στην οθόνη πρακτόρων τους. Η προεπιλογή είναι Ν. Η επιλογή Y_API_LAUNCH μπορεί να χρησιμοποιηθεί με το API παράγοντα για την έναρξη του webphone σε ένα ξεχωριστό Iframe ή το παράθυρο.
    @@ -7296,6 +7674,10 @@ if ($ADD==99999) Διαγραφή ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ Μετά Email - Αυτή η προαιρετική ρύθμιση επιτρέπει να έχετε το τηλεφωνητή μηνύματα διαγράφονται από το σύστημα αφού έχουν ήδη αποσταλεί έξω. Προεπιλογή είναι N. +
    +
    + Χαιρετισμός ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ - Αυτή η προαιρετική ρύθμιση αυτή σας επιτρέπει να ορίσετε ένα φωνητικό μήνυμα χαιρετισμού αρχείου ήχου από το κατάστημα ήχου. Η προεπιλογή είναι κενή. +

    @@ -8125,6 +8507,11 @@ if ($ADD==99999)
    Ενεργή ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ Server - Σε πολλά συστήματα server, αυτό είναι ο διακομιστής που θα χειριστεί όλα τα τηλεφωνητή κουτιά. Αυτός ο διακομιστής είναι επίσης όταν η dial-in δημιουργείται ζητά θα φορτωθεί από το 8168 εγγραφές. +
    +
    +
    + Αφήστε ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ Ευχετήριες Chooser - Αν αυτή η ρύθμιση είναι ενεργοποιημένη, θα σας επιτρέψει να επιλέξετε ένα αρχείο ήχου από τον ήχο κατάστημα για να παίξει ως το χαιρετισμό φωνητικού ταχυδρομείου σε ένα συγκεκριμένο πλαίσιο τηλεφωνητή. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες. +

    @@ -8190,6 +8577,11 @@ if ($ADD==99999)
    Ενεργοποίηση Διευρυμένη Στατιστικά Λίστα - Αυτή η ρύθμιση δίνει τη δυνατότητα δύο επιπλέον στήλες που θα εμφανίζονται στις περισσότερες των πινάκων κατανομής Λίστα κατάσταση σχετικά με την τροποποίηση λίστα και σελίδες τροποποίηση εκστρατεία. Διείσδυση ορίζεται ως το ποσοστό των αγωγών οι οποίοι είναι επί ή υπεράνω του ορίου κλήσεων Count εκστρατεία και-ή η κατάσταση χαρακτηρίζεται ως Ολοκληρώθηκε. Η προεπιλογή είναι 1 για ενεργοποίηση. +
    +
    +
    + Ενισχυμένη Αποσύνδεση Logging - Αυτή η ρύθμιση επιτρέπει την καταγραφή των κλήσεων που παίρνουν ένα σήμα συμφόρησης κώδικα αιτία των 1, 19, 21, 34 ή 38. Εμείς συνήθως δεν συνιστούμε δίνοντας τους τη δυνατότητα στις ΗΠΑ. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες. +

    @@ -8206,6 +8598,26 @@ if ($ADD==99999)
    Επαφές Ενεργοποιήθηκε - Αυτή η ρύθμιση δίνει τη δυνατότητα στους Επαφές υπο-ενότητα του διαχειριστή που επιτρέπει σε ένα διαχειριστή να προσθέσει τροποποιήσετε ή να διαγράψετε επαφές στο σύστημα που μπορεί να χρησιμοποιηθεί ως μέρος μιας προσαρμοσμένης μεταφοράς σε μια εκστρατεία όπου ένας πράκτορας μπορεί να ψάξει για τις επαφές με το πρώτο όνομα το επώνυμο ή το γραφείο αριθμό και στη συνέχεια επιλέξτε μία από τις πολλές αριθμούς που σχετίζονται με αυτή την επαφή. Αυτή η δυνατότητα χρησιμοποιείται συχνά από τους φορείς εκμετάλλευσης ή σε λειτουργίες τηλεφωνικού κέντρου, όπου ο χρήστης θα χρειαστεί να μεταφέρετε μια κλήση σε μια μη-πράκτορα τηλέφωνο. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες. +
    +
    +
    + Μενού κλήσεων Προκριματικά Enabled - Αυτή η ρύθμιση επιτρέπει την επιλογή στο μενού Κλήση για να τεθεί ένα SQL προσόντα για τους ανθρώπους που ακούω ότι το μενού κλήσης. Για περισσότερες πληροφορίες σχετικά με το πώς αυτό το χαρακτηριστικό λειτουργεί, δείτε τη βοήθεια για τα μενού κλήσεων. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες. + +
    +
    +
    + Επίπεδο 8 Απενεργοποίηση Προσθήκη - Η ρύθμιση αυτή εάν είναι ενεργοποιημένη θα αποτρέψει οποιοδήποτε επίπεδο 8 το χρήστη από την προσθήκη ή την αντιγραφή οποιοδήποτε αρχείο στο σύστημα, δεν έχει σημασία ποιες είναι οι ρυθμίσεις των χρηστών τους. Εξαιρούνται από τους περιορισμούς αυτούς είναι η δυνατότητα να προσθέσετε DNC και να φιλτράρω τις ομάδες αριθμών τηλεφώνου και προσθέσετε μια νέα σελίδα Lead. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες. + +
    +
    +
    + Διαχειριστής Counts List - Αυτή η ρύθμιση σας επιτρέπει να απενεργοποιήσετε τις μετρήσεις λίστα που εμφανίζεται στην λίστα λίστες και τις οθόνες να τροποποιήσει καμπάνιας. Η προεπιλογή είναι 1 σε ενεργοποιημένο. + +
    +
    +
    + Αφήστε Emails - Αυτό είναι όπου μπορείτε να ορίσετε αν το σύστημα αυτό θα είναι σε θέση να λάβει τα εισερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου εκτός από τις τηλεφωνικές κλήσεις. +

    @@ -8371,6 +8783,16 @@ if ($ADD==99999)
    QueueMetrics Τηλέφωνο Περιβάλλοντος Τηλέφωνο Προσάρτηση - Αυτή η επιλογή, εάν ενεργοποιηθεί, θα προσαρτήσει τη σύνδεση του τηλεφώνου παράγοντα στην εγγραφή δεδομένων αυτών4 στον πίνακα καταγραφής ουρά αν το τηλέφωνο εκστρατεία στον τομέα του περιβάλλοντος έχει συμπληρωθεί. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες. +
    +
    +
    + QueueMetrics Socket Αποστολή - Αυτή η επιλογή, αν ενεργοποιηθεί, θα στείλει QM δεδομένα σε μια ιστοσελίδα που θα στείλει μέσα από μια πρίζα για τη σύνδεση. Η CONNECT_COMPLETE επιλογή θα στείλει CONNECT, COMPLETEΧΕΙΡΙΣΤΗΣκαι COMPLETECALLER εκδηλώσεις στο url που ορίζονται κατωτέρω. Προεπιλεγμένη ρύθμιση είναι Καμία για άτομα με ειδικές ανάγκες. + +
    +
    +
    + QueueMetrics Socket Αποστολή URL - Αν Socket Send είναι ενεργοποιημένη παραπάνω, είναι η διεύθυνση URL που χρησιμοποιείται για την αποστολή των δεδομένων σε. Προεπιλογή είναι άδειο για άτομα με ειδικές ανάγκες. +

    @@ -8454,7 +8876,110 @@ if ($ADD==99999)



    + 0) + { + ?> + VICIDIAL λογαριασμούς ηλεκτρονικού ταχυδρομείου

    +
    +
    + Η Vicidial τμήμα διαχείρισης λογαριασμών ηλεκτρονικού ταχυδρομείου σας επιτρέπει να δημιουργήσετε, να αντιγράψετε και να διαγράψετε τις ρυθμίσεις του λογαριασμού e-mail που θα σας επιτρέψει να έχετε μηνύματα ηλεκτρονικού ταχυδρομείου που έρχονται σε Vicidial το σύστημά σας και να αντιμετωπίζονται ως κανονικές κλήσεις. ΛΟΓΑΡΙΑΣΜΟΙ EMAIL πρέπει να συσταθεί ΑΠΟ ΕΣΑΣ και μια υπηρεσία παροχής e-mail - το οποίο δεν καλύπτεται από αυτό το module. +
    +
    +
    + Αυτή είναι η σύντομη ονομασία του λογαριασμού ηλεκτρονικού ταχυδρομείου, δεν είναι δυνατή η επεξεργασία μετά την αρχική υποβολή, δεν πρέπει να περιέχει κενά και πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες. + +
    +
    +
    + Το όνομα του λογαριασμού - Αυτό είναι το πλήρες όνομα του λογαριασμού ηλεκτρονικού ταχυδρομείου, θα πρέπει να είναι μεταξύ 2 και 30 χαρακτήρες. + +
    +
    +
    + Ενεργό - Αυτό καθορίζει αν αυτός ο λογαριασμός θα πρέπει να ελέγχονται για νέα μηνύματα ηλεκτρονικού ταχυδρομείου που πρέπει να φορτωθεί στο dialer. + +
    +
    +
    + Αυτό επιτρέπει για μια μακρά περιγραφή, εάν χρειάζεται, του λογαριασμού ηλεκτρονικού ταχυδρομείου. 255 χαρακτήρες το μέγιστο. + +
    +
    +
    + Τύπο του λογαριασμού email - Καθορίζει αν ο λογαριασμός που χρησιμοποιείται για τα εισερχόμενα ή εξερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου. Θα πρέπει να οριστεί σε εισερχόμενα. + +
    +
    +
    + Διαχειριστής Ομάδα Χρηστών - Αυτή είναι η διοικητική ομάδα χρηστών για αυτό το εισερχόμενο ομάδα, αυτό επιτρέπει την προβολή του διαχειριστή αυτής στην ομάδα περιορίζεται από ομάδα χρηστών. Προεπιλογή είναι - ALL - η οποία επιτρέπει σε κάθε χρήστη διαχειριστή για να δείτε αυτό σε ομάδα. + +
    +
    +
    + Αυτό είναι το email πρωτόκολλο που χρησιμοποιείται από το λογαριασμό που δημιουργείτε πρόσβαση. Αυτή τη στιγμή υποστηρίζονται μόνο τους λογαριασμούς POP3 και IMAP. + +
    +
    +
    + Η διεύθυνση ηλεκτρονικού ταχυδρομείου του λογαριασμού σας για τη δημιουργία πρόσβασης. Απαντήσεις σε μηνύματα ηλεκτρονικού ταχυδρομείου από το περιβάλλον παράγοντας θα διαβάσει ότι προέρχονται από αυτή τη διεύθυνση. + +
    +
    +
    + Το e-mail server ότι ο λογαριασμός στεγάζεται σε. + +
    +
    +
    + Το login χρησιμοποιείται για την πρόσβαση σε αυτό το λογαριασμό. Συνήθως αυτό είναι το τμήμα της απάντησης για την αντιμετώπιση πριν από την-at-σύμβολο. + +
    +
    +
    + Ο κωδικός που χρησιμοποιείται για την πρόσβαση σε αυτό το λογαριασμό. Αυτό συνήθως βρίσκεται στην ώρα του λογαριασμού ηλεκτρονικού ταχυδρομείου που έχει δημιουργηθεί. + +
    +
    +
    + Πόσο συχνά αυτό το λογαριασμό e-mail θα πρέπει να ελέγχονται. Το υψηλότερο ποσοστό της συχνότητας αυτή τη στιγμή είναι πέντε λεπτά? Ορισμένοι πάροχοι υπηρεσιών ηλεκτρονικού ταχυδρομείου δεν θα επιτρέψει σε περισσότερους από τρεις προσπάθειες σύνδεσης σε δεκαπέντε λεπτά πριν από το κλείδωμα του λογαριασμού για αόριστο χρονικό διάστημα. + +
    +
    +
    + In-ID Ομάδας - Η In-Ομάδα ότι τα μηνύματα ηλεκτρονικού ταχυδρομείου θα σταλεί στο. + +
    +
    +
    + Προεπιλογή ID Κατάλογος - Το αναγνωριστικό λίστας που οδηγεί θα εισαχθεί στο αν είναι απαραίτητο. + +
    +
    +
    + Σε-Group Μέθοδος λαβή Call - Αυτή είναι η δράση που θα πρέπει να ληφθούν όταν ένα νέο μήνυμα ηλεκτρονικού ταχυδρομείου βρίσκεται στο λογαριασμό. EMAIL: όλα τα μηνύματα ηλεκτρονικού ταχυδρομείου θα πρέπει να εισαχθεί σε vicidial_list ως νέο προβάδισμα. EMAILLOOKUP θα ψάξει ολόκληρο τον πίνακα vicidial_list για τη διεύθυνση ηλεκτρονικού ταχυδρομείου στο email στήλη - εάν ο μόλυβδος έχει βρεθεί, ID λίστα που οδηγούν θα χρησιμοποιηθεί στην εγγραφή που πηγαίνει στο vicidial_email_list πίνακα. EMAILLOOKUPRC κάνει το ίδιο, αλλά θα ψάξει μόνο για λίστες που ανήκουν στην εκστρατεία έχει επιλεγεί στο "ID Σε ομαδική εκστρατεία" παρακάτω. EMAILLOOKUPRL θα ψάξει μόνο μια συγκεκριμένη λίστα, η οποία είναι αυτή που έχουν εισαχθεί στο "ID Σε ομαδική List" παρακάτω πλαίσιο. + +
    +
    +
    + Σε-Group Μέθοδος Αναζήτηση Agent - Η μέθοδος αναζήτησης παράγοντα που θα χρησιμοποιηθεί από την εισερχόμενη ομάδα, LO είναι ισορροπημένα-Υπερχείλιση και θα προσπαθήσει να στείλει την κλήση σε έναν πράκτορα στον τοπικό διακομιστή πριν προσπαθήσετε να το στείλετε σε έναν πράκτορα σε άλλο διακομιστή, LB είναι ισορροπημένα και θα προσπαθήσει να στείλει την κλήση στο επόμενο παράγοντα δεν έχει σημασία τι server στον οποίο είναι, έτσι διακομιστή Μόνο και μόνο θα προσπαθήσει να στείλει τις κλήσεις στους πράκτορες στο διακομιστή που ήρθε η κλήση σε σχετικά. Η προεπιλογή είναι LB. IS THIS NECESSARY? + +
    +
    +
    + Σε-ID Ομάδας Κατάλογος - Αυτό είναι το ID Κατάλογος που θα χρησιμοποιηθεί για την αναζήτηση για έναν αγώνα εντός. + +
    +
    +
    + Σε ID Ομάδας Εκστρατεία - Αυτό είναι το Αναγνωριστικό καμπάνιας που θα χρησιμοποιηθεί για την αναζήτηση για έναν αγώνα εντός. + + + + +



    + VICIDIAL CUSTOM TEMPLATE MAKER


    @@ -8501,7 +9026,7 @@ if ($ADD==99999) Μέγιστη Σύστημα Εκθέσεις Στατιστικά


    - Αυτά τα στατιστικά στοιχεία που αποθηκεύονται προσωρινά σύνολα που έχουν αποθηκευτεί στη διάρκεια κάθε ημέρας σε πραγματικό χρόνο μέσω του back-end διαδικασίες. Για τις εισερχόμενες κλήσεις, οι συνολικές κλήσεις ανά-σε ομάδα υπολογίζεται για κάθε κλήση που εισέρχεται στη διαδικασία που υπολογίζει. Για το σύνολο του συστήματος μετράει, είναι τα σύνολα που προέρχονται από τις καταχωρήσεις ημερολογίου, καθώς και άλλα σύνολα στην ομάδα και εκστρατεία. Αυτά τα σύνολα ενδέχεται να μην αθροίζονται λόγω των ρυθμίσεων που έχετε στο σύστημά σας, καθώς και όταν η κλήση κρέμασε. + Αυτά τα στατιστικά στοιχεία που αποθηκεύονται προσωρινά σύνολα που έχουν αποθηκευτεί στη διάρκεια κάθε ημέρας σε πραγματικό χρόνο μέσω του back-end διαδικασίες. Για τις εισερχόμενες κλήσεις, οι συνολικές κλήσεις ανά-σε ομάδα υπολογίζεται για κάθε κλήση που εισέρχεται στη διαδικασία που υπολογίζει. Για το σύνολο του συστήματος μετράει, είναι τα σύνολα που προέρχονται από τις καταχωρήσεις ημερολογίου, καθώς και άλλα σύνολα στην ομάδα και εκστρατεία. Αυτά τα σύνολα ενδέχεται να μην αθροίζονται λόγω των ρυθμίσεων που έχετε στο σύστημά σας, καθώς και όταν η κλήση κρέμασε. QC VICIDIAL κωδικοί


    - The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + The Ποιοτικός Έλεγχος-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. +



    + Εκθέσεις

    + +
    +
    + Agent Ωρα Λεπτομέρειες - In this report you can view how much time agents spent on what.
    + TIME CLOCK = Time the agent been logged in to the time clock.
    + ΧΕΙΡΙΣΤΗΣTIME = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + PAUSE = Time the agent is in pause mode (LOGIN + LAGGED + ...).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + - The next table is pause codes and their time.
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +
    +
    + Agent Status Λεπτομέρειες - In this report you can view what and how many statuses has been selected by the agents.
    + CALLS = Total number of calls sent to the user.
    + CIcalls = Total number of call where there was a Ανθρώπινα Απάντηση which is set under "Admin" -> "System Καθεστώτων".
    + DNC/CI% = How much in percent DNC (Do Not Call) per Ανθρώπινα Απάντησηs.
    + And the rest is justΘέσεις συστημάτωνthat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Καθεστώτων".
    + +
    +
    + Agent Performance Λεπτομέρειες - This is a combination of Agent Ωρα Λεπτομέρειες and Agent Status Λεπτομέρειες.
    + (Statistics related to handling of calls only)
    + CALLS = Total number of calls sent to the user.
    + TIME = Total time of these (PAUSE + WAIT + TALK + DISPO).
    + PAUSE = Amount of time being paused in related to call handling.
    + AVG means Average so everything -AVG is for example amount of PAUSE-time divided by total number of calls: (PAUSE / CALLS = PAUSAVG)
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + And the rest is justΘέσεις συστημάτωνthat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Καθεστώτων".
    + - Next table is Παύση Κώδικες.
    + ΣΥΝΟΛΙΚΑ = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + NONPAUSE = Everything except pause (WAIT + TALK + DISPO).
    + PAUSE = Only Pause.
    + - The last table is pause codes and their time (like "Agent Ωρα Λεπτομέρειες").
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +















    @@ -8586,7 +9164,7 @@ if ($ADD==73) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -8599,11 +9177,19 @@ if ($ADD==73) echo "FILTER: $lead_filter_id
    \n"; echo "CALL LIMIT: $call_count_limit\n"; echo "CALL TIME: $local_call_time

    \n"; + echo "With Filter:\n"; + echo "

    \n"; ### call function to calculate and print dialable leads $single_status=0; dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,$fSQL); + echo "

    \n"; + echo "Without Filter:\n"; + echo "

    \n"; + + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,''); + echo "

    \n"; echo "\n"; @@ -8695,6 +9281,7 @@ if ($ADD==7111111) $agent_log_id = 'agent_log_id'; $entry_list_id = 'entry_list_id'; $call_id = 'call_id'; + $user_group = 'user_group'; echo "\n"; echo "\n"; @@ -8846,6 +9433,7 @@ if ($ADD==7111111) $script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); $script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); $script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); + $script_text = eregi_replace('--A--user_group--B--',"$user_group",$script_text); $script_text = eregi_replace("\n","
    ",$script_text); @@ -8986,7 +9574,7 @@ if ($ADD=="1A") if ($LOGuser_level==9) {$levelMAX=10;} else {$levelMAX=$LOGuser_level;} - echo "
  • \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) { @@ -9121,6 +9709,7 @@ if ($ADD==11) echo "\n"; + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -9241,7 +9830,7 @@ if ($ADD==111) } else { - echo "\n"; + echo "\n"; } echo "\n"; echo "\n"; @@ -9280,6 +9869,9 @@ if ($ADD==111) if ($ADD==121) { + ### filter for DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); + echo "
    TERUGBELLERS VOOR agent :
    Als u informatie over een van de callbacks zie hieronder, klik op de info link. Om de klant nu terug te bellen, klik op de BEL link. Als u hieronder klikt op een record om te bellen, wordt deze verwijderd uit de lijst.

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Beschikbaar Transfer Agents: -
    NIEUWE HANDMATIGE LEAD VOOR :

    Voer de informatie voor de nieuwe te bellen lead hieronder in. + - + @@ -13613,7 +15164,7 @@ Beschikbaar Transfer Agents:
    NIEUWE HANDMATIGE LEAD VOOR :

    Voer de informatie voor de nieuwe te bellen lead hieronder in.
    \n"; } @@ -13578,9 +15125,9 @@ Beschikbaar Transfer Agents: Netnummer:
      (Dit is normaal gesproken een 1 in de USA en Canada)
    Telefoon Number: telefoonnummer: -   (digits only) +   (alleen cijfers) @@ -13593,6 +15140,10 @@ Beschikbaar Transfer Agents:

        +

    +     +

    +


    Als je een nummer belt en NIET wilt dat deze als nieuwe lead wordt toegevoegd, vul dan het exacte nummer in, in het Dial Override veld. Om op te hangen, dien je GESPREKKEN IN DEZE SESSIE te open, onderaan het scherm, en daar op te hangen door te klikken op de kanaal link.
     
    CLOSER INKOMENDE GROEP SELECTIE

    \n";} + {echo "

    \n";} ?> Closer Inkomende Groep Selectie
    @@ -13635,7 +15186,7 @@ Beschikbaar Transfer Agents:
    GRONDGEBIED SELECTIE

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Beschikbaar Transfer Agents: -
          AGENT BEL LOG:             close [X]
    +
          middel bellijst:             sluiten [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Beschikbaar Transfer Agents: -
          Zoeken naar een contactpersoon:             close [X]
    +
          Zoeken naar een contactpersoon:             sluiten [X]

    \n";} + {echo "

    \n";} ?>

    Opmerkingen: bij het doen van een zoektocht naar een contactpersoon, worden wildcard of gedeeltelijke zoektermen niet toegestaan.
    Contact zoekopdrachten zijn allen geregistreerd in het systeem. @@ -13679,31 +15230,31 @@ Beschikbaar Transfer Agents: - + - + - + - + - + - + - + - + - +
    Office Number: kantoor nummer:
    Eerste Name: voornaam:
    Laatste Name: achternaam:
    BU Name: bedrijfsnaam:
    Department: departement:
    Group Name: groepsnaam:
    Job Titel: functienaam:
    Location: locatie:

    OPSLAAN SEARCH             opnieuw in te stellen formulier

    submit search             opnieuw in te stellen formulier


      @@ -13711,10 +15262,10 @@ Beschikbaar Transfer Agents: - @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          CONTACTEN ZOEKRESULTATEN:             close [X]
    + \n";} ?> - + 0) + {echo "\n";} + ?> +
          CONTACTEN ZOEKRESULTATEN:             sluiten [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Beschikbaar Transfer Agents: -
          ZOEK NAAR EEN LOOD:             close [X]
    + "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH agent VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Kierowniksends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARKING, FROMPARKING, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("należy wybrać środek do przekazania podczas korzystania agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Przejmij"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Zawieś"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Przejmij"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Zawieś"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Przejmij"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKING_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Zawieś"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKING_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Przejmij"; - if (ivr_park_call=='ENABLED_PARKING_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Zawieś"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKING_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move na to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (NazwiskoCallbackCount < CBcounT) || (NazwiskoCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - NazwiskoCallbackCount = CBcounT; - NazwiskoCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (NazwiskoCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - NazwiskoCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          ZOEK NAAR EEN LOOD:             sluiten [X]

    \n";} + {echo "

    \n";} ?>

    Opmerkingen: bij het doen van een zoektocht naar een voorsprong, het telefoonnummer, leiden ID of worden de beste velden.
    De andere velden kunnen vertragen. Lead zoeken houdt geen rekening met wildcard of gedeeltelijke zoektermen.
    Lead zoekopdrachten zijn allemaal geregistreerd in het systeem. @@ -13733,10 +15284,10 @@ Beschikbaar Transfer Agents: - + - + - + @@ -13765,7 +15316,7 @@ Beschikbaar Transfer Agents: : - +
    Telefoon Number: telefoonnummer:
    Telefoon Number Fields: telefoonnummervelden: Belangrijkste Telefoonnummer Andere telefoonnummer @@ -13744,7 +15295,7 @@ Beschikbaar Transfer Agents:
    Lead ID: leiden id:
    :

    OPSLAAN SEARCH             opnieuw in te stellen formulier

    submit search             opnieuw in te stellen formulier


      @@ -13773,34 +15324,34 @@ Beschikbaar Transfer Agents: - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          ZOEKRESULTATEN:             close [X]
    +
          ZOEKRESULTATEN:             sluiten [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          Opmerkingen bij oproep LOG:             close [X]
    + +
          Opmerkingen bij oproep LOG:             sluiten [X]

    \n";} + {echo "

    \n";} ?> -
    Call Opmerkingen Lijst
    +
    Call Notes Lijst


      - Sluiten Info Box + Sluiten Info Box
    - --> @@ -524,7 +525,7 @@ $URLsubmit = $URLarray[0]; --> \n"; @@ -1719,7 +1748,7 @@ echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Klant Informatie:             close [X] +
          Klant Informatie:             sluiten [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Beschikbaar Transfer Agents:
    SELECTEER EEN PAUZE CODE :

    \n";} + {echo "

    \n";} ?> Pauze Code Selection @@ -13824,7 +15375,7 @@ Beschikbaar Transfer Agents:
    SELECT A PRESET :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Beschikbaar Transfer Agents:
    KIES EEN GROEP ALIAS :

    \n";} + {echo "

    \n";} ?> Groep Alias Selectie @@ -13843,6 +15394,18 @@ Beschikbaar Transfer Agents:
    + +
    selecteer een wijzerplaat in-group :
    +
    \n";} + ?> + inbellen-groep Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Beschikbaar Transfer Agents:
    + +
    andere levende agent-sessie werd geopend met uw gebruikersnaam. het is uitgeschakeld. klik op ok om door te gaan naar de agent scherm.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Beschikbaar Transfer Agents: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_nl/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_nl/voicemail_check.php index 341aa602..182c12ea 100644 --- a/agc_2-X/trunk/LANG_www/agc_nl/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_nl/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Ongeldig Gebruikersnaam/Wachtwoord: |$user|$pass|\n"; - exit; + echo "Ongeldig Gebruikersnaam/Wachtwoord: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Ongeldig server_ip: |$server_ip| or Ongeldig session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Voicemail Check"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Voicemail Check"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "Voicemail Box $vmail_box is niet geldig\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_pl/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_pl/active_list_refresh.php index a58d52c9..b933cfce 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Listy: "; -if ($ADD==1) {echo "Aktywne numery wewnętrzne";} -if ($ADD==2) {echo "Zajęte numery wewnętrzne";} -if ($ADD==3) {echo "Linie zewnętrzne";} -if ($ADD==4) {echo "Numery wewnętrzne";} -if ($ADD==5) {echo "Konferencje";} -if ($ADD==99999) {echo "POMOC";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Listy: "; + if ($ADD==1) {echo "Aktywne numery wewnętrzne";} + if ($ADD==2) {echo "Zajęte numery wewnętrzne";} + if ($ADD==3) {echo "Linie zewnętrzne";} + if ($ADD==4) {echo "Numery wewnętrzne";} + if ($ADD==5) {echo "Konferencje";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_pl/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_pl/astguiclient.php index 3d004e3a..4a6beeba 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "AKTYWNE ROZMOWY Z TEGO TELEFONU:
    "; + var live_calls_HTML = "AKTYWNE ROZMOWY Z TEGO TELEFONU:
    #KANAŁ KLIENCKIKANAŁ ZDALNYRECORDROZŁĄCZTRANSFERPARKING
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1417,7 +1418,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} else {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -2735,7 +2736,7 @@ echo "\n"; -
    #KANAŁ KLIENCKIKANAŁ ZDALNYRECORDROZŁĄCZTRANSFERPARK
    ROZŁĄCZTRANSFERPARKING
    ROZŁĄCZTRANSFERPARK
    "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK hangup

    Active Trunks Menu
    Rozłącz międzymiastową   |   Przejmij międzymiastową   |   diff --git a/agc_2-X/trunk/LANG_www/agc_pl/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_pl/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_pl/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_pl/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_pl/call_log_display.php index a697f15d..838b2fd2 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Rejestr rozmów"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Rejestr rozmów"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten nie jest prawidłowy lub protokół $protocol nie jest prawidłowy\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_pl/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_pl/conf_exten_check.php index dc5919af..809d2d1c 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_pl/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_pl/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_pl/functions.php b/agc_2-X/trunk/LANG_www/agc_pl/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_pl/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_pl/inbound_popup.php index 8bffa4e5..dbc66aba 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_pl/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_pl/live_exten_check.php index 240d21f0..b516426c 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Sprawdzanie aktywnych numerów wewnętrznych"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Sprawdzanie aktywnych numerów wewnętrznych"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten nie jest prawidłowy lub protokół $protocol nie jest prawidłowy\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_pl/manager_send.php b/agc_2-X/trunk/LANG_www/agc_pl/manager_send.php index 807a8e86..e84d1282 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "POMOC";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Nie masz uprawnień do wybierania numeru inne sesje agenta $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate komenda wysłana do Exten $exten Kanał $channel na $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKINGED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARKING',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARKING',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='PARKING_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKINGED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARKING',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARKING',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context musi być ustawiony\n"; echo "ext_priority $ext_priority musi być ustawiony\n"; echo "\nRedirect Action nie wysłano\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference na $server_ip, Redirect komenda nie wstawiona\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie mogę znaleźć wolnej konferencji na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Nie mogę znaleźć wolnej konferencji na $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel nie jest aktywna na $call_server_ip, Redirect komenda nie wstawiona\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie jest aktywna na $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel nie jest aktywna na $server_ip, Redirect komenda nie wstawiona\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie jest aktywna na $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect komenda nie wstawiona\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX komenda wysłana do Kanał $channel na $call_server_ip and \nHungup $extrachannel na $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel na $call_server_ip, Hungup $extrachannel na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel na $call_server_ip, Hungup $extrachannel na $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel na $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority musi być ustawiony\n"; echo "session_id $session_id musi być ustawiony\n"; echo "\nRedirect Action nie wysłano\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference na $server_ip, Redirect komenda nie wstawiona\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie mogę znaleźć wolnej konferencji na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Nie mogę znaleźć wolnej konferencji na $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel nie jest aktywna na $call_server_ip, Redirect komenda nie wstawiona\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie jest aktywna na $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel nie jest aktywna na $server_ip, Redirect komenda nie wstawiona\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie jest aktywna na $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra komenda wysłana do Kanał $channel and \nExtraChannel $extrachannel\n to $exten na $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten na $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra komenda wysłana do Kanał $channel na $call_server_ip and \nExtraChannel $extrachannel\n to $exten na $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going na in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_pl/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_pl/park_calls_display.php index 1b3785c6..da5a4344 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_pl/phone_only.php b/agc_2-X/trunk/LANG_www/agc_pl/phone_only.php index 9044cf5c..89a224f1 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the logowanie telefonu $clientDST = '1'; # set to 1 to check for DST na server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link na the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Telefon web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Polski
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Login użytkownika:
    Hasło użytkownika:
      \n"; + echo "

    WERSJA: $version       KOMPILACJA: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefon web client: Login telefonu\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Polski
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Login telefonu:
    Hasło telefonu:
      \n"; + echo "

    WERSJA: $version       KOMPILACJA: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefon web client: Login telefonu\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo "Timeclock
    \n";} - echo "\n"; + {echo "Timeclock
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Polski
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefon-Only Login
     
    Login telefonu:
    Hasło telefonu:
      \n"; - echo "

    WERSJA: $version       KOMPILACJA: $build
    \n"; - echo "
    \n\n"; +echo "
    English Polski
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Login
     
    Login telefonu:
    Hasło telefonu:
      \n"; + echo "

    WERSJA: $version       KOMPILACJA: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_pl/timeclock.php b/agc_2-X/trunk/LANG_www/agc_pl/timeclock.php index c583118c..8fb86d12 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_pl/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_pl/vdc_db_query.php index 76863548..7fa4874b 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Nieprawidłowy Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Adres Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Serwer Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Serwer Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "KierownikLogin:
    \n"; $VDdisplayMESSAGE.= "KierownikHasło:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NUMER\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NUMER\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NUMER\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST Rozmowa TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST Rozmowa TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP ostatni NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN ostatni NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP ostatni dzwonek TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN ostatni dzwonek TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Komentarz + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Komentarz + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefonu i kod czasu strefa po niedopasowanie! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append w kampanii $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # RozmowaOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # RozmowaOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings w kampanii $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " Rozmowa NOT PLACED\nDNC NUMER\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " Rozmowa NOT PLACED\nDNC NUMER\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " Rozmowa NOT PLACED\nNUMER NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "Dziennik nie zapisany\n"; echo "uniqueid $uniqueid or lead_id: $lead_id nie jest prawidłowy\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Komentarz + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Komentarz + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampania $campaign nie jest prawidłowy\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups na vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row na selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send na to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user na $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampania $campaign nie jest prawidłowy or lead_id $lead_id nie jest prawidłowy\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Komentarz + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Komentarz + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send na to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user na $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-w kampanii as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,12 +8160,23 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Komentarz Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### RozmowaBACK ENTRY + ### callback ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Notatki Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Notatki Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserPORZĄDEK[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserPORZĄDEK[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserPORZĄDEK); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserPORZĄDEK[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -GOTOWE      -Incall      -WSTRZYMANE  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Wzywa w kolejce Zobacz niepełnosprawnych w tej kampanii\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info na the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "go       "; + echo " zamknąć "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefon     pełne imię i nazwisko     czekać     agent           Rozmowa GROUP     TYPE     nazywamy grupę     typ  
    TAKE Rozmowa  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "error: należy wprowadzić w zakresie wyszukiwania, jeden z nich musi być zaludniony: ołów, identyfikator dostawcy, numer telefonu, nazwisko\n"; echo "

    "; echo "Wróć"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     data\/czas     długość     STATUS     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefon     pełne imię i nazwisko     kampania     i obecnie     alternatywny     hangup     informacji     WYBIERZ  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL informacji WYBIERZ WYBIERZ
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "błąd: nie było problemu z wyszukiwanych haseł\n"; echo "

    "; echo "Wróć"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "error: należy wprowadzić w zakresie wyszukiwania, jeden z nich musi być wypełniona: numer biura, nazwisko, imię\n"; echo "

    "; echo "Wróć"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "błąd: nie było problemu z wyszukiwanych haseł\n"; echo "

    "; echo "Wróć"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no prowadzić id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Tytuł'; + $label_title = ' Tytuł'; $label_first_name = 'Imię'; $label_middle_initial = 'MI'; - $label_last_name = 'Nazwisko'; + $label_last_name = 'Nazwisko '; $label_address1 = 'Adres1'; $label_address2 = 'Adres2'; $label_address3 = 'Adres3'; $label_city = 'Miasto'; - $label_state = 'Stan'; + $label_state = ' Stan'; $label_province = 'Powiat'; $label_postal_code = 'KodPocztowy'; $label_vendor_lead_code = 'Vendedor ID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'Prefiks'; $label_alt_phone = 'Drugi telefon'; $label_security_phrase = 'Pokaż'; - $label_email = 'Email'; - $label_comments = 'Komentarz'; + $label_email = ' Email'; + $label_comments = ' Komentarz'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefonu i kod czasu strefa po niedopasowanie! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     pełne imię i nazwisko     telefon     STATUS     LAST Rozmowa     CITY     STATE     ZIP     INFO     ostatni dzwonek     miasto     stan     zamek błyskawiczny     informacji     WYBIERZ  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL informacji WYBIERZ WYBIERZ wybierz
      #     FIRST NAME     LAST NAME     ostatni NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       lokalizacja: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Zadzwoniono Since Nazwisko Reset:   $row[4]
    Strefa czasowa:   $row[3]
    zwany od ostatniego zerowania:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " WYBIERZ ";} + else + {$INFOout .= " WYBIERZ ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    wybrać link:   WYBIERZ ";} + else + {$INFOout .= "
    wybrać link:   WYBIERZ ";} } $INFOout .= "
    wybrać ten przewód
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " WYBIERZ ";} + else + {$INFOout .= " WYBIERZ ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Zadzwoniono Count:   $row[24]
    Nazwisko Local Call Time:   $row[25]
    liczba połączeń:   $row[24]
    ostatnio czasu lokalnego połączenia:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    log email do tego ołowiu:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     data\/czas     agent     długość     STATUS     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefon     kampania     i obecnie     alternatywny     hangup  
      FULL NAME     pełne imię i nazwisko  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   data\/czas   agent   kampania   napisz do   załączniki
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Wzywa w kolejce Zobacz niepełnosprawnych w tej kampanii\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "niezidentyfikowany kod przyczyną rozłączenia."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_pl/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_pl/vdc_email_display.php new file mode 100644 index 00000000..c56363ec --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_pl/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Nieprawidłowy File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" na the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    załączniki:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    załączniki:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_pl/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_pl/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_notes.php index 56c3c773..b31c11f4 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Tytuł'; +$label_title = 'Title'; $label_first_name = 'Imię'; $label_middle_initial = 'MI'; -$label_last_name = 'Nazwisko'; +$label_last_name = 'Last'; $label_address1 = 'Adres1'; $label_address2 = 'Adres2'; $label_address3 = 'Adres3'; $label_city = 'Miasto'; -$label_state = 'Stan'; +$label_state = 'State'; $label_province = 'Powiat'; $label_postal_code = 'KodPocztowy'; $label_vendor_lead_code = 'Vendedor ID'; @@ -265,7 +266,7 @@ $label_phone_code = 'Prefiks'; $label_alt_phone = 'Drugi telefon'; $label_security_phrase = 'Pokaż'; $label_email = 'Email'; -$label_comments = 'Komentarz'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Notatki"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *Pokaż: *
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefon OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Kampania: $camp_form_code
      \n"; + echo "
      \n"; echo "

    WERSJA: $version       KOMPILACJA: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Hasło telefonu:

    WERSJA: $version       KOMPILACJA: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END logowanie telefonu load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NOWY record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today na that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Hasło:
    \n"; echo "Kampania: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Styczeń','February','Marzec','Kwiecień','Maj','Czerwiec', +$Cmonths = Array('0','Styczeń','February','Marzec','Kwiecień','Maj','Czerwiec', 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var NazwiskoCallCID=''; - var NazwiskoCallbackCount=0; - var NazwiskoCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Ponów\""; var DiaLControl_auto_HTML_ready = "\"\"Ponów\""; var DiaLControl_auto_HTML_OFF = "\"\"Ponów\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "wpis dotyczy"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "Alarm jest wyłączony"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARKING_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARKING_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARKING_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARKING_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARKING_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARKING_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARKING_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARKING_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARKING_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARKING_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARKING_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4329,10 +4476,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'PARKING_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'PARKING_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'PARKING_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "nagrania
    px\">\">" + var CB_HTML = "
    # RozmowaBACK DATE/TIMENUMERINFONAME STATUSCAMPAIGNLAST POŁĄCZENIE DATA/CZAS WYBIERZ ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - NazwiskoCallbackViewed=1; - NazwiskoCallbackCount = (NazwiskoCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Nazwa grupy: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Kliknij tutaj, aby wybrać grupy Alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "wybrać w-group: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "kliknij tutaj, aby wybrać pokrętłem w grupie"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     kliknij tutaj, aby włączyć"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while na inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Komentarz (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Komentarz + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Nazwisko Call: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "CallBack: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comments:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Szybka"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Szybka"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     kliknij tutaj, aby wyłączyć"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     kliknij tutaj, aby włączyć"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Zadzwoniono: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Zawieś"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKING_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Minął czas wybierania, skontaktuj się z administratorem\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Połącz"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Zawieś"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Wybierz"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Wybierz"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - NazwiskoCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("Zasobnik pusty","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("W zasobniku nie ma już więcej konaktów do wykonania połączeń dla tej kampanii:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Ten telefon nie jest w kampanii list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Ten numer telefonu jest poza czasu lokalnego połączenia:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Nieokreślony błąd:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Wybierz"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Ponów\"
    \"Wybierz"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("Zasobnik pusty","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("W zasobniku nie ma już więcej konaktów do wykonania połączeń dla tej kampanii:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Ten telefon nie jest w kampanii list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Ten numer telefonu jest poza czasu lokalnego połączenia:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Nieokreślony błąd:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Wybierz"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Dzwoni: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS RozmowaBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Nazwisko Call: " + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "CallBack: " + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Komentarz:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Odłącz"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Ponów\"
    \"Wybierz"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Komentarz (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Komentarz + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Dzwoni: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Nazwisko Call: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "CallBack: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comments:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Odłącz"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,13 +7755,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT WYBIERZ NUMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: alternatywny ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT WYBIERZ NUMER: ADRES3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: ADRES3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT WYBIERZ NUMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Telefon Kod i numer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + NazwiskoCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - NazwiskoCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " Rozmowa NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - NazwiskoCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Komentarz (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Komentarz + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,22 +8435,22 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS RozmowaBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Nazwisko Call: " + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "CallBack: " + CBcallback_time; document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Komentarz:
    " + CBcomments; + document.getElementById("CBcommentsBoxD").innerHTML = "Comments:
    " + CBcomments; showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT WYBIERZ NUMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: alternatywny ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT WYBIERZ NUMER: ADRES3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: ADRES3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT WYBIERZ NUMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Telefon Kod i numer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Zawieś"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKING_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Przychodząca: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add na all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS Rozmowa PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Przychodząca: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Nazwisko Call: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "CallBack: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comments:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: alternatywny ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: ADRES3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " alternatywny WYBIERZ NUMER: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Telefon Kod i numer: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Zmień to numer telefonu do nieaktywne";} + else + {EAactive_link = "Zmień to numer telefonu do CZYNNEJ";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Aktywne:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Uwagi:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Przychodząca: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Zawieś"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Odłącz"; + + document.getElementById("XferControl").innerHTML = "\"Transfer"; + + document.getElementById("LocalCloser").innerHTML = "\"LOKALNY"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Wybierz"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Szybka"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Szybka"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Niestandardowe"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Ponów\"
    \"Wybierz"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Przychodząca: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Web"; } document.getElementById("ParkControl").innerHTML = "\"Zawieś"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKING_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallNotatkiContent").innerHTML = "
    Zadzwoń Uwagi:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Zadzwoń Uwagi:
    "; } else { - document.getElementById("PerCallNotatkiContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("Musisz być WSTRZYMANE Aby wyszukać OŁOWIU"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("Musisz być WSTRZYMANE Aby wyszukać OŁOWIU"); + alert_box("musisz być aktywnego połączenia przychodzącego szukać smyczy"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the wybrać w-group Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # callback data\/czas NUMER informacji pełne imię i nazwisko STATUS kampania ostatni POŁĄCZENIE DATA/CZAS WYBIERZ alternatywny
    wybrać w-group
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Wróć"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9097,6 +10466,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error na this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimalizuj "; document.getElementById("DispoSelectHAspan").innerHTML = "Rozłącz się ponownie"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "następna przerwa połączenia"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + NazwiskoCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - NazwiskoCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the wybrać w-group + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "wybrać w-group: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they zamknąć their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9874,7 +11280,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (alt_dial_status_display==1) { - alert("Jesteś w trybie ALT wybierania, należy zakończyć prowadzenie przy wylogowaniu.\n" + reselect_alt_dial); + alert("Jesteś w trybie alternatywny wybierania, należy zakończyć prowadzenie przy wylogowaniu.\n" + reselect_alt_dial); } else { @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Twoja Shift jest ponad lub zmienił, zostałeś wylogowany z sesji

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or zamknąć the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or zamknąć the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or zamknąć the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("Musisz być WSTRZYMANE Aby wyszukać OŁOWIU"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Odswież the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLNotatkiDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Odswież the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause na the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "następna przerwa połączenia Set"; + } + + // ################################################################################ // Pokaż the groups selection span function OpeNGrouPSelectioN() @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "wybrać alert:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('WitajBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLNotatkiDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,7 +13259,7 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallNotatkiButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') @@ -11814,6 +13270,8 @@ function phone_number_format(formatphone) { {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Podręcznik Kolejka jest Wyłączony
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKING_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY hangup " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12462,7 +13938,7 @@ function phone_number_format(formatphone) { } if (divvar == 'DiaLDiaLAltPhonE') { - var buildDivHTML = " WYBIERANIE ALT NUM
    "; + var buildDivHTML = " WYBIERANIE alternatywny NUM
    "; document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = buildDivHTML; } if (DefaulTAlTDiaL == '1') @@ -12485,7 +13961,7 @@ function phone_number_format(formatphone) { if (divvar == 'DiaLDiaLAltPhonE') { document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = ''; - var buildDivHTML = " WYBIERANIE ALT NUM
    "; + var buildDivHTML = " WYBIERANIE alternatywny NUM
    "; document.getElementById(divvar).innerHTML = buildDivHTML; if (reselect_alt_dial==1) {document.vicidial_form.DiaLAltPhonE.checked=true} @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPY     \n";} ?> WYLOGUJ\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    ID sesji:     Aktywna rozmowa
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12812,13 +14331,15 @@ $zi=2; PODGLĄD POŁĄCZEŃ
    - WYBIERANIE ALT NUM
    + WYBIERANIE alternatywny NUM
    + następna przerwa połączenia
    + PLIK NAGRANIA:
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Zawieś rozmowę
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Informacje o kliencie:         OŁÓW WYSZUKIWANIE";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Zadzwoń Uwagi: "; if ($agent_call_log_view == '1') - {echo "
    przeglądać notatki ";} + {echo "
    przeglądać notatki ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "wpis dotyczy";} else - {echo "Alert is OFF";} + {echo "Alarm jest wyłączony";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -KLAWISZE SKRÓTU NIEAKTYWNE - - sekundy:     @@ -13209,7 +14727,7 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +zresetować formularz + + + +refresh @@ -13374,6 +14904,23 @@ Transfer Dostępne pełnomocników:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +KLAWISZE SKRÓTU NIEAKTYWNE + + + + + px height='px'> + + + + + + +
    zobacz historię komentarz:
    +
    + @@ -13447,7 +14994,7 @@ Transfer Dostępne pełnomocników: -
    Wasza sesja była uszkadzana
    WYLOGUJ

    Wróć +
    Wasza sesja była uszkadzana
    WYLOGUJ

    @@ -13476,18 +15023,18 @@ Transfer Dostępne pełnomocników:
    REZULTAT ROZMOWY :       Rozłącz się ponownie       minimalizuj

    \n";} + {echo "

    \n";} ?> - + Koniec rozmowy, wybierz rezultat
    ZATRZYMAJ DZWONIENIE
    WYCZYŚĆ FORMULARZ | ZATWIERDŹ

    - WEB FORM ZATWIERDŹ + strona forma przedstawienia

     
    @@ -13496,7 +15043,7 @@ Transfer Dostępne pełnomocników:
    Wybierz datę oddzwonienia :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ Transfer Dostępne pełnomocników:
    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Transfer Dostępne pełnomocników: -
    NOWE RĘCZNE WYBIERANIE NUMERU DLA :

    Wpisz poniżej informacje o kontakcie do którego chcesz wykonać połączenie. + - + @@ -13613,7 +15164,7 @@ Transfer Dostępne pełnomocników:
    NOWE RĘCZNE WYBIERANIE NUMERU DLA :

    Wpisz poniżej informacje o kontakcie do którego chcesz wykonać połączenie.
    \n"; } @@ -13578,9 +15125,9 @@ Transfer Dostępne pełnomocników: Kod wybierania:
      (dla polski będzie to 48)
    Telefon Number: numer telefonu: -   (digits only) +   (tylko cyfry) @@ -13593,6 +15140,10 @@ Transfer Dostępne pełnomocników:

        +

    +     +

    +


    Jeżeli chcesz wybrać numer tak aby NIE został dodany jako nowy kontakt, wpisz dokładny numer telefonu w polu Wybierz ten numer poniżej. By zakończyć połączenie musisz otworzyć ROZMOWY W TEJ SESJI (w dole ekranu), i zakończyć połączenie klinając na link jego kanału..
     
    SELEKCJA GRUPY ZAWNĘTRZNYCH FINALIZUJĄCYCH

    \n";} + {echo "

    \n";} ?> Selekcja grupy zawnętrznych finalizujących
    @@ -13635,7 +15186,7 @@ Transfer Dostępne pełnomocników:
    WYBÓR TERYTORIUM

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Transfer Dostępne pełnomocników: -
          AGENT Rozmowa LOG:             close [X]
    +
          Rejestr rozmów agenta:             zamknąć [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Transfer Dostępne pełnomocników: -
          Wyszukiwanie kontaktów:             close [X]
    + @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          Wyszukiwanie kontaktów:             zamknąć [X]

    \n";} + {echo "

    \n";} ?>

    Uwagi: podczas wyszukiwania kontaktu, wieloznaczne lub częściowe kryteria wyszukiwania nie są dozwolone.
    Wywołań wyszukiwania kontaktowe są rejestrowane w systemie. @@ -13679,31 +15230,31 @@ Transfer Dostępne pełnomocników: - + - + - + - + - + - + - + - + - +
    Office Number: numer biura:
    Imię Name: imię:
    Nazwisko Name: nazwisko:
    BU Name: nazwa firmy:
    Department: dział:
    Group Name: Nazwa grupy:
    Job Tytuł: tytuł pracy:
    Location: lokalizacja:

    ZATWIERDŹ SEARCH             zresetować formularz

    przedstawia poszukiwania             zresetować formularz


      @@ -13711,10 +15262,10 @@ Transfer Dostępne pełnomocników: - \n";} ?> - + 0) + {echo "\n";} + ?> +
          KONTAKT WYNIKI WYSZUKIWANIA:             close [X]
    +
          KONTAKT WYNIKI WYSZUKIWANIA:             zamknąć [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Transfer Dostępne pełnomocników: - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH agente VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Gerentesends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARQUE, FROMPARQUE, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("você deve selecionar um agente de transferir ao usar agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Chamada"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Chamada"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Chamada"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Chamada"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Chamada"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARQUE_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Chamada"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARQUE_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Chamada"; - if (ivr_park_call=='ENABLED_PARQUE_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Chamada"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARQUE_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move em to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (ÚltimoCallbackCount < CBcounT) || (ÚltimoCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - ÚltimoCallbackCount = CBcounT; - ÚltimoCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (ÚltimoCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - ÚltimoCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          SZUKAJ OŁOWIU:             close [X]
    + "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          SZUKAJ OŁOWIU:             zamknąć [X]

    \n";} + {echo "

    \n";} ?>

    Uwagi: podczas wyszukiwania dla ołowiu, numer telefonu, identyfikator lub prowadzić są najlepsze pola w użyciu.
    Korzystanie z innych pól może być wolniejsze. Wiodący wyszukiwania nie pozwala na wieloznacznych lub częściowe warunków wyszukiwania.
    Ołów żądania wyszukiwania są rejestrowane w systemie. @@ -13733,10 +15284,10 @@ Transfer Dostępne pełnomocników: - + - + - + @@ -13765,7 +15316,7 @@ Transfer Dostępne pełnomocników: : - +
    Telefon Number: numer telefonu:
    Telefon Number Fields: pola numeru telefonu: Główny numer telefonu Alternatywny numer telefonu @@ -13744,7 +15295,7 @@ Transfer Dostępne pełnomocników:
    Lead ID: prowadzić id:
    :

    ZATWIERDŹ SEARCH             zresetować formularz

    przedstawia poszukiwania             zresetować formularz


      @@ -13773,34 +15324,34 @@ Transfer Dostępne pełnomocników: - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          WYNIKI WYSZUKIWANIA:             close [X]
    +
          WYNIKI WYSZUKIWANIA:             zamknąć [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          ZAPROSZENIE ZALOGUJ NOTES:             close [X]
    + +
          ZAPROSZENIE ZALOGUJ NOTES:             zamknąć [X]

    \n";} + {echo "

    \n";} ?> -
    Lista połączeń Uwagi
    +
    Lista połączeń Uwagi


      - Close Box Info + Close Box Info
    - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Informacje o kliencie:             close [X] +
          Informacje o kliencie:             zamknąć [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Transfer Dostępne pełnomocników:
    WYBÓR SZYFR PRZERWY :

    \n";} + {echo "

    \n";} ?> Przerwa Code Selection @@ -13824,7 +15375,7 @@ Transfer Dostępne pełnomocników:
    SELECT PRESET :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Transfer Dostępne pełnomocników:
    Wybierz grupę Alias :

    \n";} + {echo "

    \n";} ?> Wybór grupy Alias @@ -13843,6 +15394,18 @@ Transfer Dostępne pełnomocników:
    + +
    wybrać pokrętłem w grupie :
    +
    \n";} + ?> + wybrać w-group Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Transfer Dostępne pełnomocników:
    + +
    inna sesja na żywo agent open swoją nazwą użytkownika. została wyłączona. Kliknij OK, aby przejść do ekranu agenta.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Transfer Dostępne pełnomocników: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_pl/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_pl/voicemail_check.php index b1cef0f6..ddbe0f1e 100644 --- a/agc_2-X/trunk/LANG_www/agc_pl/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_pl/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; - exit; + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Sprawdzanie poczty głosowej"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Sprawdzanie poczty głosowej"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "skrzynka poczty głosowej $vmail_box nie jest prawidłowy\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_pt/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_pt/active_list_refresh.php index 9f32075b..fec7977a 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Username/Senha: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Exposição Da Lista: "; -if ($ADD==1) {echo "Extensões Vivas";} -if ($ADD==2) {echo "Extensões Ocupadas";} -if ($ADD==3) {echo "Linhas Exteriores";} -if ($ADD==4) {echo "Extensões Locais";} -if ($ADD==5) {echo "Conferências";} -if ($ADD==99999) {echo "AJUDA";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Exposição Da Lista: "; + if ($ADD==1) {echo "Extensões Vivas";} + if ($ADD==2) {echo "Extensões Ocupadas";} + if ($ADD==3) {echo "Linhas Exteriores";} + if ($ADD==4) {echo "Extensões Locais";} + if ($ADD==5) {echo "Conferências";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_pt/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_pt/astguiclient.php index 8ff805eb..9e12d4d1 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Registro"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Registro"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "VIVO CONVIDA ESTE TELEFONE:
    "; + var live_calls_HTML = "VIVO CONVIDA ESTE TELEFONE:
    #CANALETA DO CLIENTECANALETA REMOTARECORDHANGUPXFERPARQUE
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Registrobutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Pare O Registro";} else - {live_calls_HTML = live_calls_HTML + "Registro";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1534,7 +1535,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=0; if (out_calls > 0) { - var out_log_HTML = "
    #CANALETA DO CLIENTECANALETA REMOTARECORDHANGUPXFERPARK
    HANGUPXFERPARQUE
    HANGUPXFERPARK
    " + var out_log_HTML = "
    # DATE/TIME DA CHAMADANÚMEROLENGTH (M:SS)
    " while (loop_ct < out_calls) { loop_ct++; @@ -1562,7 +1563,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=0; if (in_calls > 0) { - var in_log_HTML = "
    # data\/horaDA CHAMADANÚMEROLENGTH (M:SS)
    " + var in_log_HTML = "
    # DATE/TIME DA CHAMADAIN-NÚMEROCALLERIDLENGTH
    " while (loop_ct < in_calls) { loop_ct++; @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "CONFERÊNCIA " + head_conf + "    Registado a: " + head_reg + "   " + reglink + "         Incorpore A Conferência
    Refresque     Registro         Emita DTMF         Seletor De Conf
    "; + var conf_head_HTML = "CONFERÊNCIA " + head_conf + "    Registado a: " + head_reg + "   " + reglink + "         Incorpore A Conferência
    Refresque     Record         Emita DTMF         Seletor De Conf
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    # data\/horaDA CHAMADAIN-NÚMEROCALLERIDLENGTH
    \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    TRUNK HANGUP

    + --> diff --git a/agc_2-X/trunk/LANG_www/agc_pt/vicidial.php b/agc_2-X/trunk/LANG_www/agc_pt/vicidial.php index 722e326d..b086bf19 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefone de login $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls em hold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Cliente Do Hangup $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT SELETOR by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable alternado SELETOR by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link em the agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Título'; +$label_title = ' Título'; $label_first_name = 'Prime'; $label_middle_initial = 'MI'; -$label_last_name = 'Último'; +$label_last_name = 'Último '; $label_address1 = 'Endereço1'; $label_address2 = 'Endereço2'; $label_address3 = 'Endereço3'; $label_city = 'Cidade'; -$label_state = 'Estado'; +$label_state = ' Estado'; $label_province = 'Província'; $label_postal_code = 'PostCode'; $label_vendor_lead_code = 'Vendedor Id'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Telefone'; $label_phone_code = 'DialCode'; $label_alt_phone = 'Alt. Telefone'; $label_security_phrase = 'Mostra'; $label_email = 'Email'; -$label_comments = 'Comentários'; +$label_comments = ' Comentários'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='GERENTE Override OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='GERENTE Override OF agente SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    TRUNK hangup

    Active Trunks Menu
    Tronco Do Hangup   |   Tronco Do Hijack   |   @@ -2746,7 +2747,7 @@ echo "\n"; - "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    HANGUP LOCAL

    + \n"; echo "\n";echo "\n"; echo "
    hangup LOCAL

    Menu Local Ativo
    Local Do Hangup   |   Local Do Hijack   |   diff --git a/agc_2-X/trunk/LANG_www/agc_pt/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_pt/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_pt/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_pt/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_pt/call_log_display.php index 80123be8..ac421dec 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Username/Senha: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Exposição Do Registro Da Chamada"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Exposição Do Registro Da Chamada"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten é inválido ou protocolo $protocol é inválido\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_pt/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_pt/conf_exten_check.php index d7cd75d7..f95704c8 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF agente IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_pt/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_pt/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_pt/functions.php b/agc_2-X/trunk/LANG_www/agc_pt/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_pt/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_pt/inbound_popup.php index 54fb3445..e8920954 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_pt/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_pt/live_exten_check.php index b6024856..a83d31cf 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Inválido Username/Senha: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Inválido session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Verificação Viva Da Extensão"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Verificação Viva Da Extensão"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten é inválido ou protocolo $protocol é inválido\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_pt/manager_send.php b/agc_2-X/trunk/LANG_www/agc_pt/manager_send.php index 719477c8..5821433c 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "AJUDA";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Você não tem permissão para discar para sessões de outro agente $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate comando emitido para Exten $exten Canaleta $channel em $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARQUEED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARQUE',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARQUE',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='PARQUE_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARQUEED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARQUE',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARQUE',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context deve ser ajustado\n"; echo "ext_priority $ext_priority deve ser ajustado\n"; echo "\nRedirect Action não emitido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference em $server_ip, Redirect comando não introduzido\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Não pode encontrar a conferência vazia em $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Não pode encontrar a conferência vazia em $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel não está vivo em $call_server_ip, Redirect comando não introduzido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está vivo em $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel não está vivo em $server_ip, Redirect comando não introduzido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está vivo em $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect comando não introduzido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX comando emitido para Canaleta $channel em $call_server_ip and \nHungup $extrachannel em $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel em $call_server_ip, Hungup $extrachannel em $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel em $call_server_ip, Hungup $extrachannel em $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel em $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel em $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority deve ser ajustado\n"; echo "session_id $session_id deve ser ajustado\n"; echo "\nRedirect Action não emitido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference em $server_ip, Redirect comando não introduzido\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Não pode encontrar a conferência vazia em $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Não pode encontrar a conferência vazia em $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel não está vivo em $call_server_ip, Redirect comando não introduzido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está vivo em $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel não está vivo em $server_ip, Redirect comando não introduzido\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel não está vivo em $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando emitido para Canaleta $channel and \nExtraChannel $extrachannel\n to $exten em $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten em $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten em $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra comando emitido para Canaleta $channel em $call_server_ip and \nExtraChannel $extrachannel\n to $exten em $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going em in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_pt/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_pt/park_calls_display.php index 2e9d97f7..92164504 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_pt/phone_only.php b/agc_2-X/trunk/LANG_www/agc_pt/phone_only.php index d45c3354..988d6fe1 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefone de login $clientDST = '1'; # set to 1 to check for DST em server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link em the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Telefone web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Português
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefone-Only Início de uma sessão
     
    Início de uma sessão Do Usuário:
    Senha Do Usuário:
      \n"; + echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefone web client: Início de uma sessão Do Telefone\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Português
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefone-Only Início de uma sessão
     
    Início de uma sessão Do Telefone:
    Senha Do Telefone:
      \n"; + echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefone web client: Início de uma sessão Do Telefone\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo "Timeclock
    \n";} - echo "\n"; + {echo "Timeclock
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Português
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefone-Only Início de uma sessão
     
    Início de uma sessão Do Telefone:
    Senha Do Telefone:
      \n"; - echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; - echo "
    \n\n"; +echo "
    English Português
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefone-Only Início de uma sessão
     
    Início de uma sessão Do Telefone:
    Senha Do Telefone:
      \n"; + echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_pt/timeclock.php b/agc_2-X/trunk/LANG_www/agc_pt/timeclock.php index 286f8496..7c32e8c7 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_pt/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_pt/vdc_db_query.php index 91e7ba9e..40c2f6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Inválido Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Endereço Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Usuário Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Usuário Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF agente IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "GerenteInício de uma sessão:
    \n"; $VDdisplayMESSAGE.= "GerenteSenha:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC NÚMERO\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC NÚMERO\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC NÚMERO\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST CHAMADA TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST CHAMADA TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP último NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN último NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP última chamada TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN última chamada TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentários + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentários + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefone and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefone e código postal fuso horário incompatibilidade! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append na campanha $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # CHAMADAOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CHAMADAOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings na campanha $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " CHAMADA NOT PLACED\nDNC NÚMERO\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " CHAMADA NOT PLACED\nDNC NÚMERO\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " CHAMADA NOT PLACED\nNÚMERO NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "REGISTRO NÃO ENTRADO\n"; echo "uniqueid $uniqueid or lead_id: $lead_id é inválido\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentários + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentários + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign é inválido\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups em vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row em selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send em to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user em $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign é inválido or lead_id $lead_id é inválido\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Comentários + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Comentários + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send em to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user em $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-na campanha as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,12 +8160,23 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Comentários Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### CHAMADABACK ENTRY + ### callback ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Notas Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Notas Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDEM[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserORDEM[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserORDEM); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserORDEM[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -PRONTO      -Chamadas      -PAUSA  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Chamadas na fila Ver condicionada para esta campanha\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info em the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "ir       "; + echo " fechar "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefone     nome completo     esperar     agente           CHAMADA GROUP     TYPE     grupo chamar     tipo  
    TAKE CHAMADA  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: id chumbo, identificação do fornecedor, número de telefone, sobrenome\n"; echo "

    "; echo "Vá Para trás"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     data\/hora    comprimento     STATUS     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefone     nome completo     campanha     dentro e fora     alternado     hangup     informações     SELETOR  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL informações SELETOR SELETOR
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Erro: Ocorreu um problema com seus termos de pesquisa\n"; echo "

    "; echo "Vá Para trás"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: Número de escritório, sobrenome, nome\n"; echo "

    "; echo "Vá Para trás"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Erro: Ocorreu um problema com seus termos de pesquisa\n"; echo "

    "; echo "Vá Para trás"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no levar id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Título'; + $label_title = ' Título'; $label_first_name = 'Prime'; $label_middle_initial = 'MI'; - $label_last_name = 'Último'; + $label_last_name = 'Último '; $label_address1 = 'Endereço1'; $label_address2 = 'Endereço2'; $label_address3 = 'Endereço3'; $label_city = 'Cidade'; - $label_state = 'Estado'; + $label_state = ' Estado'; $label_province = 'Província'; $label_postal_code = 'PostCode'; $label_vendor_lead_code = 'Vendedor Id'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefone'; $label_phone_code = 'DialCode'; $label_alt_phone = 'Alt. Telefone'; $label_security_phrase = 'Mostra'; - $label_email = 'Email'; - $label_comments = 'Comentários'; + $label_email = ' Email'; + $label_comments = ' Comentários'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefone and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefone e código postal fuso horário incompatibilidade! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     nome completo     telefone     STATUS     LAST CHAMADA     CITY     STATE     ZIP     INFO     última chamada     cidade     estado     zip     informações     SELETOR  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL informações SELETOR SELETOR selecione
      #     FIRST NAME     LAST NAME     último NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       localização: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Chamado Since Último Reset:   $row[4]
    fuso horário:   $row[3]
    chamado desde a última reposição:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " SELETOR ";} + else + {$INFOout .= " SELETOR ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    ligação discar:   SELETOR ";} + else + {$INFOout .= "
    ligação discar:   SELETOR ";} } $INFOout .= "
    selecionar essa liderança
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " SELETOR ";} + else + {$INFOout .= " SELETOR ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Chamado Count:   $row[24]
    Último Local Call Time:   $row[25]
    número de chamadas:   $row[24]
    última vez chamada local:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    log e-mail para este chumbo:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     data\/hora    agente     comprimento     STATUS     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefone     campanha     dentro e fora     alternado     hangup  
      FULL NAME     nome completo  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   data\/hora   agente   campanha   enviar e-mail para   anexos
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Chamadas na fila Ver condicionada para esta campanha\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "não identificado código causa hangup."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_pt/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_pt/vdc_email_display.php new file mode 100644 index 00000000..7fd79358 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_pt/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Inválido Username/Senha: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Inválido File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" em the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    anexos:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    anexos:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_pt/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_pt/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_notes.php index 2161caaf..83fb623a 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Título'; +$label_title = 'Title'; $label_first_name = 'Prime'; $label_middle_initial = 'MI'; -$label_last_name = 'Último'; +$label_last_name = 'Last'; $label_address1 = 'Endereço1'; $label_address2 = 'Endereço2'; $label_address3 = 'Endereço3'; $label_city = 'Cidade'; -$label_state = 'Estado'; +$label_state = 'State'; $label_province = 'Província'; $label_postal_code = 'PostCode'; $label_vendor_lead_code = 'Vendedor Id'; @@ -265,7 +266,7 @@ $label_phone_code = 'DialCode'; $label_alt_phone = 'Alt. Telefone'; $label_security_phrase = 'Mostra'; $label_email = 'Email'; -$label_comments = 'Comentários'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Notas"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *
    Campanha: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; @@ -907,7 +932,7 @@ echo "
    Campanha: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; @@ -957,7 +982,7 @@ echo "
    Campanha: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login telefone de login
     
    Início de uma sessão Do Telefone:
    Senha Do Telefone:
      \n"; + echo "
      \n"; echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "É necessário efetuar login AO PRIMEIRO TIMECLOCK
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF agente IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agente IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "GerenteInício de uma sessão:
    \n"; $VDdisplayMESSAGE.= "GerenteSenha:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agente IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Início de uma sessão Da Campanha\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Senha:
    \n"; echo "Campanha: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1603,7 +1632,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefone OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Campanha: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Senha Do Telefone:

    VERSÃO: $version       CONFIGURAÇÃO: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END telefone de login load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NOVO record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today em that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Senha:
    \n"; echo "Campanha: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Janeiro','February','Março','Abril','Pode','Junho', +$Cmonths = Array('0','Janeiro','February','Março','Abril','Pode','Junho', 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var ÚltimoCallCID=''; - var ÚltimoCallbackCount=0; - var ÚltimoCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Resumo\""; var DiaLControl_auto_HTML_ready = "\"\"Resumo\""; var DiaLControl_auto_HTML_OFF = "\"\"Resumo\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "alerta está ligado"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "alerta estiver desligado"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARQUE_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARQUE_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARQUE_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARQUE_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARQUE_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARQUE_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARQUE_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARQUE_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARQUE_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARQUE_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARQUE_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4329,10 +4476,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'PARQUE_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'PARQUE_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'PARQUE_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "gravação
    px\">\">" + var CB_HTML = "
    # CHAMADABACK DATE/TIMENÚMEROINFONAME STATUSCAMPAIGNLAST DATE/TIME DA CHAMADA SELETOR ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - ÚltimoCallbackViewed=1; - ÚltimoCallbackCount = (ÚltimoCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Grupo Alias: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Clique aqui para escolher um grupo Alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "discar grupo: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "clique aqui para escolher uma marcação em grupo"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Clique aqui para ativar"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while em inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Comentários (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Comentários + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Rechamada:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Formulário\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulário\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     clique aqui para desativar"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Clique aqui para ativar"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Chamado: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Chamada"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARQUE_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("O seletor cronometrado para fora, contata seu administrador de\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Seletor"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Seletor"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Número"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Número"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - ÚltimoCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("FUNIL VAZIO","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Não mais conduz no funil para a campanha:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Esse número de telefone não está na campanha listas:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Este número de telefone se encontra fora do tempo chamada local:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Unspecified error:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Número"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Resumo\"
    \"Número"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("FUNIL VAZIO","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Não mais conduz no funil para a campanha:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Esse número de telefone não está na campanha listas:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Este número de telefone se encontra fora do tempo chamada local:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Unspecified error:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Número"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Chamada: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Formulário\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulário\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS CHAMADABACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Rechamada:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Cliente"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Resumo\"
    \"Número"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Comentários (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Comentários + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Chamada: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Formulário\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulário\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Rechamada:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Cliente"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,13 +7755,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT PROGR.SELEC NÚMERO: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: alternado ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT PROGR.SELEC NÚMERO: ENDEREÇO3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: ENDEREÇO3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT PROGR.SELEC NÚMERO: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Telefone Código e Número: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + ÚltimoCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - ÚltimoCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " CHAMADA NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - ÚltimoCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Comentários (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Comentários + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS CHAMADABACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Rechamada:" + CBcallback_time; @@ -7677,13 +8444,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT PROGR.SELEC NÚMERO: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: alternado ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT PROGR.SELEC NÚMERO: ENDEREÇO3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: ENDEREÇO3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT PROGR.SELEC NÚMERO: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Telefone Código e Número: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Chamada"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARQUE_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Entrante: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add em all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS CHAMADA PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Última Chamada:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Rechamada:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agente:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Comentários:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: alternado ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: ENDEREÇO3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " alternado PROGR.SELEC NÚMERO: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Telefone Código e Número: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Altere este número de telefone para INATIVO";} + else + {EAactive_link = "Altere este número de telefone para ACTIVAS";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Ativa:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Notas:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Chamada"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Cliente"; + + document.getElementById("XferControl").innerHTML = "\"Transferência"; + + document.getElementById("LocalCloser").innerHTML = "\"LOCAL"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Transferência"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"RÁPIDA"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Transferência"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Resumo\"
    \"Número"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Formulário\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulário\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Entrante: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Formulário"; } document.getElementById("ParkControl").innerHTML = "\"Chamada"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARQUE_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallNotasContent").innerHTML = "
    Chame Notas:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Chame Notas:
    "; } else { - document.getElementById("PerCallNotasContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("VOCÊ DEVE ser pausado Para procurar um LEAD"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("VOCÊ DEVE ser pausado Para procurar um LEAD"); + alert_box("você deve estar em uma chamada de entrada ativa para procurar uma vantagem"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the discar grupo Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # callback data\/hora NÚMERO informações  nome completo STATUS  campanha último data\/horaDA CHAMADA SELETOR alternado
    discar grupo
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Vá Para trás"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9097,6 +10466,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error em this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimize "; document.getElementById("DispoSelectHAspan").innerHTML = "Hangup Outra vez"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "próxima pausa chamada"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + ÚltimoCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - ÚltimoCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the discar grupo + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "discar grupo: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they fechar their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9874,7 +11280,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (alt_dial_status_display==1) { - alert("Você está em ALT modo de discagem, você deve terminar a liderança antes de sair.\n" + reselect_alt_dial); + alert("Você está em alternado modo de discagem, você deve terminar a liderança antes de sair.\n" + reselect_alt_dial); } else { @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Seu Shift é mais ou mudou, você foi desconectado da sua sessão

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or fechar the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or fechar the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or fechar the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("VOCÊ DEVE ser pausado Para procurar um LEAD"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Refresque the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLNotasDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Refresque the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause em the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "próxima pausa chamada Set"; + } + + // ################################################################################ // Mostra the groups selection span function OpeNGrouPSelectioN() @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "discar alerta:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('Boa vindaBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLNotasDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,7 +13259,7 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallNotasButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') @@ -11814,6 +13270,8 @@ function phone_number_format(formatphone) { {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Manual de fila é Off
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARQUE_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY hangup " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12462,7 +13938,7 @@ function phone_number_format(formatphone) { } if (divvar == 'DiaLDiaLAltPhonE') { - var buildDivHTML = " ALT DO TELEFONE
    "; + var buildDivHTML = " alternado DO TELEFONE
    "; document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = buildDivHTML; } if (DefaulTAlTDiaL == '1') @@ -12485,7 +13961,7 @@ function phone_number_format(formatphone) { if (divvar == 'DiaLDiaLAltPhonE') { document.getElementById("DiaLDiaLAltPhonEHide").innerHTML = ''; - var buildDivHTML = " ALT DO TELEFONE
    "; + var buildDivHTML = " alternado DO TELEFONE
    "; document.getElementById(divvar).innerHTML = buildDivHTML; if (reselect_alt_dial==1) {document.vicidial_form.DiaLAltPhonE.checked=true} @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPOS     \n";} ?> LOGOUT\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    sessão ID:     Vive A Chamada
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12812,20 +14331,22 @@ $zi=2; INSPECÇÃO PRÉVIA DA LIGAÇÃO
    - ALT DO TELEFONE
    + alternado DO TELEFONE
    + próxima pausa chamada
    + LIMA DE GRAVAÇÃO:

    ID RECORD:
    - + Comece Gravar

    Formulário Da Correia fotorreceptora
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Chamada Do Parque
    \"IVR
    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Informação Do Cliente:         LEAD PESQUISA";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Chame Notas: "; if ($agent_call_log_view == '1') - {echo "
    ver as notas ";} + {echo "
    ver as notas ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "alerta está ligado";} else - {echo "Alert is OFF";} + {echo "alerta estiver desligado";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -CHAVES QUENTES INATIVAS - - segundos:     @@ -13209,7 +14727,7 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +repor forma + + + +refresh @@ -13374,6 +14904,23 @@ Agentes de transferência disponíveis:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +CHAVES QUENTES INATIVAS + + + + + px height='px'> + + + + + + +
    ver a história comentário:
    +
    + @@ -13447,7 +14994,7 @@ Agentes de transferência disponíveis: -
    Sua sessão foi incapacitada
    LOGOUT

    Vá Para trás +
    Sua sessão foi incapacitada
    LOGOUT

    @@ -13476,18 +15023,18 @@ Agentes de transferência disponíveis: px" height="px">
    CHAMADA DA DISPOSIÇÃO :       Hangup Outra vez       minimize

    \n";} + {echo "

    \n";} ?> - + Extremidade-$$$-CHAME A Seleção Da Disposição
    PARE DE CHAMAR-SE
    RESTAURAÇÃO | SUBMETA

    - WEB FORM SUBMETA + forma webpage apresentar

     
    @@ -13496,7 +15043,7 @@ Agentes de transferência disponíveis: px" height="px">
    Selecione uma data da rechamada :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ Agentes de transferência disponíveis:
    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Agentes de transferência disponíveis: -
    LIGAÇÃO MANUAL NOVA DO SELETOR PARA :

    Incorpore a informação abaixo para a ligação que nova você deseja se chamar. + - + @@ -13613,7 +15164,7 @@ Agentes de transferência disponíveis: px" height="px">
    LIGAÇÃO MANUAL NOVA DO SELETOR PARA :

    Incorpore a informação abaixo para a ligação que nova você deseja se chamar.
    \n"; } @@ -13578,9 +15125,9 @@ Agentes de transferência disponíveis: Código Do Seletor:
      (Este é geralmente um 1 nos EUA e no Canadá)
    Telefone Number: número de telefone: -   (digits only) +   (só dígitos) @@ -13593,6 +15140,10 @@ Agentes de transferência disponíveis:

        +

    +     +

    +


    Se você quiser marcar um número e o ter não adicionado como uma ligação nova, entre no dialstring exato esse você querem chamar-se abaixo no campo da ultrapassagem do seletor. Ao hangup esta chamada você terá que abrir as CHAMADAS ncEsta ligação da SESSÃO no fundo da tela e pendurá-las acima estalando em sua ligação da canaleta lá.
     
    SELEÇÃO DE GRUPO INBOUND MAIS PRÓXIMA

    \n";} + {echo "

    \n";} ?> Seleção De Grupo Inbound Mais próxima
    @@ -13635,7 +15186,7 @@ Agentes de transferência disponíveis: px" height="px">
    SELEÇÃO DE TERRITÓRIO

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Agentes de transferência disponíveis: -
          AGENT CHAMADA LOG:             close [X]
    +
          registro de chamadas agente:             fechar [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Agentes de transferência disponíveis: -
          Procurar um Contato:             close [X]
    + @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          Procurar um Contato:             fechar [X]

    \n";} + {echo "

    \n";} ?>

    Notas: ao fazer uma busca de um contato, termos de pesquisa curinga ou parcial não são permitidos.
    Pedidos de busca de contato são todos registrados no sistema. @@ -13679,31 +15230,31 @@ Agentes de transferência disponíveis: - + - + - + - + - + - + - + - + - +
    Office Number: número do escritório:
    Prime Name: primeiro nome:
    Último Name: sobrenome:
    BU Name: nome da empresa:
    Department: departamento:
    Group Name: nome do grupo:
    Job Título: cargo:
    Location: localização:

    SUBMETA SEARCH             repor forma

    submeter pesquisa             repor forma


      @@ -13711,10 +15262,10 @@ Agentes de transferência disponíveis: - \n";} ?> - + 0) + {echo "\n";} + ?> +
          CONTACTOS PESQUISA:             close [X]
    +
          CONTACTOS PESQUISA:             fechar [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Agentes de transferência disponíveis: - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH агент VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Начальник sends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, ПАРКОВКА, FROMПАРКОВКА, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("Вы должны выбрать агента передать при использовании agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Отпарковать"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Запарковать"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Отпарковать"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Запарковать"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Отпарковать"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Запарковать"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Отпарковать"; - if (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Запарковать"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move на to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (ФамилияCallbackCount < CBcounT) || (ФамилияCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - ФамилияCallbackCount = CBcounT; - ФамилияCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (ФамилияCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - ФамилияCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          BUSCA POR UMA LEAD:             close [X]
    +
          BUSCA POR UMA LEAD:             fechar [X]

    \n";} + {echo "

    \n";} ?>

    Notas: ao fazer uma busca por um chumbo, o número de telefone, levar identidade ou são as melhores campos para usar.
    Usando os outros campos pode ser mais lento. Busca de chumbo não permite termos de pesquisa curinga ou parcial.
    Solicitações de pesquisa de chumbo são todos registrados no sistema. @@ -13733,10 +15284,10 @@ Agentes de transferência disponíveis: - + - + - + @@ -13765,7 +15316,7 @@ Agentes de transferência disponíveis: : - +
    Telefone Number: número de telefone:
    Telefone Number Fields: campos de número de telefone: Número de telefone principal Número de telefone alternativo @@ -13744,7 +15295,7 @@ Agentes de transferência disponíveis:
    Lead ID: levar id:
    :

    SUBMETA SEARCH             repor forma

    submeter pesquisa             repor forma


      @@ -13773,34 +15324,34 @@ Agentes de transferência disponíveis: - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          RESULTADOS DA PROCURA:             close [X]
    +
          RESULTADOS DA PROCURA:             fechar [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          Registro de chamadas NOTAS:             close [X]
    + +
          Registro de chamadas NOTAS:             fechar [X]

    \n";} + {echo "

    \n";} ?> -
    Call List Notas
    +
    Call List Notes


      - Info Box Fechar + Info Box Fechar
    - --> @@ -518,7 +519,7 @@ $URLsubmit = $URLarray[0]; --> \n"; @@ -1719,7 +1748,7 @@ echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Informação Do Cliente:             close [X] +
          Informação Do Cliente:             fechar [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Agentes de transferência disponíveis: px" height="px">
    SELECIONE Um CÓDIGO Da PAUSA :

    \n";} + {echo "

    \n";} ?> Pausa Code Selection @@ -13824,7 +15375,7 @@ Agentes de transferência disponíveis: px">
    Selecione um Preset :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Agentes de transferência disponíveis: px" height="px">
    Selecionar um grupo ALIÁS :

    \n";} + {echo "

    \n";} ?> Grupo Alias Selecção @@ -13843,6 +15394,18 @@ Agentes de transferência disponíveis:
    + +
    selecionar uma discagem em grupo :
    +
    \n";} + ?> + discar grupo Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Agentes de transferência disponíveis:
    + +
    outra sessão de agente ao vivo foi aberta usando o seu ID de usuário. ele foi desativado. Clique em OK para continuar a tela do agente.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Agentes de transferência disponíveis: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_pt/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_pt/voicemail_check.php index d517e396..f60a33d4 100644 --- a/agc_2-X/trunk/LANG_www/agc_pt/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_pt/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Inválido Username/Senha: |$user|$pass|\n"; - exit; + echo "Inválido Username/Senha: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Verificação De Voicemail"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Verificação De Voicemail"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "caixa do voicemail $vmail_box é inválido\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_ru/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_ru/active_list_refresh.php index 96d8fb7b..f600fe13 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Неверный Имя агента/Пароль: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Неверный server_ip: |$server_ip| or Неверный session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Неверный session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Отображение списка: "; -if ($ADD==1) {echo "Активные номера";} -if ($ADD==2) {echo "Занятые номера";} -if ($ADD==3) {echo "Внешние линии";} -if ($ADD==4) {echo "Местные номера";} -if ($ADD==5) {echo "Конференции";} -if ($ADD==99999) {echo "ПОМОЩЬ";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Отображение списка: "; + if ($ADD==1) {echo "Активные номера";} + if ($ADD==2) {echo "Занятые номера";} + if ($ADD==3) {echo "Внешние линии";} + if ($ADD==4) {echo "Местные номера";} + if ($ADD==5) {echo "Конференции";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_ru/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_ru/astguiclient.php index 7558176d..43ab3471 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Запись"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Запись"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "АКТИВНЫЕ ЗВОНКИ ДЛЯ ЭТОГО ТЕЛЕФОНА:
    "; + var live_calls_HTML = "АКТИВНЫЕ ЗВОНКИ ДЛЯ ЭТОГО ТЕЛЕФОНА:
    #ЛИНИЯ КЛИЕНТАУДАЛЕННАЯ ЛИНИЯRECORDЗАВЕРШЕНИЕПЕРЕВОДПАРКОВКА
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Записьbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Остановить запись";} else - {live_calls_HTML = live_calls_HTML + "Запись";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "КОНФЕРЕНЦИЯ " + head_conf + "    Зарегистрировано на: " + head_reg + "   " + reglink + "         Войти в конференцию
    Обновить     Запись         Набор DTMF         Позвонить из конференции
    "; + var conf_head_HTML = "КОНФЕРЕНЦИЯ " + head_conf + "    Зарегистрировано на: " + head_reg + "   " + reglink + "         Войти в конференцию
    Обновить     Record         Набор DTMF         Позвонить из конференции
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    #ЛИНИЯ КЛИЕНТАУДАЛЕННАЯ ЛИНИЯRECORDЗАВЕРШЕНИЕПЕРЕВОДPARK
    ЗАВЕРШЕНИЕПЕРЕВОДПАРКОВКА
    ЗАВЕРШЕНИЕПЕРЕВОДPARK
    "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK HANGUP

    + \n"; echo "\n";echo "\n"; echo "
    TRUNK зависание

    Active Trunks Menu
    Hangup Trunk   |   Hijack Trunk   |   diff --git a/agc_2-X/trunk/LANG_www/agc_ru/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_ru/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_ru/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_ru/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_ru/call_log_display.php index 53f58e95..8f7bec23 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Неверный Имя агента/Пароль: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Неверный server_ip: |$server_ip| or Неверный session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Неверный session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Отображение журнала вызовов"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Отображение журнала вызовов"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten неверный или протокол $protocol неверный\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_ru/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_ru/conf_exten_check.php index be2985db..76ab7a2c 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF агент IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Состояние: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_ru/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_ru/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_ru/functions.php b/agc_2-X/trunk/LANG_www/agc_ru/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_ru/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_ru/inbound_popup.php index 48088456..9609bab9 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_ru/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_ru/live_exten_check.php index 869af157..a9661b3a 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Неверный Имя агента/Пароль: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Неверный server_ip: |$server_ip| or Неверный session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Неверный session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Проверка активного номера"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Проверка активного номера"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten неверный или протокол $protocol неверный\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_ru/manager_send.php b/agc_2-X/trunk/LANG_www/agc_ru/manager_send.php index 00b7d561..c85c1c84 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "ПОМОЩЬ";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Вам не разрешено звонить в сессии других агентов $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate команда отправлена Exten $exten Линия $channel на $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='ПАРКОВКАED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='ПАРКОВКА',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='ПАРКОВКА',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='ПАРКОВКА_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRПАРКОВКАED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRПАРКОВКА',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRПАРКОВКА',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context должен быть указан\n"; echo "ext_priority $ext_priority должен быть указан\n"; echo "\nRedirect Action не отправлен\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference на $server_ip, Redirect команда не включена\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Не найдена свободная конференция на $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Не найдена свободная конференция на $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel не активен на $call_server_ip, Redirect команда не включена\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel не активен на $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel не активен на $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel не активен на $server_ip, Redirect команда не включена\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel не активен на $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel не активен на $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect команда не включена\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX команда отправлена Линия $channel на $call_server_ip and \nHungup $extrachannel на $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel на $call_server_ip, Hungup $extrachannel на $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel на $call_server_ip, Hungup $extrachannel на $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel на $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel на $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority должен быть указан\n"; echo "session_id $session_id должен быть указан\n"; echo "\nRedirect Action не отправлен\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference на $server_ip, Redirect команда не включена\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Не найдена свободная конференция на $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Не найдена свободная конференция на $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel не активен на $call_server_ip, Redirect команда не включена\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel не активен на $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel не активен на $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel не активен на $server_ip, Redirect команда не включена\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel не активен на $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel не активен на $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra команда отправлена Линия $channel and \nExtraChannel $extrachannel\n to $exten на $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten на $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten на $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra команда отправлена Линия $channel на $call_server_ip and \nExtraChannel $extrachannel\n to $exten на $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going на in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_ru/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_ru/park_calls_display.php index 1c5274a6..9f0f2b0e 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_ru/phone_only.php b/agc_2-X/trunk/LANG_www/agc_ru/phone_only.php index 5798ed96..6cdf2b52 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the телефон Вход $clientDST = '1'; # set to 1 to check for DST на server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link на the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    телефон web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Табельные часы
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Russian
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" телефон-Only Вход
     
    Ваше имя:
    Ваш пароль:
      \n"; + echo "

    ВЕРСИЯ: $version       СБОРКА: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "телефон web client: Ваш телефон\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Табельные часы
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Russian
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" телефон-Only Вход
     
    Ваш телефон:
    Пароль телефона:
      \n"; + echo "

    ВЕРСИЯ: $version       СБОРКА: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "телефон web client: Ваш телефон\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Табельные часы
    \n";} - echo "\n"; + {echo " Табельные часы
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Russian
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" телефон-Only Вход
     
    Ваш телефон:
    Пароль телефона:
      \n"; - echo "

    ВЕРСИЯ: $version       СБОРКА: $build
    \n"; - echo "
    \n\n"; +echo "
    English Russian
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" телефон-Only Вход
     
    Ваш телефон:
    Пароль телефона:
      \n"; + echo "

    ВЕРСИЯ: $version       СБОРКА: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_ru/timeclock.php b/agc_2-X/trunk/LANG_www/agc_ru/timeclock.php index e643e66b..340a3279 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_ru/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_ru/vdc_db_query.php index ef735952..5834b980 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLeadСостояние"])) {$CallBackLeadСостояние=$_GET["CallBackLeadСостояние"];} - elseif (isset($_POST["CallBackLeadСостояние"])) {$CallBackLeadСостояние=$_POST["CallBackLeadСостояние"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Неверный Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Адрес Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Сервер Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Сервер Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF агент IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF агент IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Начальник Имя:
    \n"; $VDdisplayMESSAGE.= "Начальник Пароль:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC НОМЕР\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC НОМЕР\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC НОМЕР\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST ВЫЗОВ TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST ВЫЗОВ TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP последний NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN последний NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP Последний звонок TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN Последний звонок TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Заметки + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Заметки + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "телефон and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "телефон и почтовый индекс часовой пояс несоответствие! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append в кампании $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # ВЫЗОВOUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # ВЫЗОВOUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings в кампании $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " ВЫЗОВ NOT PLACED\nDNC НОМЕР\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " ВЫЗОВ NOT PLACED\nDNC НОМЕР\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " ВЫЗОВ NOT PLACED\nНОМЕР NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "ЖУРНАЛ НЕ УКАЗАН\n"; echo "uniqueid $uniqueid or lead_id: $lead_id неверный\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Заметки + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Заметки + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Кампания $campaign неверный\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups на vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row на selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send на to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user на $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Кампания $campaign неверный or lead_id $lead_id неверный\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Заметки + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Заметки + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send на to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user на $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-в кампании as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Заметки Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Эл.почта feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLeadСостояние) > 0) {$log_dispo_choice = $CallBackLeadСостояние;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### ВЫЗОВBACK ENTRY + ### Обратный звонок ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadСостояние');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Примечания Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Примечания Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' был изменен на ' . $dispo_choice . " Состояние\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' был изменен на ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserОРДЕР[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserОРДЕР[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserОРДЕР); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserОРДЕР[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -ОЖИДАНИЕ      -ВЫЗОВ      -ПАУЗА  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Для этой кампании просмотр вызовов в очереди запрещен\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info на the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "Выбрать       "; + echo " близко "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     телефон     полное имя     ждать     агент           ВЫЗОВ GROUP     TYPE     называют группу     тип  
    TAKE ВЫЗОВ  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "Ошибка: Вы должны войти в поисках слагаемых, одно из них должно быть заполнено: свинец ID, Код п., номер телефона, фамилию\n"; echo "

    "; echo "Вернуться"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     дата\/время     длина     СОСТОЯНИЕ     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     телефон     полное имя     кампания     в и     заместитель     зависание     информация     ВЫЗОВ  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL  информация ВЫЗОВ ВЫЗОВ
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Ошибка: была проблема с условия поиска\n"; echo "

    "; echo "Вернуться"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "Ошибка: Вы должны войти в поисках слагаемых, одно из них должно быть заполнено: рабочий телефон, фамилию, имя, отчество\n"; echo "

    "; echo "Вернуться"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Ошибка: была проблема с условия поиска\n"; echo "

    "; echo "Вернуться"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no привести ID";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Должность'; + $label_title = ' Должность'; $label_first_name = 'Имя'; $label_middle_initial = 'MI'; - $label_last_name = 'Фамилия'; + $label_last_name = 'Фамилия '; $label_address1 = 'Адрес1'; $label_address2 = 'Адрес2'; $label_address3 = 'Адрес3'; $label_city = 'Город'; - $label_state = 'Штат'; + $label_state = ' Штат'; $label_province = 'Область'; $label_postal_code = 'Почт.индекс'; $label_vendor_lead_code = 'Код п.'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'телефон'; $label_phone_code = 'Префикс'; $label_alt_phone = 'Доп. телефон'; $label_security_phrase = 'Показать'; - $label_email = 'Эл.почта'; - $label_comments = 'Заметки'; + $label_email = ' Эл.почта'; + $label_comments = ' Заметки'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "телефон and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "телефон и почтовый индекс часовой пояс несоответствие! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     полное имя     телефон     СОСТОЯНИЕ     LAST ВЫЗОВ     CITY     STATE     ZIP     INFO     Последний звонок     город     государство     застежка-молния     информация     ВЫЗОВ  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL  информация ВЫЗОВ ВЫЗОВ выберите
      #     FIRST NAME     LAST NAME     последний NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Расположение: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Вызван Since Фамилия Reset:   $row[4]
    часовой пояс:   $row[3]
    называется с момента последнего сброса:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " ВЫЗОВ ";} + else + {$INFOout .= " ВЫЗОВ ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    набрать ссылку:   ВЫЗОВ ";} + else + {$INFOout .= "
    набрать ссылку:   ВЫЗОВ ";} } $INFOout .= "
    выберите этот провод
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " ВЫЗОВ ";} + else + {$INFOout .= " ВЫЗОВ ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Вызван Count:   $row[24]
    Фамилия Local Call Time:   $row[25]
    количество вызовов:   $row[24]
    Последний вызов местному времени:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Эл.почта log + if ($allow_emails>0) + { + $NOTESout .= "
    Электронная почта Вход У объявления:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     дата\/время     агент     длина     СОСТОЯНИЕ     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     телефон     кампания     в и     заместитель     зависание  
      FULL NAME     полное имя  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   дата\/время   агент   кампания   по электронной почте к   вложения
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Эл.почта Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Для этой кампании просмотр вызовов в очереди запрещен\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "неизвестный код причины зависания."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_ru/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_ru/vdc_email_display.php new file mode 100644 index 00000000..4e2bbed2 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_ru/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Неверный Имя агента/Пароль: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Неверный File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" на the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    вложения:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    вложения:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_ru/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_ru/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_notes.php index 4c802e14..34a4d2f1 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Должность'; +$label_title = 'Title'; $label_first_name = 'Имя'; $label_middle_initial = 'MI'; -$label_last_name = 'Фамилия'; +$label_last_name = 'Last'; $label_address1 = 'Адрес1'; $label_address2 = 'Адрес2'; $label_address3 = 'Адрес3'; $label_city = 'Город'; -$label_state = 'Штат'; +$label_state = 'State'; $label_province = 'Область'; $label_postal_code = 'Почт.индекс'; $label_vendor_lead_code = 'Код п.'; @@ -264,8 +265,8 @@ $label_phone_number = 'телефон'; $label_phone_code = 'Префикс'; $label_alt_phone = 'Доп. телефон'; $label_security_phrase = 'Показать'; -$label_email = 'Эл.почта'; -$label_comments = 'Заметки'; +$label_email = 'Email'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Примечания"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *Доп. телефон: *
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // телефон OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Кампания: $camp_form_code
      \n"; + echo "
      \n"; echo "

    ВЕРСИЯ: $version       СБОРКА: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Пароль телефона:

    ВЕРСИЯ: $version       СБОРКА: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END телефон Вход load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a НОВЫЙ record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today на that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Пароль:
    \n"; echo "Кампания: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Январь','February','Март','Апрель','Май','Июнь', +$Cmonths = Array('0','Январь','February','Март','Апрель','Май','Июнь', 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLeadСостояние = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var ФамилияCallCID=''; - var ФамилияCallbackCount=0; - var ФамилияCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Работа\""; var DiaLControl_auto_HTML_ready = "\"\"Работа\""; var DiaLControl_auto_HTML_OFF = "\"\"Работа\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "уведомлении о"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "оповещение выключено"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'ПАРКОВКА_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'ПАРКОВКА_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'ПАРКОВКА_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'ПАРКОВКА_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'ПАРКОВКА_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'ПАРКОВКА_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'ПАРКОВКА_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'ПАРКОВКА_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'ПАРКОВКА_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'ПАРКОВКА_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'ПАРКОВКА_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("AgentСостояниеСостояние").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("AgentСостояниеCalls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("AgentСостояниеDiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,7 +4498,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("Состояние: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'ПАРКОВКА_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'ПАРКОВКА_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'ПАРКОВКА_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLeadСостояние = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbCOMMENTS; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadСостояние + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "записи
    px\">\">" + var CB_HTML = "
    # ВЫЗОВBACK DATE/TIMEНОМЕРINFONAME СОСТОЯНИЕCAMPAIGNLAST ДАТА И ВРЕМЯ ЗВОНКА ВЫЗОВ ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - ФамилияCallbackViewed=1; - ФамилияCallbackCount = (ФамилияCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Псевдоним группы: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Кликните здесь для выбора псевдонима группы"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "набрать в группу: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "Нажмите здесь, чтобы выбрать кино-группы"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Нажмите здесь для активации"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while на inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Заметки (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Заметки + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Обратный звонок "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Последний вызов:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Обратный вызов:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Агент:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Заметки:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"БЫСТРЫЙ"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"БЫСТРЫЙ"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Веб-форма\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Веб-форма\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     нажмите здесь, чтобы отключить"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Нажмите здесь для активации"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Вызван: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Запарковать"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Время дозвона истекло, свяжитесь со своим системным администратором\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Набрать"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Запарковать"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Позвонить"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Позвонить"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - ФамилияCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("БУФЕР ПУСТ","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("В буфере больше нет номеров для кампании:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Этого телефонного номера нет в списках кампании:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Этот телефон находится вне местному времени вызова:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Неизвестная ошибка:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Позвонить"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Работа\"
    \"Позвонить"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("БУФЕР ПУСТ","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("В буфере больше нет номеров для кампании:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Этого телефонного номера нет в списках кампании:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Этот телефон находится вне местному времени вызова:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Неизвестная ошибка:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Позвонить"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Вызываю: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Веб-форма\"\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Веб-форма\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS ВЫЗОВBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Последний вызов:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Обратный вызов:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Агент:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Заметки:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Завершить"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Работа\"
    \"Позвонить"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Заметки (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Заметки + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Вызываю: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Веб-форма\"\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Веб-форма\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Обратный звонок "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Последний вызов:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Обратный вызов:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Агент:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Заметки:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Завершить"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,7 +7755,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: заместитель ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: АДРЕС3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + ФамилияCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - ФамилияCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " ВЫЗОВ NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - ФамилияCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Заметки (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Заметки + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS ВЫЗОВBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Обратный звонок "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Последний вызов:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Обратный вызов:" + CBcallback_time; @@ -7677,7 +8444,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: заместитель ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: АДРЕС3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Запарковать"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Входящие: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add на all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS ВЫЗОВ PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Входящие: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS Обратный звонок "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Последний вызов:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Обратный вызов:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Агент:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Заметки:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: заместитель ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: АДРЕС3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " ДОПОЛНИТЕЛЬНЫЙ НОМЕР: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Код набора и номер: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Сделать этот номер НЕ АКТИВНЫМ";} + else + {EAactive_link = "Сделать этот номер АКТИВНЫМ";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Активный:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Доп. счетчик:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Примечания:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Входящие: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Запарковать"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Завершить"; + + document.getElementById("XferControl").innerHTML = "\"Перевод"; + + document.getElementById("LocalCloser").innerHTML = "\"МЕСТНОЕ"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Перевести"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"БЫСТРЫЙ"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"БЫСТРЫЙ"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Пользовательские"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Работа\"
    \"Позвонить"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Веб-форма\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Веб-форма\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Входящие: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Веб-форма"; } document.getElementById("ParkControl").innerHTML = "\"Запарковать"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallПримечанияContent").innerHTML = "
    Вызовите Примечания:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Вызовите Примечания:
    "; } else { - document.getElementById("PerCallПримечанияContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("ВЫ ДОЛЖНЫ быть приостановлена ​​Для поиска LEAD"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("ВЫ ДОЛЖНЫ быть приостановлена ​​Для поиска LEAD"); + alert_box("вы должны быть на активное входящего вызова для поиска свинца"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the набрать в группу Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # Обратный звонок дата\/время НОМЕР  информация полное имя СОСТОЯНИЕ кампания  последний ДАТА И ВРЕМЯ ЗВОНКА ВЫЗОВ заместитель
    набрать в группу
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Вернуться"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadСостояние=" + CallBackLeadСостояние + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLeadСостояние = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error на this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " уменьшить "; document.getElementById("DispoSelectHAspan").innerHTML = "Снова завершить вызов"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "Следующая пауза вызова"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + ФамилияCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - ФамилияCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the набрать в группу + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "набрать в группу: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they близко their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Ваша смена закончилась или изменена, Вы были выведены из своей сессии

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or близко the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or близко the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or близко the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("ВЫ ДОЛЖНЫ быть приостановлена ​​Для поиска LEAD"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Обновить the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLПримечанияDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Обновить the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause на the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "Следующая пауза вызова Set"; + } + + // ################################################################################ // Показать the groups selection span function OpeNGrouPSelectioN() @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLeadСостояние = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLeadСостояние = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "набрать Уведомления:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('ЗдравствуйтеBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLПримечанияDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,17 +13259,19 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallПримечанияButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('AgentСостояниеCalls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('AgentСостояниеSpan');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Руководство Очередь Off
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ПАРКОВКА_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentViewСостояние',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY зависание " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "ГРУППЫ     \n";} ?> ВЫХОД\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    код сессии:     Активный звонок
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; ПРЕДПРОСМОСТР СВЕДЕНИЙ О НОМЕРЕ
    НАБОР ДОП.НОМЕРА
    + Следующая пауза вызова
    + + Начать запись

    Веб-форма
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Запарковать вызов
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Сведения о клиенте:         ВЕСТИ ПОИСК";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Вызовите Примечания: "; if ($agent_call_log_view == '1') - {echo "
    просмотра заметок ";} + {echo "
    просмотра заметок ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "уведомлении о";} else - {echo "Alert is OFF";} + {echo "оповещение выключено";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -КЛАВИШИ КОДОВ ВЫКЛЮЧЕНЫ - - секунд:     @@ -13130,8 +14648,8 @@ $zi=2;
    - -Ваше состояние:
    Calls Dialing: + +Ваше состояние:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -Состояние других агентов:  
     
    +Состояние других агентов:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +восстановить форму + + + +refresh @@ -13374,6 +14904,23 @@ if ($agent_display_dialable_leads > 0)
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +КЛАВИШИ КОДОВ ВЫКЛЮЧЕНЫ + + + + + px height='px'> + + + + + + +
    Доска комментариев истории:
    +
    + @@ -13447,7 +14994,7 @@ if ($agent_display_dialable_leads > 0) -
    Ваша сессия отключена
    ВЫХОД

    Вернуться +
    Ваша сессия отключена
    ВЫХОД

    @@ -13476,18 +15023,18 @@ if ($agent_display_dialable_leads > 0)
    ЗАВЕРШИТЬ ВЫЗОВ :       Снова завершить вызов       уменьшить

    \n";} + {echo "

    \n";} ?> - + Выбор кода завершения по окончании вызова
    ПРИОСТАНОВИТЬ ДОЗВОН АГЕНТА
    ОЧИСТИТЬ ФОРМУ | ВВОД

    - WEB FORM ВВОД + веб-страницы отправки формы

     
    @@ -13496,7 +15043,7 @@ if ($agent_display_dialable_leads > 0) "; $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $print_ctp++; } + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + } else { @@ -1477,7 +1498,7 @@ if (ereg('O',$with_inbound)) { $multi_drop++; - $stmt="select agent_pause_codes_active from vicidial_campaigns $group_SQLwhere;"; + $stmt="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' $group_SQLand;"; $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; @@ -1614,6 +1635,8 @@ else $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where active='Y' $group_SQLand;"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where calls_today > -1 $non_inboundSQL;"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' $group_SQLand;"; } else { @@ -1627,12 +1650,16 @@ else $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active,list_order_mix,auto_hopper_level from vicidial_campaigns where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN ($group_SQL,$closer_campaignsSQL);"; } else { $stmt="select avg(auto_dial_level),max(dial_status_a),max(dial_status_b),max(dial_status_c),max(dial_status_d),max(dial_status_e),max(lead_order),max(lead_filter_id),max(hopper_level),max(dial_method),max(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),max(available_only_ratio_tally),max(adaptive_latest_server_time),max(local_call_time),max(dial_timeout),max(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where campaign_id IN($group_SQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN($group_SQL);"; } } if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} @@ -1658,10 +1685,12 @@ else $CALLtime = $row[16]; $DIALtimeout = $row[17]; $DIALstatuses = $row[18]; - $agent_pause_codes_active = $row[19]; $DIALmix = $row[20]; $AHOPlev = $row[21]; + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; $stmt="select count(*) from vicidial_hopper $group_SQLwhere;"; $rslt=mysql_query($stmt, $link); @@ -2143,6 +2172,7 @@ while($p<$k) if ($CDcall_type[$p] == 'IN') { $G=""; $EG=''; + $Ccampaign_id="$Ccampaign_id"; } if (strlen($CDagent_only[$p]) > 0) {$Gcalltypedisplay = "$G$Cagent_only$EG";} @@ -2257,7 +2287,7 @@ $HTpause = ''; $HDigcall = "------+------------------"; $HTigcall = " HOLD | IN-GROUP "; -if (!ereg("N",$agent_pause_codes_active)) +if ($agent_pause_codes_active > 0) { $HDstatus = "----------"; $HTstatus = " STATUS "; @@ -2331,8 +2361,10 @@ else if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} } -if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} +if ( !preg_match("/ALL-/",$LOGallowed_campaigns) ) {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} +else if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} else {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} + if (strlen($usergroup)<1) {$usergroupSQL = '';} else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} @@ -2560,7 +2592,7 @@ $talking_to_print = mysql_num_rows($rslt); $comments= $Acomments[$i]; $calls_today = sprintf("%-5s", $Acalls_today[$i]); - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) {$pausecode=' ';} else {$pausecode='';} @@ -2580,7 +2612,7 @@ $talking_to_print = mysql_num_rows($rslt); } else { - if (!ereg("$Acallerid[$i]\|",$callerids)) + if (!ereg("$Acallerid[$i]\|",$callerids) && !eregi("EMAIL",$comments)) { $Acall_time[$i]=$Astate_change[$i]; @@ -2596,6 +2628,8 @@ $talking_to_print = mysql_num_rows($rslt); { if (eregi("INBOUND",$comments)) {$CM='I';} + else if (eregi("EMAIL",$comments)) + {$CM='E';} else {$CM='M';} } @@ -2676,7 +2710,7 @@ $talking_to_print = mysql_num_rows($rslt); } if ($Lstatus=='PAUSED') { - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) { $twentyfour_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-24,date("i"),date("s"),date("m"),date("d"),date("Y"))); $stmtC="select sub_status from vicidial_agent_log where agent_log_id >= \"$Aagent_log_id[$i]\" and user='$Luser' order by agent_log_id desc limit 1;"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/admin.php b/agc_2-X/trunk/LANG_www/vicidial_de/admin.php index 170e5671..c1782de1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/admin.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/admin.php @@ -1,9 +1,11 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,6 +72,8 @@ $reports_font = 'BLACK'; $cts_font = 'BLACK'; $subcamp_font = 'BLACK'; +### QC font and color variables +require_once('qc/QC_admin_variables.php'); ### comment this section out for colorful section headings $users_color = '#E6E6E6'; $campaigns_color = '#E6E6E6'; @@ -105,9 +109,9 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $QUERY_STRING = getenv("QUERY_STRING"); -$Vreports = 'NONE, Real-Time Main Report, Real-Time Kampagne Summary , Inbound Report, Inbound Service Level Report, Inbound Zusammenfassung Stunden-Report, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listen Kampagne Status Report, Kampagne Status List Report, Export fordert Bericht, Export Leads Bericht , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Single Agent Daily , UserTimeclock Report, Benutzer-GruppeTimeclock Status Report, UserTimeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User-Statistiken, User Time Sheet, Download List, Dialer Inventory Report, Maximum System Stats, Maximum Stats Detail, Search Leads Logs'; +$Vreports = 'NONE, Real-Time Main Report, Real-Time Kampagne Summary , Inbound Report, Inbound Service Level Report, Inbound Zusammenfassung Stunden-Report, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listen Kampagne Status Report, Kampagne Status List Report, Export fordert Bericht, Export Leads Bericht , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Single Agent Daily, Benutzer-Gruppe Login Report, UserTimeclock Report, Benutzer-GruppeTimeclock Status Report, UserTimeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User-Statistiken, User Time Sheet, Download List, Dialer Inventory Report, Maximum System Stats, Maximum Stats Detail, Search Leads Logs, Email Log Report, Carrier-Log Report, Kampagne Debug, Hangup Cause Report'; -$UGreports = 'ALL REPORTS, NONE, Real-Time Main Report, Real-Time Kampagne Summary , Inbound Report, Inbound Service Level Report, Inbound Zusammenfassung Stunden-Report, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listen Kampagne Status Report, Kampagne Status List Report, Export fordert Bericht , Export Leads Bericht , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Single Agent Daily , UserTimeclock Report, Benutzer-GruppeTimeclock Status Report, UserTimeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User-Statistiken, User Time Sheet, Download List, Dialer Inventory Report, Custom Berichte Links, CallCard Search, Maximum System Stats, Maximum Stats Detail, Search Leads Logs'; +$UGreports = 'ALL REPORTS, NONE, Real-Time Main Report, Real-Time Kampagne Summary , Inbound Report, Inbound Service Level Report, Inbound Zusammenfassung Stunden-Report, Inbound Daily Report, Inbound DID Report, Inbound Email Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listen Kampagne Status Report, Kampagne Status List Report, Export fordert Bericht , Export Leads Bericht , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Single Agent Daily, Benutzer-Gruppe Login Report, UserTimeclock Report, Benutzer-GruppeTimeclock Status Report, UserTimeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User-Statistiken, User Time Sheet, Download List, Dialer Inventory Report, Custom Berichte Links, CallCard Search, Maximum System Stats, Maximum Stats Detail, Search Leads Logs, Email Log Report'; $Vtables = 'NONE,log_noanswer,did_agent_log,contact_information'; @@ -1540,6 +1544,8 @@ if (isset($_GET["auto_resume_precall"])) {$auto_resume_precall=$_GET["auto_res elseif (isset($_POST["auto_resume_precall"])) {$auto_resume_precall=$_POST["auto_resume_precall"];} if (isset($_GET["auto_pause_precall_code"])) {$auto_pause_precall_code=$_GET["auto_pause_precall_code"];} elseif (isset($_POST["auto_pause_precall_code"])) {$auto_pause_precall_code=$_POST["auto_pause_precall_code"];} +if (isset($_GET["audit_comments"])) {$audit_comments=$_GET["audit_comments"];} + elseif (isset($_POST["audit_comments"])) {$audit_comments=$_POST["audit_comments"];} if (isset($_GET["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_GET["reload_dialplan_on_servers"];} elseif (isset($_POST["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_POST["reload_dialplan_on_servers"];} if (isset($_GET["manual_dial_cid"])) {$manual_dial_cid=$_GET["manual_dial_cid"];} @@ -1724,11 +1730,78 @@ if (isset($_GET["territory_reset"])) {$territory_reset=$_GET["territory_reset" elseif (isset($_POST["territory_reset"])) {$territory_reset=$_POST["territory_reset"];} if (isset($_GET["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_GET["hopper_vlc_dup_check"];} elseif (isset($_POST["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_POST["hopper_vlc_dup_check"];} +if (isset($_GET["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_GET["download_max_system_stats_metric"];} + elseif (isset($_POST["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_POST["download_max_system_stats_metric"];} +if (isset($_GET["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_GET["download_max_system_stats_metric_name"];} + elseif (isset($_POST["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_POST["download_max_system_stats_metric_name"];} if (isset($_GET["inventory_report"])) {$inventory_report=$_GET["inventory_report"];} elseif (isset($_POST["inventory_report"])) {$inventory_report=$_POST["inventory_report"];} if (isset($_GET["report_rank"])) {$report_rank=$_GET["report_rank"];} elseif (isset($_POST["report_rank"])) {$report_rank=$_POST["report_rank"];} - +if (isset($_GET["in_group_dial"])) {$in_group_dial=$_GET["in_group_dial"];} + elseif (isset($_POST["in_group_dial"])) {$in_group_dial=$_POST["in_group_dial"];} +if (isset($_GET["in_group_dial_select"])) {$in_group_dial_select=$_GET["in_group_dial_select"];} + elseif (isset($_POST["in_group_dial_select"])) {$in_group_dial_select=$_POST["in_group_dial_select"];} +if (isset($_GET["dial_ingroup_cid"])) {$dial_ingroup_cid=$_GET["dial_ingroup_cid"];} + elseif (isset($_POST["dial_ingroup_cid"])) {$dial_ingroup_cid=$_POST["dial_ingroup_cid"];} +if (isset($_GET["allow_emails"])) {$allow_emails=$_GET["allow_emails"];} + elseif (isset($_POST["allow_emails"])) {$allow_emails=$_POST["allow_emails"];} +if (isset($_GET["group_handling"])) {$group_handling=$_GET["group_handling"];} + elseif (isset($_POST["group_handling"])) {$group_handling=$_POST["group_handling"];} +if (isset($_GET["agentcall_email"])) {$agentcall_email=$_GET["agentcall_email"];} + elseif (isset($_POST["agentcall_email"])) {$agentcall_email=$_POST["agentcall_email"];} +if (isset($_GET["modify_email_accounts"])) {$modify_email_accounts=$_GET["modify_email_accounts"];} + elseif (isset($_POST["modify_email_accounts"])) {$modify_email_accounts=$_POST["modify_email_accounts"];} +if (isset($_GET["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_GET["safe_harbor_audio_field"];} + elseif (isset($_POST["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_POST["safe_harbor_audio_field"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_GET["call_menu_qualify_enabled"];} + elseif (isset($_POST["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_POST["call_menu_qualify_enabled"];} +if (isset($_GET["qualify_sql"])) {$qualify_sql=$_GET["qualify_sql"];} + elseif (isset($_POST["qualify_sql"])) {$qualify_sql=$_POST["qualify_sql"];} +if (isset($_GET["admin_list_counts"])) {$admin_list_counts=$_GET["admin_list_counts"];} + elseif (isset($_POST["admin_list_counts"])) {$admin_list_counts=$_POST["admin_list_counts"];} +if (isset($_GET["voicemail_greeting"])) {$voicemail_greeting=$_GET["voicemail_greeting"];} + elseif (isset($_POST["voicemail_greeting"])) {$voicemail_greeting=$_POST["voicemail_greeting"];} +if (isset($_GET["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_GET["allow_voicemail_greeting"];} + elseif (isset($_POST["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_POST["allow_voicemail_greeting"];} +if (isset($_GET["pause_after_next_call"])) {$pause_after_next_call=$_GET["pause_after_next_call"];} + elseif (isset($_POST["pause_after_next_call"])) {$pause_after_next_call=$_POST["pause_after_next_call"];} +if (isset($_GET["owner_populate"])) {$owner_populate=$_GET["owner_populate"];} + elseif (isset($_POST["owner_populate"])) {$owner_populate=$_POST["owner_populate"];} +if (isset($_GET["queuemetrics_socket"])) {$queuemetrics_socket=$_GET["queuemetrics_socket"];} + elseif (isset($_POST["queuemetrics_socket"])) {$queuemetrics_socket=$_POST["queuemetrics_socket"];} +if (isset($_GET["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_GET["queuemetrics_socket_url"];} + elseif (isset($_POST["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_POST["queuemetrics_socket_url"];} +if (isset($_GET["holiday_id"])) {$holiday_id=$_GET["holiday_id"];} + elseif (isset($_POST["holiday_id"])) {$holiday_id=$_POST["holiday_id"];} +if (isset($_GET["holiday_name"])) {$holiday_name=$_GET["holiday_name"];} + elseif (isset($_POST["holiday_name"])) {$holiday_name=$_POST["holiday_name"];} +if (isset($_GET["holiday_comments"])) {$holiday_comments=$_GET["holiday_comments"];} + elseif (isset($_POST["holiday_comments"])) {$holiday_comments=$_POST["holiday_comments"];} +if (isset($_GET["holiday_date"])) {$holiday_date=$_GET["holiday_date"];} + elseif (isset($_POST["holiday_date"])) {$holiday_date=$_POST["holiday_date"];} +if (isset($_GET["holiday_status"])) {$holiday_status=$_GET["holiday_status"];} + elseif (isset($_POST["holiday_status"])) {$holiday_status=$_POST["holiday_status"];} +if (isset($_GET["holiday_rule"])) {$holiday_rule=$_GET["holiday_rule"];} + elseif (isset($_POST["holiday_rule"])) {$holiday_rule=$_POST["holiday_rule"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_GET["use_other_campaign_dnc"];} + elseif (isset($_POST["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_POST["use_other_campaign_dnc"];} +if (isset($_GET["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_GET["enhanced_disconnect_logging"];} + elseif (isset($_POST["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_POST["enhanced_disconnect_logging"];} +if (isset($_GET["amd_inbound_group"])) {$amd_inbound_group=$_GET["amd_inbound_group"];} + elseif (isset($_POST["amd_inbound_group"])) {$amd_inbound_group=$_POST["amd_inbound_group"];} +if (isset($_GET["amd_callmenu"])) {$amd_callmenu=$_GET["amd_callmenu"];} + elseif (isset($_POST["amd_callmenu"])) {$amd_callmenu=$_POST["amd_callmenu"];} +if (isset($_GET["level_8_disable_add"])) {$level_8_disable_add=$_GET["level_8_disable_add"];} + elseif (isset($_POST["level_8_disable_add"])) {$level_8_disable_add=$_POST["level_8_disable_add"];} +if (isset($_GET["survey_wait_sec"])) {$survey_wait_sec=$_GET["survey_wait_sec"];} + elseif (isset($_POST["survey_wait_sec"])) {$survey_wait_sec=$_POST["survey_wait_sec"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1740,9 +1813,61 @@ if (strlen($dial_status) > 0) $status = $dial_status; } +if ($download_max_system_stats_metric_name) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + $CSV_text=""; + + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total call count in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls','total call count in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total inbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_inbound_all','total inbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total outbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_outbound_all','total outbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','(max_inbound + max_outbound)','most concurrent calls in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls inbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_inbound','most concurrent calls inbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls outbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_outbound','most concurrent calls outbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent agents") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_agents','most concurrent agents',$end_date); + } + + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "MAX_SYSTEM_STATS_$US$FILE_TIME.csv"; + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + header('Content-type: application/octet-stream'); + + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text"; + + exit; +} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -1780,6 +1905,12 @@ if ($qm_conf_ct > 0) $SSalt_log_login = $row[28]; $SSalt_log_pass = $row[29]; $SStables_use_alt_log_db = $row[30]; + $SScall_menu_qualify_enabled = $row[31]; + $SSadmin_list_counts = $row[32]; + $SSallow_voicemail_greeting = $row[33]; + $SSsvn_revision = $row[34]; + $SSallow_emails = $row[35]; + $SSlevel_8_disable_add = $row[36]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2015,6 +2146,13 @@ if ($non_latin < 1) $admin_hide_lead_data = ereg_replace("[^0-9]","",$admin_hide_lead_data); $max_calls_count = ereg_replace("[^0-9]","",$max_calls_count); $report_rank = ereg_replace("[^0-9]","",$report_rank); + $dial_ingroup_cid = ereg_replace("[^0-9]","",$dial_ingroup_cid); + $call_menu_qualify_enabled = ereg_replace("[^0-9]","",$call_menu_qualify_enabled); + $admin_list_counts = ereg_replace("[^0-9]","",$admin_list_counts); + $allow_voicemail_greeting = ereg_replace("[^0-9]","",$allow_voicemail_greeting); + $enhanced_disconnect_logging = ereg_replace("[^0-9]","",$enhanced_disconnect_logging); + $level_8_disable_add = ereg_replace("[^0-9]","",$level_8_disable_add); + $survey_wait_sec = ereg_replace("[^0-9]","",$survey_wait_sec); $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); @@ -2030,9 +2168,6 @@ if ($non_latin < 1) $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); $queue_priority = ereg_replace("[^-0-9]","",$queue_priority); - ### DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); - ### Y or N ONLY ### $allow_closers = ereg_replace("[^NY]","",$allow_closers); $reset_hopper = ereg_replace("[^NY]","",$reset_hopper); @@ -2084,7 +2219,7 @@ if ($non_latin < 1) $delete_vm_after_email = ereg_replace("[^NY]","",$delete_vm_after_email); $crm_popup_login = ereg_replace("[^NY]","",$crm_popup_login); $ignore_list_script_override = ereg_replace("[^NY]","",$ignore_list_script_override); - $is_webphone = ereg_replace("[^NY]","",$is_webphone); + $is_webphone = ereg_replace("[^-_0-9a-zA-Z]","",$is_webphone); $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); @@ -2179,6 +2314,9 @@ if ($non_latin < 1) $use_custom_cid = ereg_replace("[^0-9a-zA-Z]","",$use_custom_cid); $action_xfer_cid = ereg_replace("[^0-9a-zA-Z]","",$action_xfer_cid); $callback_list_calltime = ereg_replace("[^0-9a-zA-Z]","",$callback_list_calltime); + $pause_after_next_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_next_call); + $owner_populate = ereg_replace("[^0-9a-zA-Z]","",$owner_populate); + $use_other_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_other_campaign_dnc); ### DIGITS and Dots $server_ip = ereg_replace("[^\.0-9]","",$server_ip); @@ -2257,6 +2395,7 @@ if ($non_latin < 1) $server_id = ereg_replace("[^-_0-9a-zA-Z]","",$server_id); $stage = ereg_replace("[^-_0-9a-zA-Z]","",$stage); $state_rule = ereg_replace("[^-_0-9a-zA-Z]","",$state_rule); + $holiday_rule = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_rule); $trunk_restriction = ereg_replace("[^-_0-9a-zA-Z]","",$trunk_restriction); $user = ereg_replace("[^-_0-9a-zA-Z]","",$user); $user_group = ereg_replace("[^-_0-9a-zA-Z]","",$user_group); @@ -2403,9 +2542,17 @@ if ($non_latin < 1) $admin_hide_phone_data = ereg_replace("[^-_0-9a-zA-Z]","",$admin_hide_phone_data); $max_calls_method = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_method); $max_calls_action = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_action); + $in_group_dial = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial); + $in_group_dial_select = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial_select); + $queuemetrics_socket = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_socket); + $holiday_id = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_id); + $holiday_date = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_date); + $holiday_status = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_status); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $amd_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$amd_inbound_group); + $amd_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$amd_callmenu); ### ALPHA-NUMERIC and underscore and dash and slash and dot - $menu_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_prompt); $menu_timeout_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_timeout_prompt); $menu_invalid_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_invalid_prompt); $after_hours_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$after_hours_message_filename); @@ -2444,6 +2591,11 @@ if ($non_latin < 1) $survey_ni_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_ni_audio_file); $survey_third_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_third_audio_file); $survey_fourth_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_fourth_audio_file); + $safe_harbor_audio_field = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio_field); + $voicemail_greeting = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$voicemail_greeting); + + ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma + $menu_prompt = ereg_replace("[^-\/\|\,\._0-9a-zA-Z]","",$menu_prompt); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -2461,7 +2613,7 @@ if ($non_latin < 1) $group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); ### ALPHA-NUMERIC and hash and star and dot and underscore $hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); - $did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); + $did_pattern = ereg_replace("[^\+\*\#\.\_0-9a-zA-Z]","",$did_pattern); $voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); $phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); $phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); @@ -2555,6 +2707,8 @@ if ($non_latin < 1) $group = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group); $job_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$job_title); $location = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$location); + $holiday_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_name); + $holiday_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_comments); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); @@ -2635,6 +2789,14 @@ if ($non_latin < 1) $modify_url = ereg_replace(";","",$modify_url); $modify_url = ereg_replace("\r","",$modify_url); $modify_url = ereg_replace("\"","",$modify_url); + $qualify_sql = ereg_replace("\\\\","",$qualify_sql); + $qualify_sql = ereg_replace(";","",$qualify_sql); + $qualify_sql = ereg_replace("\r","",$qualify_sql); + $qualify_sql = ereg_replace("'",'"',$qualify_sql); + $queuemetrics_socket_url = ereg_replace("\\\\","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace(";","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("\r","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("'",'"',$queuemetrics_socket_url); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address # $queuemetrics_url @@ -3046,16 +3208,53 @@ else # 120316-1203 - Fixed DIALBLE counts for completed statuses # 120402-2111 - Added lead loading template and two carrier log reports to the admin utils page # 120409-1136 - Added Search Leads Logs as slave db option +# 120420-1620 - Forked 2.4 to branches, changing trunk to 2.6 +# 120512-0844 - Added In-Group Manual Dial options to campaign screen +# 120514-0936 - Added Dial In-group CID override setting +# 120518-1456 - Added XFTAMM/LTMG special hotkeys for send to answering machine message +# 120526-0827 - Added User Group User Login Report +# 120529-2112 - Added safe_harbor_audio_field campaign option +# 120706-1255 - Added Max stats date range and call menu qualify_sql options +# 120713-2123 - Added max stats download link and extended_vl option +# 120810-1018 - Added Admin List Counts system settings option +# 120820-1104 - Added is_webphone option Y_API_LAUNCH +# 120831-1523 - Added vicidial_dial_log outbound call logging +# 121018-2321 - Added blank option to owner only dialing +# 121019-0520 - Added voicemail greeting audio chooser options to phones and voicemail boxes +# 121025-2339 - Added without-filter output to test filter function, added server option to test call +# 121027-2344 - Added servers versions page +# 121029-0109 - Added pause_after_next_call and owner_populate campaign options +# 121114-1923 - Added Basic Lead Management page link. Added INGROUP as a recording filename option +# 121116-1410 - Added QC functionality +# 121120-0824 - Added queuemetrics_socket functionality to system settings +# 121123-1208 - Added inbound holiday functions +# 121124-1957 - Added List Expiration Date feature and Campaign Other-DNC-List feature +# 121129-2319 - Added enhanced_disconnect_logging option +# 121130-1425 - Fixed user group permissions issue with allowed campaigns modifications of user groups +# 121205-1619 - Added parentheses around filter SQL when in SQL queries +# 121206-0630 - Added inbound lead search feature +# 121212-1529 - Standardization of list_id fields at 19 digits in forms +# 121222-2146 - Added new email features +# 130102-1135 - Small change to admin log viewing for email accounts +# 130124-1721 - Added Inbound Email report link, added Status Display LEADID options(issue #639) +# 130130-1207 - Added new CPD AMD options for In-Groups and CallMenus +# 130221-1736 - Added Level 8 Disable Add option to system settings and new Email Log Report link, DID exten made non-editable +# 130402-2322 - Added user_group script variable +# 130414-1924 - Added report logging and display +# 130424-1601 - Added survey_wait_sec campaign survey option +# 130425-0700 - Added DROP option for survey_no_response_action to go to campaign drop method +# 130503-1509 - Added red color to server table on reports page if asterisk out of sync # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.4-364a'; -$build = '120409-1136'; +$admin_version = '2.6-400a'; +$build = '130503-1509'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); $REPORTdate = date("Y-m-d"); +$EXPtestdate = date("Ymd"); $CIDdate = date("mdHis"); while (strlen($CIDdate) > 9) {$CIDdate = substr("$CIDdate", 1);} @@ -3067,6 +3266,7 @@ $modify_erfrischen_set=0; $modify_footer_erfrischen=0; $check_time = ($STARTtime - 86400); $SSanswer_transfer_agent = '8368'; +$add_copy_disabled=0; $month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $past_month_date = date("Y-m-d H:i:s",$month_old); @@ -3105,10 +3305,9 @@ if ($force_logout) echo "Sie haben jetzt heraus geloggt. Danke\n"; exit; } - ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_erfrischen,nocache_admin,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_erfrischen,nocache_admin,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -3123,6 +3322,7 @@ if ($qm_conf_ct > 0) $SSadmin_modify_erfrischen = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; + $SSemail_enabled = $row[8]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -3146,6 +3346,10 @@ if ( ($reports_auth > 0) and ($auth < 1) ) $ADD=999999; $reports_only_user=1; } +############################################## +# Include QC Agents with no other permission # +############################################## +require_once('qc/QC_admin_include02.php'); if ($SSwebroot_writable > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} @@ -3154,7 +3358,7 @@ $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); -if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) ) ) +if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) and ($qc_auth < 1)) ) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); @@ -3162,7 +3366,7 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) an exit; } -if ( ($auth > 0) or ($reports_auth > 0) ) +if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) { $office_no=strtoupper($PHP_AUTH_USER); $password=strtoupper($PHP_AUTH_PW); @@ -3306,6 +3510,9 @@ if ( ($auth > 0) or ($reports_auth > 0) ) { $reports_only_user=1; } + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} } else { @@ -3334,8 +3541,10 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; -echo "\n"; +echo "\n"; echo "\n"; +echo "\n"; +echo "\n"; if ($SSnocache_admin=='1') { echo "\n"; @@ -3366,6 +3575,8 @@ if ($ADD==1411) {$hh='ingroups'; echo "KopierenDID";} if ($ADD==1511) {$hh='ingroups'; echo "Add-Ruf-Menü";} if ($ADD==1611) {$hh='ingroups'; echo "Copy-Ruf-Menü";} if ($ADD==1711) {$hh='ingroups'; echo "Filter hinzufügen Phone Group";} +if ($ADD==1811) {$hh='ingroups'; echo "Neues E-Mail-In-Gruppe";} +if ($ADD==1911) {$hh='ingroups'; echo "Kopieren EMAIL In-Gruppe";} if ($ADD==11111) {$hh='remoteagent'; echo "Addieren Sie Neue Remotemittel";} if ($ADD==12111) {$hh='remoteagent'; echo "Erweiterung hinzufügen Gruppe";} if ($ADD==111111) {$hh='usergroups'; echo "Addieren Sie Neue Benutzer-Gruppe";} @@ -3374,6 +3585,7 @@ if ($ADD==11111111) {$hh='filters'; echo "Addieren Sie Neuen Filter";} if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Füge neue Anrufzeit hinzu";} if ($ADD==131111111) {$hh='admin'; $sh='shifts'; echo "Add NewShift";} if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Füge neue landesspezifische Anrufzeit hinzu";} +if ($ADD==1211111111) {$hh='admin'; $sh='times'; echo "In Urlaub";} if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "ADDIEREN SIE NEUES TELEFON";} if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW TEL ALIAS";} if ($ADD==13111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW GROUP ALIAS";} @@ -3409,6 +3621,8 @@ if ($ADD==2411) {$hh='ingroups'; echo "Neue Copied DID-Zusatz";} if ($ADD==2511) {$hh='ingroups'; echo "Neue Call-Menü";} if ($ADD==2611) {$hh='ingroups'; echo "Neue Call-Menü";} if ($ADD==2711) {$hh='ingroups'; echo "Neuer Filter Phone Group";} +if ($ADD==2811) {$hh='ingroups'; echo "Neue E-Mail-Gruppe Hinzufügen";} +if ($ADD==2911) {$hh='ingroups'; echo "New Kopierte Email Gruppe Addition";} if ($ADD==21111) {$hh='remoteagent'; echo "Neue Remotemittel-Hinzufügung";} if ($ADD==22111) {$hh='remoteagent'; echo "Neue Gruppe Erweiterung Zusatz";} if ($ADD==211111) {$hh='usergroups'; echo "Neue Benutzer-Gruppe Hinzufügung";} @@ -3417,6 +3631,7 @@ if ($ADD==21111111) {$hh='filters'; echo "Neue Filter-Hinzufügung";} if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Neue Anrufzeit hinzufügen";} if ($ADD==231111111) {$hh='admin'; $sh='shifts'; echo "Neue Shift Zusatz";} if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Neue landesspezifische Anrufzeit hinzufügen";} +if ($ADD==2211111111) {$hh='admin'; $sh='times'; echo "New Holiday Addition";} if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ADDIEREN DES NEUEN TELEFONS";} if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "Neue TEL ALIAS";} if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "Neue GROUP ALIAS";} @@ -3480,6 +3695,7 @@ if ($ADD==3311) {$hh='ingroups'; echo "ÄndernDID";} if ($ADD==3321) {$hh='ingroups'; echo "Ändern DID RA Erweiterung Überschreibt";} if ($ADD==3511) {$hh='ingroups'; echo "Ändern Call-Menü";} if ($ADD==3711) {$hh='ingroups'; echo "Ändern Filter Phone Group";} +if ($ADD==3811) {$hh='ingroups'; echo "Ändern Email In-Gruppe";} if ($ADD==31111) {$hh='remoteagent'; echo "Ändern Sie Remotemittel";} if ($ADD==32111) {$hh='remoteagent'; echo "Ändern Verlängerung Gruppe";} if ($ADD==311111) {$hh='usergroups'; echo "Ändern Sie Benutzer-Gruppen";} @@ -3489,6 +3705,7 @@ if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Bearbeite Anrufzeit";} if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Bearbeite Anrufzeit Landdefinitions-Liste";} if ($ADD==331111111) {$hh='admin'; $sh='shifts'; echo "Ändern Shift";} if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Bearbeite landesspezifische Anrufzeit";} +if ($ADD==3211111111) {$hh='admin'; $sh='times'; echo "Ändern Urlaub";} if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "ÄNDERN SIE TELEFON";} if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "MODIFY TEL ALIAS";} if ($ADD==33111111111) {$hh='admin'; $sh='phones'; echo "MODIFY GROUP ALIAS";} @@ -3524,6 +3741,7 @@ if ($ADD==4111) {$hh='ingroups'; echo "Ändern Sie In-Gruppe";} if ($ADD==4311) {$hh='ingroups'; echo "ÄndernDID";} if ($ADD==4511) {$hh='ingroups'; echo "Ändern Call-Menü";} if ($ADD==4711) {$hh='ingroups'; echo "Ändern Filter Phone Group";} +if ($ADD==4811) {$hh='ingroups'; echo "ÄndernEmail In-Group";} if ($ADD==41111) {$hh='remoteagent'; echo "Ändern Sie Remotemittel";} if ($ADD==42111) {$hh='remoteagent'; echo "Ändern Verlängerung Gruppe";} if ($ADD==411111) {$hh='usergroups'; echo "Ändern Sie Benutzer-Gruppen";} @@ -3532,6 +3750,7 @@ if ($ADD==41111111) {$hh='filters'; echo "Ändern Sie Filter";} if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Bearbeite Anrufzeit";} if ($ADD==431111111) {$hh='admin'; $sh='shifts'; echo "Ändern Shift";} if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Bearbeite landesspezifische Anrufzeit";} +if ($ADD==4211111111) {$hh='admin'; $sh='times'; echo "Ändern Urlaub";} if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "ÄNDERN SIE TELEFON";} if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFY TEL ALIAS";} if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "MODIFY GROUP ALIAS";} @@ -3567,6 +3786,7 @@ if ($ADD==51111111) {$hh='filters'; echo "Löschung-Filter";} if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Lösche Anrufzeit";} if ($ADD==531111111) {$hh='admin'; $sh='shifts'; echo "Löschen Shift";} if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Lösche landesspezifische Anrufzeit";} +if ($ADD==5211111111) {$hh='admin'; $sh='times'; echo "Löschen Urlaub";} if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "DELETE TEL ALIAS";} if ($ADD==53111111111) {$hh='admin'; $sh='phones'; echo "DELETE GROUP ALIAS";} @@ -3603,6 +3823,7 @@ if ($ADD==61111111) {$hh='filters'; echo "Löschung-Filter";} if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Lösche Anrufzeit";} if ($ADD==631111111) {$hh='admin'; $sh='shifts'; echo "Löschen Shift";} if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Lösche landesspezifische Anrufzeit";} +if ($ADD==6211111111) {$hh='admin'; $sh='times'; echo "Löschen Urlaub";} if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE TEL ALIAS";} if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "DELETE GROUP ALIAS";} @@ -3623,6 +3844,9 @@ if ($ADD==700000000000000) {$hh='reports'; echo "VICIDIAL Änderung der Registri if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL USER ADMIN Änderung der Registrierung";} if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL ABSCHNITT ADMIN Änderung der Registrierung";} if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL DETAIL ADMIN Änderung der Registrierung";} +if ($ADD==800000000000000) {$hh='reports'; echo "Vicidial Admin zu melden LOG";} +if ($ADD==810000000000000) {$hh='reports'; echo "Vicidial USER Admin zu melden LOG";} +if ($ADD==830000000000000) {$hh='reports'; echo "Vicidial DETAIL Admin zu melden LOG";} if ($ADD==0) {$hh='users'; echo "Benutzer-Liste";} if ($ADD==8) {$hh='users'; echo "Wiederholungsbesuche Innerhalb Des Mittels";} if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Wiederholungsbesuche Innerhalb Der Kampagne";} @@ -3635,6 +3859,7 @@ if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} if ($ADD==1320) {$hh='ingroups'; echo "Ändern DID RA Erweiterung Überschreibt";} if ($ADD==1500) {$hh='ingroups'; echo "Call-Menüs";} if ($ADD==1700) {$hh='ingroups'; echo "Filter Phone Gruppen";} +if ($ADD==1800) {$hh='ingroups'; echo "Mail In-Gruppen";} if ($ADD==10000) {$hh='remoteagent'; echo "Remotemittel";} if ($ADD==12000) {$hh='remoteagent'; echo "Erweiterung Gruppen";} if ($ADD==100000) {$hh='usergroups'; echo "Benutzer-Gruppen";} @@ -3643,6 +3868,7 @@ if ($ADD==10000000) {$hh='filters'; echo "Filter";} if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Anrufzeiten";} if ($ADD==130000000) {$hh='admin'; $sh='shifts'; echo "Verschiebungen";} if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Landesspezische Anrufzeiten";} +if ($ADD==1200000000) {$hh='admin'; $sh='times'; echo "Feiertage";} if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "TELEFON-LISTE";} if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "TEL ALIAS LISTE";} if ($ADD==13000000000) {$hh='admin'; $sh='phones'; echo "GROUP ALIAS LISTE";} @@ -3656,6 +3882,8 @@ if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo "SCREEN Label Liste";} if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo "Liste KONTAKTE";} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "KONFERENZ-LISTE";} if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL KONFERENZ-LISTE";} +##QC +require_once('qc/QC_admin_variables01.php'); if ($ADD==550) {$hh='users'; echo "Suchform";} if ($ADD==551) {$hh='users'; echo "SUCHTELEFONE";} if ($ADD==660) {$hh='users'; echo "Suchresultate";} @@ -3669,7 +3897,35 @@ if ($ADD==999995) {$hh='reports'; echo "Urheberrechtshinweis Markenlizenz";} if ($ADD==999994) {$hh='reports'; echo "ADMIN UTILITIES";} if ($ADD==999993) {$hh='reports'; echo "Zusammenfassung ";} if ($ADD==999992) {$hh='reports'; echo "SYSTEM Zusammenfassung ";} +if ($ADD==999991) {$hh='reports'; echo "SERVERS VERSIONS";} +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + if ($ADD==999993) {$report_name = "Zusammenfassung ";} + if ($ADD==999992) {$report_name = "SYSTEM Zusammenfassung ";} + if ($ADD==730000000000000) {$report_name = "DETAIL ADMIN Änderung der Registrierung";} + if ($ADD==830000000000000) {$report_name = "DETAIL Admin zu melden LOG";} + + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $stage, $report_display_type|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + } if ( ($ADD>9) and ($ADD < 99998) ) { @@ -3869,7 +4125,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD ##### BEGIN get inbound groups listing for checkboxes ##### $xfer_groupsSQL=''; - if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and (eregi('list_activation', $stage))) ) + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (eregi('list_activation', $stage)) or (ereg('test_call',$stage)) ) ) ) { $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); @@ -4321,6 +4577,11 @@ if ($ADD==99999)
    Vertreter-Anruf-Handbuch - Diese Wahl erlaubt einem Vertreter,eine neue Leitung in das System manuell einzutragen und sie zubenennen. Dieses auch erlaubt das Benennen jeder möglicherTelefonnummer von ihrem vicidial Schirm und setzt diesen Anruf inihren Lernabschnitt. Verwenden Sie diese Wahl mit Vorsicht. +
    + +
    + Agent Call Email - This option is disabled. +

    @@ -4346,7 +4607,7 @@ if ($ADD==99999)

    - VICIDIAL Aufnahme-Übersteuerung - diese Wahl läuft über, was auchimmer die Wahl in der Kampagne für Aufnahme ist. UNTAUGLICH läuftnicht die Kampagne Aufnahmeeinstellung über. NIE sperrt Aufnahme aufdem Klienten. ONDEMAND ist die Rückstellung und erlaubt dem Vertreterzu notieren zu beginnen und, zu stoppen, wie gebraucht. ALLCALLSbeginnt Aufnahme auf dem Klienten, wann immer ein Anruf zu einemMittel geschickt wird. ALLFORCE beginnt Aufnahme auf dem Klienten,wann immer ein Anruf zu einem Mittel geschickt wird, das dem Mittelkeine Wahl gibt, um zu notieren zu stoppen. Für ALLCALLS und ALLFORCEgibt es eine Wahl, zum der Aufnahme zu benutzen verzögert, um untenauf sehr kurze Aufnahmen und recude Anlagen-Belastung zu schneiden. + VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Das Notieren Verzögert to cut down on very short recordings and reduce system load.
    @@ -4361,7 +4622,7 @@ if ($ADD==99999)

    - Agent-Lead-Suche Override - Diese Einstellung hat Vorrang, was die Kampagne für Agent Lead-Suche eingestellt. NOT_ACTIVE verwenden die Kampagne Einstellung. ENABLED ermöglicht Blei Suche und DEAKTIVIERT werden nicht zulassen, Blei Suche. Die Standardeinstellung ist NOT_ACTIVE. + Agent-Lead-Suche Override - Diese Einstellung hat Vorrang, was die Kampagne für Agent Lead-Suche eingestellt. NOT_ACTIVE verwenden die Kampagne Einstellung. ENABLED ermöglicht Blei Suche und DEAKTIVIERT werden nicht zulassen, Blei Suche. Die Standardeinstellung ist NOT_ACTIVE. LIVE_CALL_INBOUND wird Suche nach einer Führung während eines eingehenden Anrufs nur zu ermöglichen. LIVE_CALL_INBOUND_AND_MANUAL wird Suche nach einer Führung während eines eingehenden Anrufs oder während der Pause zu ermöglichen. Als Lead-Suche auf einem Live eingehenden Anruf verwendet wird, wird die Führung des Gesprächs, wenn es um den Agenten gingen zu einem Status LSMERG geändert werden, und die Protokolle für den Anruf wird modifiziert, um dem Agenten eine Verknüpfung ausgewählt Blei stattdessen.
    @@ -4484,6 +4745,18 @@ if ($ADD==99999)
    Ändern Sie Leitungen - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, Leitungen in der admin Abschnittleitung Suchresultate Seitezu ändern. + 0) + { + ?> +
    +
    +
    + Ändern E-Mail-Konten - Diese Option, wenn auf 1 gesetzt dem Benutzer, E-Mail-Konten in der E-Mail-Account-Management-Seite ändern können. + +

    @@ -4528,7 +4801,7 @@ if ($ADD==99999)

    - QC aktiv - Diese Option ermöglicht es dem Benutzer, um sich in der Quality Control Agent-Bildschirm. + QC aktiv - Diese Option ermöglicht es dem Benutzer, um sich in der Qualitätskontrolle Agent-Bildschirm.
    @@ -4707,6 +4980,17 @@ if ($ADD==99999)
    Erlauben Sie Closers - Dieses ist, wo Sie einstellen können, obdie Benutzer dieser Kampagne die Wahl haben, zum des Anrufs zu einemgenauerem zu schicken. + 0) + { + ?> +
    +
    +
    + Erlauben Sie E-Mails - Dies ist, wo Sie festlegen können, ob die Benutzer dieser Kampagne in der Lage, eingehende E-Mails zusätzlich zu Telefon Anrufe empfangen. +

    @@ -4928,12 +5212,22 @@ if ($ADD==99999)

    - AMD senden zu VM exten - erlaubt dieses Menü Ihnen zu definieren,ob eine Anzeige auf einer antwortenden Maschine gelassen wird, wennihr der Anruf wird sofort nachgeschickt zur Antworten-Maschine-AnzeigeVerlängerung ermittelt wird, wenn AMD aktiv ist und es festgestelltwird, daß der Anruf eine antwortende Maschine ist. + AMD to Action senden - Mit dieser Option können Sie festlegen, ob ein Aufruf der AMD Aktion wird gesendet, wenn ein Anrufbeantworter erkannt wird. Wenn diese auf N gesetzt ist, wird der Anruf, sobald festgestellt wird, um mit einem Anrufbeantworter aufgehängt. Der Standardwert ist N.

    - CPD AMD Action - Wenn Sie die Sangoma ParaXip Rufen Fortschritte Detection-Software, dann werden Sie zum Aktivieren dieser Einstellung, entweder sie DISPO, die Disposition der Anruf als AA und hängen Sie es, wenn der Anruf wird bearbeitet und wurde nicht gesendet, um noch ein Agent oder eine Nachricht zu senden, die den Aufruf der Anrufbeantworter die Nachricht für diese Kampagne. Standardwert ist deaktiviert. + CPD AMD Action - Wenn Sie die Sangoma ParaXip Rufen Fortschritte Detection-Software, dann werden Sie zum Aktivieren dieser Einstellung, entweder sie DISPO, die Disposition der Anruf als AA und hängen Sie es, wenn der Anruf wird bearbeitet und wurde nicht gesendet, um noch ein Agent oder eine Nachricht zu senden, die den Aufruf der Anrufbeantworter die Nachricht für diese Kampagne. Standardwert ist deaktiviert. Wird dies auf ingroup wird einen Anrufbeantworter an einer eingehenden Gruppe senden. Wird dies auf CALLMENU wird einen Anrufbeantworter an einem Aufruf Menü Nachricht im System. + +
    +
    +
    + AMD Inbound-Gruppe - Wenn CPD AMD Aktion ingroup gesetzt ist, dann ist dies der Inbound-Gruppe, dass der Aufruf gesendet werden, wenn ein Anrufbeantworter erkannt. + +
    +
    +
    + AMD Aufruf Menü - Wenn CPD AMD Aktion CALLMENU gesetzt ist, dann ist dies der Ruf-Menü, dass der Aufruf gesendet werden, wenn ein Anrufbeantworter erkannt.
    @@ -4960,6 +5254,11 @@ if ($ADD==99999)
    Safe-Harbor-Audio - Dies ist der Audio-Datei, die prompt gespielt, wenn die Drop-Aktion zu AUDIO eingestellt ist. Die Standardeinstellung ist Buzz. +
    +
    +
    + Safe-Harbor-Audio-Bereich - Diese optionale Einstellung ermöglicht es Ihnen, ein Feld in der Liste zu definieren, dass das System als Audio-Dateinamen für jede Ableitung anstelle der Safe-Harbor-Audio-Datei verwenden. Wenn dies auf Disabled gestellt ist die Safe-Harbor-Audio-Datei wird immer verwendet werden. Das System wird nichts aus, um sicherzustellen, dass die Audio-Datei existiert als andere zu machen, dass der Wert des Feldes ist mindestens ein Zeichen, wenn Sie also einen Vorsprung, um die Standard-Safe harbor Audio verwenden möchten, dann setzen Sie einfach den Wert des Feldes in der Zuleitung zu entleeren. Sie können mit dem Pipe-Zeichen, um mehrere Audio-Dateien miteinander zu verknüpfen in dem Feld Wert für jedes Kabel. Ist standardmäßig deaktiviert. Hier ist die Liste der Felder, die für diese Einstellung verwendet werden können: vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, alt_phone, email, security_phrase, comments, rank, owner, entry_list_id +

    @@ -4988,7 +5287,12 @@ if ($ADD==99999)

    - Eigentümer nur Dialing - Wenn diese aktiviert ist, wird der Agent führt nur zu erhalten, dass sie in das Eigentum Parameter sind. Ist dies der USER dann die Vertreter muß der Benutzer in der Datenbank als Besitzer dies dazu führen, definiert. Ist dies das Hoheitsgebiet dann die Eigentümer der führen muss das Gebiet, in dem User Änderung Bildschirm für dieses Anbieters angegeben haben. Ist dies zu USER_GROUP dann die Eigentümer der führen muss der Benutzer die Gruppe, dass der Agent ist ein Mitglied der übereinstimmen. Für diese Funktion, um die DFÜ-Methode arbeiten müssen, um MANUAL oder INBOUND_MAN und Nr. Hopper Dialing eingestellt werden muss aktiviert sein. Der Standardwert ist KEINE für Behinderte. + Eigentümer nur Dialing - Wenn diese aktiviert ist, wird der Agent führt nur zu erhalten, dass sie in das Eigentum Parameter sind. Ist dies der USER dann die Vertreter muß der Benutzer in der Datenbank als Besitzer dies dazu führen, definiert. Ist dies das Hoheitsgebiet dann die Eigentümer der führen muss das Gebiet, in dem User Änderung Bildschirm für dieses Anbieters angegeben haben. Ist dies zu USER_GROUP dann die Eigentümer der führen muss der Benutzer die Gruppe, dass der Agent ist ein Mitglied der übereinstimmen. Für diese Funktion, um die DFÜ-Methode arbeiten müssen, um MANUAL oder INBOUND_MAN und Nr. Hopper Dialing eingestellt werden muss aktiviert sein. Der Standardwert ist KEINE für Behinderte. Wenn die Option BLANK hat am Ende, dann Benutzer können Leads ohne Besitzer neben Eigentümer definiert führt wählen. + +
    +
    +
    + Besitzer Auffüllen - Wenn diese Option aktiviert ist und der Besitzer des Feldes führen leer ist, wird der Besitzer Feld für die Leitung mit der Benutzer-ID des Agenten, der den Anruf übernimmt erste bevölkern. Standardmäßig deaktiviert. 0) @@ -5042,6 +5346,11 @@ if ($ADD==99999)
    Umfrage DTMF Digits - Dieses Feld ist, in dem Sie die Zahlen, dass ein Kunde kann Presse als eine Option auf eine Umfrage-Kampagne. gültig von DTMF-Ziffern sind0123456789*#. Alle Optionen mit Ausnahme der nicht interessiert, dritte und vierte Stelle Optionen werden nun zu den Umfrage-Methode nennen Weg. +
    +
    +
    + Umfrage Warten Sekunden - Dies ist die Anzahl der Sekunden, wenn in Umfrage-Modus wird das System für die Eingabe von der Person genannt, bis die Umfrage oder Drop-Aktion ausgelöst wird, warten. Wird nicht angewendet, wenn die Erhebungsmethode ist HANGUP. Standardwert ist 10 Sekunden. +

    @@ -5070,7 +5379,7 @@ if ($ADD==99999)

    - Umfrage Nr.-Response Action - Hier wird definiert, was passieren wird, wenn es keine Reaktion auf die Umfrage Frage. OptIn wird nur dann den Aufruf an die an der Umfrage-Methode, wenn der Kunde Pressen eine DTMF-Ziffern. OptOut wird der Kunde auf die Umfrage-Methode, auch wenn sie nicht drücken Sie eine DTMF-Ziffern. + Umfrage Nr.-Response Action - Hier wird definiert, was passieren wird, wenn es keine Reaktion auf die Umfrage Frage. OptIn wird nur dann den Aufruf an die an der Umfrage-Methode, wenn der Kunde Pressen eine DTMF-Ziffern. OptOut wird der Kunde auf die Umfrage-Methode, auch wenn sie nicht drücken Sie eine DTMF-Ziffern. DROP sinkt das Gespräch mit der Kampagne Drop-Methode, aber immer noch einloggen den Anruf als PM gespielt Meldungszustand.
    @@ -5182,12 +5491,12 @@ if ($ADD==99999)

    - Kampagne Aufnahme - dieses Menü erlaubt Ihnen, zu wählen, welchesNiveau der Aufnahme auf dieser Kampagne erlaubt wird. NIE sperrtAufnahme auf dem Klienten. ONDEMAND ist die Rückstellung und erlaubtdem Vertreter zu notieren zu beginnen und, zu stoppen, wie gebraucht.ALLCALLS beginnt Aufnahme auf dem Klienten, wann immer ein Anruf zueinem Mittel geschickt wird. ALLFORCE beginnt Aufnahme auf demKlienten, wann immer ein Anruf zu einem Mittel geschickt wird, das demMittel keine Wahl gibt, um zu notieren zu stoppen. Für ALLCALLS undALLFORCE gibt es eine Wahl, zum der Aufnahme zu benutzen verzögert,um unten auf sehr kurze Aufnahmen und recude Anlagen-Belastung zuschneiden. + Kampagne Aufnahme - Dieses Menü erlaubt Ihnen, zu wählen,welches Niveau der Aufnahme auf dieser Kampagne erlaubt wird. NIEsperrt Aufnahme auf dem Klienten. ONDEMAND ist die Rückstellung underlaubt dem Vertreter zu notieren zu beginnen und, zu stoppen, wiegebraucht. ALLCALLS beginnt Aufnahme auf dem Klienten, wann immer einAnruf zu einem Mittel geschickt wird. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Das Notieren Verzögert to cut down on very short recordings and reduce system load.

    - Kampagne Rec Dateiname - In diesem Feld können Sie den Namen der Aufnahme anpassen, wenn Kampagne Aufnahme ist ONDEMAND oder ALLCALLS. Die Variablen sind erlaubt CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH MITTELVENDORLEADCODE LEADID. Der Standardwert ist FULLDATE_MITTELund würde so aussehen 20051020-103108_6666. Ein weiteres Beispiel ist CAMPAIGN_TINYDATE_CUSTPHONE das so aussehen würde TESTCAMP_51020103108_3125551212. 50 char max. + Kampagne Rec Dateiname - In diesem Feld können Sie den Namen der Aufnahme anpassen, wenn Kampagne Aufnahme ist ONDEMAND oder ALLCALLS. Die Variablen sind erlaubt CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH MITTELVENDORLEADCODE LEADID. Der Standardwert ist FULLDATE_MITTELund möchte dieses 20051020-103108_6666 aussehen. Ein weiteres Beispiel ist die CAMPAIGN_TINYDATE_CUSTPHONE wie dieser TESTCAMP_51020103108_3125551212 aussehen würde. Te resultierende Dateiname muss weniger als 90 Zeichen lang sein.
    @@ -5202,7 +5511,7 @@ if ($ADD==99999)

    - Agent-Lead-Suche - Wenn diese Option auf ENABLED ermöglicht Agenten für Leads durchsuchen und Artikel lesen Blei Informationen während der Pause im Agent-Interface. Auch, wenn der Agent Benutzer-Gruppe ist berechtigt, Anzeigen von Anruflisten dann der Agent in der Lage, Vergangenheit Anrufanmerkungen für jeden Lead dass die dort verfügbaren Informationen zu sehen. Der Standardwert ist DISABLED. + Agent-Lead-Suche - Wenn diese Option auf ENABLED ermöglicht Agenten für Leads durchsuchen und Artikel lesen Blei Informationen während der Pause im Agent-Interface. Auch, wenn der Agent Benutzer-Gruppe ist berechtigt, Anzeigen von Anruflisten dann der Agent in der Lage, Vergangenheit Anrufanmerkungen für jeden Lead dass die dort verfügbaren Informationen zu sehen. Der Standardwert ist DISABLED. LIVE_CALL_INBOUND wird Suche nach einer Führung während eines eingehenden Anrufs nur zu ermöglichen. LIVE_CALL_INBOUND_AND_MANUAL wird Suche nach einer Führung während eines eingehenden Anrufs oder während der Pause zu ermöglichen. Als Lead-Suche auf einem Live eingehenden Anruf verwendet wird, wird die Führung des Gesprächs, wenn es um den Agenten gingen zu einem Status LSMERG geändert werden, und die Protokolle für den Anruf wird modifiziert, um dem Agenten eine Verknüpfung ausgewählt Blei stattdessen.
    @@ -5297,7 +5606,7 @@ if ($ADD==99999)

    - Geplante Rückrufe Count - Mit dieser Option können Sie festlegen, ob nur LIVE-Rückrufe, benutzerfreundliche nur geplante Rückrufe, die ihre Trigger Datum und Uhrzeit, oder ALL_ACTIVE Rückrufe getroffen haben, benutzerfreundliche nur Rückrufe, die aktiv sind in der Anlage sowie LIVE-Rückrufe sollten be3 int zählte er Agent-Callback-Benachrichtigung Abschnitt über die Agenten-Bildschirm. Die Standardeinstellung ist ALL_ACTIVE. + Geplante Rückrufe Count - These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks. LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered. You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE. Default is ALL_ACTIVE.
    @@ -5359,6 +5668,11 @@ if ($ADD==99999)
    Verwenden Sie Kampagne DNC List - Diese legt fest, ob dieser Kampagne ist es, Filter führt gegen eine DNC-Liste, die sich speziell auf die Kampagne nur. Wenn es auf Y, der Trichter wird für jede Telefonnummer in der Kampagne-spezifische DNC-Liste, bevor sie in den Trichter. Wenn es in der Kampagne-spezifische DNC Liste, dann wird sich ändern, die Status DNCC, so kann er nicht gewählt werden. Der Standardwert ist N. Die AREACODE Option ist ebenso wie die Y-Option, nur dass diese Filter auch einen ganzen Vorwahl in Nordamerika dazu verwendet werden gewählt, in diesem Fall mit dem 201XXXXXXX Eintrag in der Liste DNC würde alle Anrufe in den 201 Ortsvorwahl zu blockieren, wenn aktiviert. +
    +
    +
    + Andere Kampagne DNC - Wenn die Option Use Kampagne DNC Liste aktiviert ist, kann diese Option können Sie eine andere Kampagne DNC Liste verwenden, einfach die Kampagnen-ID der anderen Kampagne in diesem Bereich. Wenn Sie diese Option verwenden, wird die ursprüngliche Kampagne DNC Liste nicht mehr überprüft werden, nur die Andere Kampagne DNC Liste verwendet werden soll. Dies hat keinen Einfluss auf die Verwendung der internen Systemuhr DNC Liste. Standardwert ist Empty. +

    @@ -5397,7 +5711,7 @@ if ($ADD==99999)

    - Agent Anzeige Queue Count - Wenn Sie auf Y, wenn ein Kunde wartet auf einen Agenten, der Queue fordert Anzeige oben auf der Agenten-Bildschirm wird rot und zeigen die Anzahl der wartenden Anrufe. Der Standardwert ist Y. + Maklers Queue Count - Wenn Sie auf Y, wenn ein Kunde wartet auf einen Agenten, der Queue fordert Anzeige oben auf der Agenten-Bildschirm wird rot und zeigen die Anzahl der wartenden Anrufe. Der Standardwert ist Y.
    @@ -5412,7 +5726,7 @@ if ($ADD==99999)

    - Manual Dial Filter - Auf diese Weise können Sie zum Filtern der Anrufe, die Agenten sind im manuellen Modus wählen Sie für diese Kampagne durch eine Kombination der folgenden: DNC - die Kick Out, CAMPAIGNLISTS - die Zahl muss innerhalb der Listen für die Kampagne KEINE - kein Filter auf manuelle Einwahl oder schnelle Einwahl Listen. CAMPLISTS_ALL - wird inaktiv Listen bei der Suche nach der Zahl enthalten. + Manuelle Wahl Filter - Auf diese Weise können Sie zum Filtern der Anrufe, die Agenten sind im manuellen Modus wählen Sie für diese Kampagne durch eine Kombination der folgenden: DNC - die Kick Out, CAMPAIGNLISTS - die Zahl muss innerhalb der Listen für die Kampagne KEINE - kein Filter auf manuelle Einwahl oder schnelle Einwahl Listen. CAMPLISTS_ALL - wird inaktiv Listen bei der Suche nach der Zahl enthalten.
    @@ -5439,6 +5753,16 @@ if ($ADD==99999)
    Telefon Post Time Difference-Alert - Dieses Handbuch-Einwahl nur Funktion, falls aktiviert, wird eine Warnung anzeigen, wenn die Zeitzone für die Führung Postleitzahl oder eine Postleitzahl ein, unterscheidet sich von der Zeitzone von der Vorwahl der Rufnummer für die Führung. Die OUTSIDE_CALLTIME_ONLY Option wird nur die Warnung, wenn die beiden Zeitzonen unterschiedlich sind und eine der Zeitzonen liegt außerhalb des Bereitschaftsdienstes für die Kampagne ausgewählt. OUTSIDE_CALLTIME_PHONE prüfen lediglich die Zeitzone der Telefonnummer des Blei-und alarmieren, wenn es außerhalb des lokalen Zeit während des Bereitschaftsdienstes ist. OUTSIDE_CALLTIME_POSTAL prüfen lediglich die Zeitzone der Postleitzahl des Blei-und alarmieren, wenn es außerhalb des lokalen Zeit während des Bereitschaftsdienstes ist. OUTSIDE_CALLTIME_BOTH wird die Postleitzahl und die Telefonnummer für Sein im Ortsgespräch Zeit zu überprüfen, auch wenn sie in der gleichen Zeitzone befinden. Diese Warnungen werden in der Anrufliste Info, Rückrufe List-Info, Suchergebnisse Info, wenn eine Leitung gewählt wird und wenn ein Interessent eine Vorschau zu zeigen. Der Standardwert ist DISABLED. +
    +
    +
    + In-Gruppe Manuelle Wahl - Diese Funktion ermöglicht es Ihnen, die Möglichkeit für Agenten auf manuelle Einwahl ausgehende Anrufe, die als in-group ruft zugeordnet zu einem bestimmten in-group angemeldet sind platzieren können. Die MANUAL_DIAL Option ermöglicht die Platzierung von Telefonaten aus durch eine In-Gruppe an den Agenten, der den Anruf. Die NO_DIAL Option ermöglicht es dem Agenten zu Zeit auf einen Anruf, der nicht existiert einzuloggen, als ob es ein echtes Gespräch waren, wird dies oft für die Anmeldung per E-Mail oder per Fax Zeit verwendet. Die beiden Option erlaubt sowohl Call-keine-Call-in-Gruppenwahl. Die Standardeinstellung ist deaktiviert. + +
    +
    +
    + In-Gruppe Manuelle Wahl Select - Diese Option ist nur dann aktiv, wenn die oben genannten In-Gruppe Handbuch Dial-Funktion nicht deaktiviert ist. Diese Option schränkt die wählbare In-Gruppen, dass der Agent in-group Manuelle Wahl ruft durch platzieren. CAMPAIGN_SELECTED zeigt nur die in-Gruppen, die die Kampagne als zulässig in-Gruppen gesetzt. ALL_USER_GROUP zeigt alle in-Gruppen, die sichtbar an die Mitglieder der Benutzergruppe sind, dass der Agent gehört. +

    @@ -5476,7 +5800,7 @@ if ($ADD==99999)

    - QC aktiv - Wenn Sie diesen Bereich auf Y-Agent ermöglicht die Quality Control Funktionen zur Verfügung stehen. Der Standardwert ist N. + QC aktiv - Wenn Sie diesen Bereich auf Y-Agent ermöglicht die Qualitätskontrolle Funktionen zur Verfügung stehen. Der Standardwert ist N.
    @@ -5626,6 +5950,11 @@ if ($ADD==99999)
    Agent Pause nach jedem Anruf - Diese Option, wenn auf Y wird der Agent Pause nach jedem Anruf automatisch. Der Standardwert ist N. +
    +
    +
    + Agenten Pause After Next Link Anruf - Diese Option wird angezeigt, wenn aktiviert einen Link auf der Agenten-Bildschirm, damit der Agent auf Pause automatisch gehen, nachdem sie ihre nächsten Anruf hängen wird. Standardmäßig deaktiviert. +

    @@ -5692,6 +6021,16 @@ if ($ADD==99999)
    Reset Times - In diesem Feld können Sie zu setzen in Zeiten, durch einen Bindestrich getrennt, dass diese Liste automatisch zurückgesetzt werden durch das System. Die Zeiten im 24-Stunden-Format ohne Interpunktion werden, wäre zum Beispiel 0800-1700 die Liste 8 zurückgesetzt und 5pm jeden Tag. Der Standardwert ist leer. +
    +
    +
    + Fälligkeitsdatum - Diese Option ermöglicht es Ihnen, das Datum, nach dem führt in dieser Liste nicht erlaubt sein wird, werden automatisch gewählt oder durch das System-Handbuch-list-gewählt werden gesetzt. Standard ist 2099-12-31. + +
    +
    +
    + Audit Kommentare - Diese Option ermöglicht es, Kommentare zu einer Audit-Tabelle verschoben werden. Nicht mehr bearbeitet werden, aber sichtbar zusammen mit dem Datum-Zeit-creator jeder Kommentar. Der Standardwert ist N. Dies ist ein Teil der Qualitätskontrolle Add-On. +

    @@ -5889,7 +6228,7 @@ if ($ADD==99999)

    - Aktion Transfer-CID - Wird für Tropfen, Afterhours und No-Agent-no-Warteschlange Aktionen. Dies ist die Anrufer-ID-Nummer, dass der Anruf, bevor es zu Erweiterungen, Nachrichten, Voicemail-oder Call-Menüs übertragen wird, verwendet. Sie können Kunden in diesem Bereich nutzen, um dem Kunden die Telefonnummer oder Kampagne zu verwenden, um die erste Kampagne erlaubte Anrufer-ID-Nummer zu verwenden. Die Standardeinstellung ist KUNDEN. + Aktion Transfer-CID - Wird für Tropfen, Afterhours und No-Agent-no-Warteschlange Aktionen. Dies ist die Anrufer-ID-Nummer, dass der Anruf, bevor es zu Erweiterungen, Nachrichten, Voicemail-oder Call-Menüs übertragen wird, verwendet. Sie können Kunden in diesem Bereich nutzen, um dem Kunden die Telefonnummer oder Kampagne zu verwenden, um die erste Kampagne erlaubte Anrufer-ID-Nummer zu verwenden. Die Standardeinstellung ist KUNDEN. Wenn dies ein Aufruf, die zu einem Aufruf Menü gehen und dann wieder zu einer in-group, empfehlen wir die Verwendung CUSTOMERCLOSER in diesem Bereich, und auch Sie brauchen, um die In-Gruppe Suchmethode im Call-Menü eingestellt, um näher.
    @@ -6184,7 +6523,7 @@ if ($ADD==99999)

    - In-Group Recording Filename - This field will override the Kampagne Aufnahme Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH MITTELVENDORLEADCODE LEADID. Der Standardwert ist FULLDATE_MITTELund würde so aussehen 20051020-103108_6666. Ein weiteres Beispiel ist CAMPAIGN_TINYDATE_CUSTPHONE das so aussehen würde TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + In-Group Recording Filename - Dieses Feld überschreibt die Kampagne Recording Dateibenennung Schema, es sei denn auf NONE gesetzt ist. Die Variablen sind erlaubt CAMPAIGN INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH MITTELVENDORLEADCODE LEADID. Der Standardwert ist FULLDATE_MITTELund möchte dieses 20051020-103108_6666 aussehen. Ein weiteres Beispiel ist die CAMPAIGN_TINYDATE_CUSTPHONE wie dieser TESTCAMP_51020103108_3125551212 aussehen würde. Te resultierende Dateiname muss weniger als 90 Zeichen lang sein. Default is NONE. 0) @@ -6193,7 +6532,7 @@ if ($ADD==99999)

    - QC aktiv - Wenn Sie diesen Bereich auf Y-Agent ermöglicht die Quality Control Funktionen zur Verfügung stehen. Der Standardwert ist N. + QC aktiv - Wenn Sie diesen Bereich auf Y-Agent ermöglicht die Qualitätskontrolle Funktionen zur Verfügung stehen. Der Standardwert ist N.
    @@ -6251,7 +6590,7 @@ if ($ADD==99999)

    - Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank. + Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in Sekunden of the call. Default is blank.
    @@ -6268,6 +6607,11 @@ if ($ADD==99999)
    Standard-Fraktion Alias - Wenn Sie erlaubt Gruppe Aliases für die Kampagne, dass der Agent angemeldet ist, dann ist dies in der Gruppe ist, dass Alias zuerst ausgewählten standardmäßig auf einen Anruf, die von dieser Gruppe, wenn die Inbound-Agent dafür, Verwendung eines Alias-Fraktion für einen ausgehenden Anruf Handbuch. Der Standardwert ist Keine oder leer. +
    +
    +
    + Dial-In-Gruppe CID - Wenn der Agent Kampagne ermöglicht die manuelle In-Gruppenwahl, wird dieser Anrufer-ID-Nummer als ausgehende CID des Anrufs gesendet werden, wenn sie gefüllt wird, überschreibt die Kampagne Einstellungen und Liste CID Override-Einstellung. Der Standardwert ist leer. +

    @@ -6372,7 +6716,7 @@ if ($ADD==99999)

    - In-Group Call Handle-Methode - Wenn IN_GROUP ist wie die DID-Route ausgewählt, dann ist dies die Anrufannahme-Methode für diese Anrufe verwendet. CID wird eine neue Lead-Datensatz mit jedem Anruf mit der CallerID wie die Telefonnummer hinzufügen, wird CIDLOOKUP Versuch, die Telefonnummer, unter der CallerID im gesamten System-Lookup wird CIDLOOKUPRL Versuch, die Telefonnummer, unter der CallerID nur in einer speziellen Liste Lookup , wird CIDLOOKUPRC Versuch, die Telefonnummer, unter der CallerID in allen Listen, die auf die angegebene Kampagne gehören Lookup, CLOSER ist für VICIDIAL Closer fordert angegeben, wird eine neue ANI führen Datensatz hinzufügen bei jedem Anruf mit der ANI wie die Telefonnummer, ANILOOKUP wird versuchen, die Telefonnummer, unter der ANI im gesamten System-Lookup wird ANILOOKUPRL Versuch, die Telefonnummer, unter der ANI nur in einer speziellen Liste Lookup wird XDIGITID der Anrufer von einem X-stelligen Code prompt vor dem Aufruf wird gestellt werden, in der Warteschlange, wird der Anrufer VIDPROMPT prompt für ihre ID-Nummer und eine neue Lead-Satz mit dem CallerID wie die Telefonnummer und die ID als die Hersteller-ID zu erstellen, wird VIDPROMPTLOOKUP Versuch, die ID in das gesamte System-Lookup wird VIDPROMPTLOOKUPRL Versuch, Lookup die Hersteller-ID von der ID nur in einer speziellen Liste, wird VIDPROMPTLOOKUPRC Versuch, den Anbieter von der Lookup-ID ID in allen Listen, die auf die angegebene Kampagne gehören. Der Standardwert ist CID. Wenn eine Methode mit CIDLOOKUP ALT verwendet wird, wird es die alt_phone Feld für die Telefonnummer zu suchen, wenn keine Übereinstimmung für die Haupt-Telefonnummer zu finden sind. Wenn eine Methode mit CIDLOOKUP ADDR3 verwendet wird, wird es die Address3 Feld für die Telefonnummer zu suchen, wenn keine Übereinstimmung für die Haupt-Telefonnummer und optional den alt_phone Bereich zu finden sind. + In-Group Call Handle-Methodee - Wenn IN_GROUP ist wie die DID-Route ausgewählt, dann ist dies die Anrufannahme-Methode für diese Anrufe verwendet. CID wird eine neue Lead-Datensatz mit jedem Anruf mit der CallerID wie die Telefonnummer hinzufügen, wird CIDLOOKUP Versuch, die Telefonnummer, unter der CallerID im gesamten System-Lookup wird CIDLOOKUPRL Versuch, die Telefonnummer, unter der CallerID nur in einer speziellen Liste Lookup , wird CIDLOOKUPRC Versuch, die Telefonnummer, unter der CallerID in allen Listen, die auf die angegebene Kampagne gehören Lookup, CLOSER ist für VICIDIAL Closer fordert angegeben, wird eine neue ANI führen Datensatz hinzufügen bei jedem Anruf mit der ANI wie die Telefonnummer, ANILOOKUP wird versuchen, die Telefonnummer, unter der ANI im gesamten System-Lookup wird ANILOOKUPRL Versuch, die Telefonnummer, unter der ANI nur in einer speziellen Liste Lookup wird XDIGITID der Anrufer von einem X-stelligen Code prompt vor dem Aufruf wird gestellt werden, in der Warteschlange, wird der Anrufer VIDPROMPT prompt für ihre ID-Nummer und eine neue Lead-Satz mit dem CallerID wie die Telefonnummer und die ID als die Hersteller-ID zu erstellen, wird VIDPROMPTLOOKUP Versuch, die ID in das gesamte System-Lookup wird VIDPROMPTLOOKUPRL Versuch, Lookup die Hersteller-ID von der ID nur in einer speziellen Liste, wird VIDPROMPTLOOKUPRC Versuch, den Anbieter von der Lookup-ID ID in allen Listen, die auf die angegebene Kampagne gehören. Der Standardwert ist CID. Wenn eine Methode mit CIDLOOKUP ALT verwendet wird, wird es die alt_phone Feld für die Telefonnummer zu suchen, wenn keine Übereinstimmung für die Haupt-Telefonnummer zu finden sind. Wenn eine Methode mit CIDLOOKUP ADDR3 verwendet wird, wird es die Address3 Feld für die Telefonnummer zu suchen, wenn keine Übereinstimmung für die Haupt-Telefonnummer und optional den alt_phone Bereich zu finden sind.
    @@ -6450,7 +6794,7 @@ if ($ADD==99999)

    - Prompt Menu - Dieses Feld enthält den Dateinamen der Audio-Eingabeaufforderung zu Beginn dieses Menüs spielen. Sie können mehrere propmts in dieses Feld eingeben und den anderen Bereichen, prompt, indem Sie diese mit einem Pipe-Zeichen. + Prompt Menu - Dieses Feld enthält den Dateinamen der Audio-Eingabeaufforderung zu Beginn dieses Menüs spielen. Sie können mehrere propmts in dieses Feld eingeben und den anderen Bereichen, prompt, indem Sie diese mit einem Pipe-Zeichen. Sie können NOINT direkt vor einer Audio-Datei, um ihn zu machen, so dass die Wiedergabe kann nicht mit einem Tastendruck vom Anrufer unterbrochen werden hinzufügen, desto NOINT sollte nicht ein Teil des Dateinamens sein, ist es eine besondere Flagge für das System. Sie können auch spezielle Zwecke. Agi Skripte in diesem Bereich als auch wie die cm_date.agi Skript, mit Ihren Administrator für weitere Details zu besprechen.
    @@ -6542,6 +6886,12 @@ if ($ADD==99999)
    Benutzerdefinierte Dialplan Eintrag - Dieses Feld ermöglicht es Ihnen, in jedem dialplan Elemente, die Sie für die Call-Menü eingeben wollen. +
    +
    +
    + Qualifizieren SQL - Dieses Feld ermöglicht es Ihnen, SQL - Structured Query Language - Datenbank-Fragmente, wie mit Filtern, um festzustellen, ob dieser Aufruf Menü sollte für den Anrufer oder nicht spielen. Diese Funktion funktioniert nur, wenn der Anruf hat die CallerIDName Satz, bevor sie an diesem Aufruf Menü gesendet, entweder als Outbound-Umfrage zu übertragen oder durch den Einsatz von einem Tropfen Anruf-Menü für eine In-Gruppe anrufen. Wenn es eine Übereinstimmung gibt, wird der Anruf normal weitergehen. Wenn es keine Übereinstimmung gibt, wird der Anruf an die D-Option oder der ungültigen Option zu gehen, wenn kein D-Option eingestellt ist. Sie können keine einfachen Anführungszeichen in diesem Bereich, nur doppelte Anführungszeichen, wenn sie gebraucht werden. Der Standardwert ist leer für Behinderte. + + @@ -6673,7 +7023,7 @@ if ($ADD==99999) VICIDIAL_CAMPAIGN_HOTKEYSTABELLE


    - Durch den Gebrauch von kundenspezifischen Kampagne hot keys, benenntVertreter, die verwenden, der vicidial Netz-Klient Dose Hängezustandund Einteilung, gerade indem sie einen einzelnen Schlüssel auf ihrerTastatur betätigen. Es gibt two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. + Durch den Gebrauch von kundenspezifischen Kampagne hot keys, benenntVertreter, die verwenden, der vicidial Netz-Klient Dose Hängezustandund Einteilung, gerade indem sie einen einzelnen Schlüssel auf ihrerTastatur betätigen. Es gibt two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. Sie können auch LTMG oder XFTAMM als Zustände, eine automatische Übertragung der Leave-Voicemail-Option auslösen. @@ -6872,10 +7222,10 @@ if ($ADD==99999)
    - Index-Text - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + Index-Text - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables:
    - <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> + <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> </iframe>

    @@ -6964,6 +7314,26 @@ if ($ADD==99999)
    Landesspezifische Anrufzeit Definition - Dies ist der zwei Buchstaben Code für das Land, für das die Anrufzeit Definition gilt. Damit diese ausgeführt wird muss die in der Kampagne gesetzte lokale Anrufzeit diese landesspezifische Anrufzeit Aufzeichnung enthalten, genauso wie alle anzurufenden Anschlüsse den landesspezifischen zwei Buchstaben Code enthalten müssen . + +
    + Ferien ID - Dies ist der Kurzname einer Ferienwohnung Definition. Dies muss eine eindeutige Kennung sein. Verwenden Sie keine Leerzeichen oder Satzzeichen für dieses Feld. max 30 Zeichen, mindestens 2 Zeichen. + +
    +
    + Feiertags-Name - Dies ist ein beschreibender Name der Ferienwohnung Definition. Dies ist eine kurze Zusammenfassung der Ferien Definition. max 100 Zeichen, mindestens 2 Zeichen. + +
    +
    + Ferien Kommentare - This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-. max 255 characters. + +
    +
    + Feiertag Datum - Dies ist das Datum des Feiertags. + +
    +
    + Ferien-Status - Dies ist der Status des Urlaubs Eintrag. ACTIVE-Status bedeutet, dass der Urlaub auf der Ferieninsel Datum wird aktiviert. INACTIVE Status bedeutet, dass der Urlaub auch am Feiertag Datum wird ignoriert. EXPIRED bedeutet, dass der Urlaub hat es Feiertagsdatum weitergegeben. Standard ist inaktiv. + @@ -7106,6 +7476,10 @@ if ($ADD==99999) Löschen Voicemail Nach E-Mail - Mit dieser Einstellung können Sie die Voicemail-Nachrichten aus dem System gelöscht haben, nachdem sie per E-Mail haben gewesen. Der Standardwert ist N. +
    +
    + Voicemail-Gruß - Diese optionale Einstellung ermöglicht es Ihnen, eine Voicemail-Ansage Audiodatei aus dem Audio-Speicher definieren. Standardeinstellung ist leer. +
    Voicemail-Zone - Diese Einstellung können Sie die Zone, dass diese Voicemail-Box wird an eingestellt werden, wenn die Zeit für eine Meldung protokolliert wird eingestellt. Standard wird in den Systemeinstellungen festgelegt. @@ -7149,6 +7523,8 @@ if ($ADD==99999) Sicherheit Phrase
  • Anmerkungen +
  • Rank +
  • Owner
    ANMERKUNGEN: Die übertreffenleitung Ladevorrichtung Funktionalitätwird durch eine Reihe Perl Indexe ermöglicht und muß eine richtigzusammengebaute /etc/astguiclient.conf Akte im Platz auf dem webserver haben. Auch ein Paarperl Module müssen für sie, um außerdemzu arbeiten - OLE-Storage_Lite-Storage_Lite undVerteilungsbogen-ParseExcel geladen werden. Sie können aufLaufzeitfehler in diesen überprüfen, indem Sie Ihre Apache error_logAkte betrachten. Auch für Doppelprüfungen gegen gampaignverzeichnet, die Liste, die neue Leitungen hat, in es einzusteigenmuß im System verursacht werden, bevor Sie beginnen, die Leitungen zuladen. @@ -7240,7 +7616,7 @@ if ($ADD==99999)

    - Set As Webphone - Wenn diese Option auf Y wird versuchen, ein Web-basiertes Handy zu laden, wenn der Agent loggt sich in ihren Agenten-Bildschirm. Die Standardeinstellung ist N. + Set As Webphone - Wenn diese Option auf Y wird versuchen, ein Web-basiertes Handy zu laden, wenn der Agent loggt sich in ihren Agenten-Bildschirm. Die Standardeinstellung ist N. Die Y_API_LAUNCH Option kann mit dem Agenten-API verwendet werden, um die webphone in einem separaten Fenster zu öffnen oder Iframe.
    @@ -7291,6 +7667,10 @@ if ($ADD==99999) Löschen Voicemail Nach E-Mail - Mit dieser Einstellung können Sie die Voicemail-Nachrichten aus dem System gelöscht haben, nachdem sie per E-Mail haben gewesen. Der Standardwert ist N. +
    +
    + Voicemail-Gruß - Diese optionale Einstellung ermöglicht es Ihnen, eine Voicemail-Ansage Audiodatei aus dem Audio-Speicher definieren. Standardeinstellung ist leer. +

    @@ -8120,6 +8500,11 @@ if ($ADD==99999)
    Aktive Voicemail-Server - Im Multi-Server-Systemen, ist dies der Server, der alle Voicemailboxen behandelt. Dieser Server ist auch, wenn die Einwahl-Anweisungen generiert werden aus hochgeladen werden, die 8168 Aufnahmen. +
    +
    +
    + Erlauben Voicemail Gruß Chooser - Wenn diese Einstellung aktiviert ist es erlaubt Ihnen, eine Audio-Datei aus dem Audio-Speicher wählen, die als Voicemail-Ansage zu einem bestimmten Voicemail-Box gespielt werden. Standard ist 0 für Behinderte. +

    @@ -8185,6 +8570,11 @@ if ($ADD==99999)
    Aktivieren Sie Erweiterte Liste Stats - Diese Einstellung ermöglicht es zwei weitere Säulen, auf die meisten der Liste Status Zusammenbruch Tabellen auf der Liste Modifizierung und Änderung Kampagne Seiten angezeigt werden. Penetration ist als der Prozentsatz von Leitungen, die bei oder oberhalb der Kampagne Anruf Count Limit sind und oder der Status wird als abgeschlossen gekennzeichnet definiert. Standard ist 1 für aktivierte. +
    +
    +
    + Verbesserte Disconnect Logging - Diese Einstellung aktiviert die Protokollierung der Anrufe, die ein CONGESTION Signal mit einer Ursache-Code von 1, 19, 21, 34 oder 38 zu bekommen. Wir empfehlen in der Regel nicht mit dieser Freigabe in den USA. Standard ist 0 für Behinderte. +

    @@ -8201,6 +8591,26 @@ if ($ADD==99999)
    Kontakte aktiviert - Diese Einstellung aktiviert die Kontakte Abs. Admin in die ein Manager zu ändern oder zu löschen Kontakte im System, die als Teil einer benutzerdefinierten Transfer in einer Kampagne, wo ein Agent für Kontakte nach Vorname Nachname oder Büro suchen können verwendet werden kann hinzufügen können Nummer und wählen Sie dann eine der vielen Zahlen mit diesem Kontakt zugeordnet. Diese Funktion wird oft von den Betreibern oder im Schaltschrank, wo Funktionen muss der Benutzer einen Anruf an einen Nicht-Agent Telefon übertragen würden verwendet. Standard ist 0 für Behinderte. +
    +
    +
    + Aufruf Menü Qualifizieren Aktiviert - Mit dieser Einstellung können Sie die Option Anruf in Menüs, um eine SQL Qualifikation auf die Leute, die diesen Ruf hören Menü setzen. Für weitere Informationen darüber, wie dieses Feature funktioniert, zeigen Sie die Hilfe für Call Menüs. Standard ist 0 für Behinderte. + +
    +
    +
    + Level 8 Deaktivieren hinzufügen - Diese Einstellung wird aktiviert, wenn jede Stufe 8 Benutzer hinzufügen oder Kopieren auf einen Eintrag im System, egal, was ihre Benutzer-Einstellungen sind zu vermeiden. Ausgenommen von diesen Beschränkungen sind die Fähigkeit, DNC und Filter Phone Gruppen Zahlen zu addieren und das Hinzufügen eines neuen Lead-Seite. Standard ist 0 für Behinderte. + +
    +
    +
    + Admin Liste Grafen - Diese Einstellung können Sie die Liste zählt, die auf den Listen Notierung und die Kampagne modify Bildschirme erscheinen deaktivieren. Der Standardwert ist 1 für aktivierte. + +
    +
    +
    + Erlauben Sie E-Mails - Dies ist, wo Sie festlegen können, ob dieses System in der Lage, eingehende E-Mails zusätzlich zu Telefon Anrufe empfangen. +

    @@ -8244,7 +8654,7 @@ if ($ADD==99999)

    - QC Funktionen Aktive - Mit dieser Option können Sie aktivieren oder deaktivieren Sie die QC oder Quality Control-Funktionen. Der Standardwert ist 0 für inaktiv. + QC Funktionen Aktive - Mit dieser Option können Sie aktivieren oder deaktivieren Sie die QC oder Qualitätskontrolle-Funktionen. Der Standardwert ist 0 für inaktiv.
    @@ -8366,6 +8776,16 @@ if ($ADD==99999)
    QueueMetrics Telefon Umwelt Telefon anhängen - Diese Option, falls aktiviert, wird der Agent anhängen Telefon anmelden, um die data4 Rekord in der Warteschlange Log-Tabelle, wenn die Kampagne Telefon Umwelt-Feld gefüllt wird. Standard ist 0 für Behinderte. +
    +
    +
    + QueueMetrics Sockel senden - Diese Option, falls aktiviert, werden QM-Daten zu einer Web-Seite, die es über eine Socket sendet für die Anmeldung zu senden. Die CONNECT_COMPLETE Option CONNECT, COMPLETEMITTELund COMPLETECALLER Ereignisse an den url nachstehend definiert senden. Der Standardwert ist NONE für Behinderte. + +
    +
    +
    + QueueMetrics Sockel senden URL - Wenn Sockel Send oben aktiviert ist, ist dies die URL, die verwendet werden, um die Daten zu senden. Standardwert ist Empty für Behinderte. +

    @@ -8449,7 +8869,110 @@ if ($ADD==99999)



    + 0) + { + ?> + Vicidial-Mail-Konten

    +
    +
    + The Vicidial E-Mail-Konten management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE. +
    +
    +
    + E-Mail-Konto-ID - Dies ist der kurze Name des E-Mail-Konto, es ist nicht editierbar nach anfänglichen Vorlage darf keine Leerzeichen enthalten und muss zwischen 2 und 20 Zeichen lang sein. + +
    +
    +
    + E-Mail Account Name - Dies ist der vollständige Name des E-Mail-Konto, muss er zwischen 2 und 30 Zeichen lang sein. + +
    +
    +
    + Aktive - Diese legt fest, ob dieses Konto für neue E-Mails überprüft werden, um in den Dialer geladen werden. + +
    +
    +
    + This allows for a lengthy description, if needed, of the email account. 255 characters max. + +
    +
    +
    + E-Mail Account - Specifies whether the account is used for inbound or outbound email messages. Should be set to INBOUND. + +
    +
    +
    + Admin Benutzer-Gruppe - Dies ist die administrative Gruppe für das Inbound-Gruppe, ermöglicht diese Admin Betrachten dieser in-group von Benutzergruppe beschränkt. Standard ist - ALLE -, die jeder Benutzer admin, dies in-group sehen können. + +
    +
    +
    + E-Mail-Konto-Protokoll - This is the email protocol used by the account you are setting up access to. Currently only IMAP and POP3 accounts are supported. + +
    +
    +
    + The email address of the account you are setting up access to. Replies to email messages from the agent interface will read as coming from this address. + +
    +
    +
    + E-Mail-Konto Server - Die E-Mail-Server, dass das Konto auf untergebracht. + +
    +
    +
    + The login used to access this account. Usually it's the portion of the reply-to address before the -at- symbol. + +
    +
    +
    + E-Mail Konto Passwort - The password used to access this account. This is usually set at the time the email account is created. + +
    +
    +
    + How often this email account should be checked. The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time. + +
    +
    +
    + In-Gruppen-ID - Die In-Fraktion, dass E-Mails an gesendet werden. + +
    +
    +
    + Standard Liste ID - Die Liste führt die ID wird in gegebenenfalls eingefügt werden. + +
    +
    +
    + In-Group Call Handle-Methodee - This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into vicidial_list as a new lead. EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Gruppe Kampagne Identifikation" box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group Liste Identifikation" box below. + +
    +
    +
    + In-Gruppe-Agent Suchmethode - Der Agent Suchverfahren von der Inbound-Gruppe verwendet werden, LO Lastverteilte-Overflow ist und werden versuchen, den Anruf an einen Agenten auf dem lokalen Server zu senden, bevor Sie sie an einen Agenten auf einem anderen Server zu senden, ist LB Lastverteilte und wird versuchen, den Anruf an den nächsten Agenten, egal auf welchem ​​Server sie sind zu senden, SO ist Server-Only und nur versuchen, die Anrufe auf die Agenten auf dem Server zu senden, dass der Anruf einging. Standard ist LB. IS THIS NECESSARY? + +
    +
    +
    + In-Group Liste Identifikation - Dies ist die Liste ID, die verwendet werden, um für ein Spiel in dem gesucht werden soll. + +
    +
    +
    + In-Gruppe Kampagne Identifikation - Dies ist die Kampagnen-ID, die verwendet werden, um für ein Spiel in dem gesucht werden soll. + + + + +



    + VICIDIAL CUSTOM TEMPLATE MAKER


    @@ -8496,7 +9019,7 @@ if ($ADD==99999) Maximale Systemspannung Statistik Berichte


    - Diese Statistiken werden zwischengespeichert Summen, die jeden Tag überall in Echtzeit durch Back-End-Prozesse gespeichert werden. Bei eingehenden Anrufen werden die gesamten Anrufe pro in-group für jeden Anruf, den Prozess, der berechnet betritt berechnet. Für das gesamte System zählt, werden die Summen von Log-Einträgen sowie andere in-group-und Kampagnen-Summen erzeugt. Diese Summen können nicht addieren sich aufgrund der Einstellungen, die Sie in Ihrem System haben, sowie, wenn der Anruf aufgelegt. + Diese Statistiken werden zwischengespeichert Summen, die jeden Tag überall in Echtzeit durch Back-End-Prozesse gespeichert werden. Bei eingehenden Anrufen werden die gesamten Anrufe pro in-group für jeden Anruf, den Prozess, der berechnet betritt berechnet. Für das gesamte System zählt, werden die Summen von Log-Einträgen sowie andere in-group-und Kampagnen-Summen erzeugt. Diese Summen können nicht addieren sich aufgrund der Einstellungen, die Sie in Ihrem System haben, sowie, wenn der Anruf aufgelegt. VICIDIAL QC-Status-Codes


    - The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + The Qualitätskontrolle-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. +



    + Berichte

    + +
    +
    + Agent Time Detail - In this report you can view how much time agents spent on what.
    + TIME CLOCK = Time the agent been logged in to the time clock.
    + MITTELTIME = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + PAUSE = Time the agent is in pause mode (LOGIN + LAGGED + ...).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + - The next table is pause codes and their time.
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +
    +
    + Agent Status Detail - In this report you can view what and how many statuses has been selected by the agents.
    + CALLS = Total number of calls sent to the user.
    + CIcalls = Total number of call where there was a Human Antwort which is set under "Admin" -> "System Status".
    + DNC/CI% = How much in percent DNC (Do Not Call) per Human Antworts.
    + And the rest is justSystemstatusthat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Status".
    + +
    +
    + Agent Performance Detail - This is a combination of Agent Time Detail and Agent Status Detail.
    + (Statistics related to handling of calls only)
    + CALLS = Total number of calls sent to the user.
    + TIME = Total time of these (PAUSE + WAIT + TALK + DISPO).
    + PAUSE = Amount of time being paused in related to call handling.
    + AVG means Average so everything -AVG is for example amount of PAUSE-time divided by total number of calls: (PAUSE / CALLS = PAUSAVG)
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + And the rest is justSystemstatusthat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Status".
    + - Next table is Pause Codes.
    + GESAMTMENGE = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + NONPAUSE = Everything except pause (WAIT + TALK + DISPO).
    + PAUSE = Only Pause.
    + - The last table is pause codes and their time (like "Agent Time Detail").
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +















    @@ -8581,7 +9157,7 @@ if ($ADD==73) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -8594,11 +9170,19 @@ if ($ADD==73) echo "FILTER: $lead_filter_id
    \n"; echo "CALL LIMIT: $call_count_limit\n"; echo "CALL TIME: $local_call_time

    \n"; + echo "With Filter:\n"; + echo "

    \n"; ### call function to calculate and print dialable leads $single_status=0; dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,$fSQL); + echo "

    \n"; + echo "Without Filter:\n"; + echo "

    \n"; + + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,''); + echo "

    \n"; echo "\n"; @@ -8690,6 +9274,7 @@ if ($ADD==7111111) $agent_log_id = 'agent_log_id'; $entry_list_id = 'entry_list_id'; $call_id = 'call_id'; + $user_group = 'user_group'; echo "\n"; echo "\n"; @@ -8841,6 +9426,7 @@ if ($ADD==7111111) $script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); $script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); $script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); + $script_text = eregi_replace('--A--user_group--B--',"$user_group",$script_text); $script_text = eregi_replace("\n","
    ",$script_text); @@ -8981,7 +9567,7 @@ if ($ADD=="1A") if ($LOGuser_level==9) {$levelMAX=10;} else {$levelMAX=$LOGuser_level;} - echo "
  • \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) { @@ -9116,6 +9702,7 @@ if ($ADD==11) echo "\n"; + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -9236,7 +9823,7 @@ if ($ADD==111) } else { - echo "\n"; + echo "\n"; } echo "\n"; echo "\n"; @@ -9275,6 +9862,9 @@ if ($ADD==111) if ($ADD==121) { + ### filter for DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); + echo "
    Выбрать дату обратного звонка :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ if ($agent_display_dialable_leads > 0)

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ if ($agent_display_dialable_leads > 0) -
    НОВЫЙ РУЧНОЙ НАБОР НОМЕРА ДЛЯ :

    Введите сведения о номере, который Вы хотите вызвать. + - + @@ -13613,7 +15164,7 @@ if ($agent_display_dialable_leads > 0)
    НОВЫЙ РУЧНОЙ НАБОР НОМЕРА ДЛЯ :

    Введите сведения о номере, который Вы хотите вызвать.
    \n"; } @@ -13578,9 +15125,9 @@ if ($agent_display_dialable_leads > 0)
    Код набора:   (В США и Канаде это обычно единица)
    телефон Number: номер телефона: -   (digits only) +   (только цифры) @@ -13593,6 +15140,10 @@ if ($agent_display_dialable_leads > 0)

        +

    +     +

    +


    Если Вы хотите набрать номер, но не добавлять его в буфер, введите полный номер, который хотите вызвать, в поле ВВОД ДРУГОГО НОМЕРА ниже. Чтобы завершить этот вызов, Вам придется открыть ссылку ВЫЗОВЫ В ЭТОЙ СЕССИИ снизу на экране и завершить его кликом по ссылке на соответствующую линию.
     
    ВЫБОР ВХОДЯЩЕЙ ГРУППЫ

    \n";} + {echo "

    \n";} ?> Выбор входящей группы
    @@ -13635,7 +15186,7 @@ if ($agent_display_dialable_leads > 0)
    ВЫБОР ТЕРРИТОРИИ

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ if ($agent_display_dialable_leads > 0) -
          AGENT ВЫЗОВ LOG:             close [X]
    +
          Журнал вызов агента:             близко [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ if ($agent_display_dialable_leads > 0) -
          Поиск контакта:             close [X]
    +
          Поиск контакта:             близко [X]

    \n";} + {echo "

    \n";} ?>

    Примечание: при выполнении поиска контакта, шаблона или частичное условия поиска не допускается.
    Просьбы связаться с поиска всех зарегистрированных в системе. @@ -13679,31 +15230,31 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + - + - + - + - + - + - +
    Office Number: номер офиса:
    Имя Name: имя:
    Фамилия Name: фамилия:
    BU Name: наименование фирмы:
    Department: отдел:
    Group Name: название группы:
    Job Должность: Должность:
    Location: Расположение:

    ВВОД SEARCH             восстановить форму

    начать поиск             восстановить форму


      @@ -13711,10 +15262,10 @@ if ($agent_display_dialable_leads > 0) -
          Результаты КОНТАКТЫ ПОИСК:             close [X]
    +
          Результаты КОНТАКТЫ ПОИСК:             близко [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ if ($agent_display_dialable_leads > 0) -
          ПОИСК LEAD:             close [X]
    + "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4705,7 +4870,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - live_conf_HTML = live_conf_HTML + ""; + live_conf_HTML = live_conf_HTML + ""; } } } @@ -4732,7 +4897,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { agentchannel = channelfieldA; - document.getElementById("AgentMuteSpan").innerHTML = ""; + document.getElementById("AgentMuteSpan").innerHTML = ""; } } else @@ -4741,7 +4906,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { agentchannel = channelfieldA; - document.getElementById("AgentMuteSpan").innerHTML = ""; + document.getElementById("AgentMuteSpan").innerHTML = ""; } } // document.getElementById("agentchannelSPAN").innerHTML = agentchannel; @@ -4849,7 +5014,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4889,8 +5054,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH agent VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4900,6 +5066,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4910,11 +5077,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // filename = filedate + "_" + user_abb; var query_recording_exten = recording_exten; var channelrec = "Local/" + conf_silent_prefix + '' + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "\"Stoppa"; + var conf_rec_start_html = "\"Stoppa"; if (LIVE_campaign_recording == 'ALLFORCE') { - document.getElementById("RecorDControl").innerHTML = "\"Starta"; + document.getElementById("RecorDControl").innerHTML = "\"Starta"; } else { @@ -4926,17 +5093,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) filename = taskconffile; var query_recording_exten = session_id; var channelrec = "Local/" + conf_silent_prefix + '' + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "\"Starta"; + var conf_rec_start_html = "\"Starta"; if (LIVE_campaign_recording == 'ALLFORCE') { - document.getElementById("RecorDControl").innerHTML = "\"Starta"; + document.getElementById("RecorDControl").innerHTML = "\"Starta"; } else { document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4981,18 +5148,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Manager sends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARKERA, FROMPARKERA, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("Du måste välja en agent för att överföra till när man använder agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Ta"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Parkera"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Ta"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Parkera"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5016,332 +5555,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Ta"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKERA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Parkera"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKERA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Ta"; - if (ivr_park_call=='ENABLED_PARKERA_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Parkera"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKERA_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move på to disposition the call @@ -5438,10 +5706,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert("VICIDIAL Call log entered:\n" + document.vicidial_form.uniqueid.value); if ( (taskMDstage != "start") && (VDstop_rec_after_each_call == 1) ) { - var conf_rec_start_html = "\"Starta"; + var conf_rec_start_html = "\"Starta"; if ( (LIVE_campaign_recording == 'NEVER') || (LIVE_campaign_recording == 'ALLFORCE') ) { - document.getElementById("RecorDControl").innerHTML = "\"Starta"; + document.getElementById("RecorDControl").innerHTML = "\"Starta"; } else {document.getElementById("RecorDControl").innerHTML = conf_rec_start_html;} @@ -5508,7 +5776,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttp.responseText); var DLcounT = xmlhttp.responseText; - document.getElementById("dialableleadsspan").innerHTML ="Dialable Leads:
    " + DLcounT; + document.getElementById("dialableleadsspan").innerHTML ="Ringbara Leads:
    " + DLcounT; } } @@ -5564,16 +5832,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (EfternamnCallbackCount < CBcounT) || (EfternamnCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - EfternamnCallbackCount = CBcounT; - EfternamnCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (EfternamnCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5622,7 +5890,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - EfternamnCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5662,7 +5930,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          ПОИСК LEAD:             близко [X]

    \n";} + {echo "

    \n";} ?>

    Примечание: при выполнении поиска для свинца, номер телефона, или привести ID самые лучшие поля для использования.
    Использование других областях может быть медленным. Ведущий поиски не позволяет шаблону или частичное условия поиска.
    Ведущие поисковые запросы все вошли в систему. @@ -13733,10 +15284,10 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + @@ -13765,7 +15316,7 @@ if ($agent_display_dialable_leads > 0) - +
    телефон Number: номер телефона:
    телефон Number Fields: В полях Номер телефона: Основной номер телефона Альтернативный номер телефона @@ -13744,7 +15295,7 @@ if ($agent_display_dialable_leads > 0)
    Lead ID: привести ID:
    : :

    ВВОД SEARCH             восстановить форму

    начать поиск             восстановить форму


      @@ -13773,34 +15324,34 @@ if ($agent_display_dialable_leads > 0) - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2995,12 +3107,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          РЕЗУЛЬТАТЫ ПОИСКА:             close [X]
    +
          РЕЗУЛЬТАТЫ ПОИСКА:             близко [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          Call Примечания LOG:             close [X]
    + +
          Call Notes LOG:             близко [X]

    \n";} + {echo "

    \n";} ?> -
    Call Примечания список
    +
    Call Notes список


      - Закрыть Box информация + Закрыть Box информация
    - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Сведения о клиенте:             close [X] + \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Сведения о клиенте:             близко [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ if ($agent_display_dialable_leads > 0) \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    УКАЖИТЕ КОД ПАУЗЫ :

    \n";} + {echo "

    \n";} ?> Пауза Code Selection @@ -13824,7 +15375,7 @@ if ($agent_display_dialable_leads > 0) diff --git a/agc_2-X/trunk/LANG_www/agc_se/vicidial.php b/agc_2-X/trunk/LANG_www/agc_se/vicidial.php index e3f84439..cab87a47 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_se/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -466,7 +489,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -488,6 +511,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -499,11 +524,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefon inloggning $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls på hold count @@ -521,7 +546,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Lägg på kund $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT RING by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable alternativa RING by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link på the agent login screen @@ -551,25 +576,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Titel'; +$label_title = ' Titel'; $label_first_name = 'Förnamn'; $label_middle_initial = 'MI'; -$label_last_name = 'Efternamn'; +$label_last_name = 'Efternamn '; $label_address1 = 'Adress1'; $label_address2 = 'Adress2'; $label_address3 = 'Adress3'; $label_city = 'Stad'; -$label_state = 'Stat'; +$label_state = ' Stat'; $label_province = 'Provins'; $label_postal_code = 'Postnummer'; -$label_vendor_lead_code = 'VendorID'; -$label_gender = 'Gender'; +$label_vendor_lead_code = 'Leverantör ID'; +$label_gender = ' Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'Landskod'; $label_alt_phone = 'Alternativ telefon'; $label_security_phrase = 'Visa'; $label_email = 'Email'; -$label_comments = 'Kommentarer'; +$label_comments = ' Kommentarer'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -609,12 +634,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -652,10 +677,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -685,9 +710,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER OVERRIDE OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER ÖVERSKRIDNING OF agent SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -711,17 +736,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -747,7 +772,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { 0) // alert(logincampaign_query); // alert(xmlhttp.responseText); document.getElementById("LogiNCamPaigns").innerHTML = Nactiveext; - document.getElementById("LogiNReseT").innerHTML = ""; + document.getElementById("LogiNReseT").innerHTML = ""; document.getElementById("VD_campaign").focus(); } } @@ -868,8 +893,8 @@ echo "\n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    Выбор занесенных в памяти :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ if ($agent_display_dialable_leads > 0)
    ВЫБРАТЬ ПСЕВДОНИМ ГРУППЫ :

    \n";} + {echo "

    \n";} ?> Выбор превдонима группы @@ -13843,6 +15394,18 @@ if ($agent_display_dialable_leads > 0)
    + +
    выбрать диск в группе :
    +
    \n";} + ?> + набрать в группу Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ if ($agent_display_dialable_leads > 0)
    + +
    еще один живой сессии агента была открыта под своим именем пользователя. она была отключена. Щелкните ОК, чтобы агент экрана.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ if ($agent_display_dialable_leads > 0) exit; -?> \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_ru/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_ru/voicemail_check.php index 6d6491ff..538d9f4f 100644 --- a/agc_2-X/trunk/LANG_www/agc_ru/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_ru/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Неверный Имя агента/Пароль: |$user|$pass|\n"; - exit; + echo "Неверный Имя агента/Пароль: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Неверный server_ip: |$server_ip| or Неверный session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Проверка голосовой почты"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Проверка голосовой почты"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "ящик голосовой почты $vmail_box неверный\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_se/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_se/active_list_refresh.php index db2c69d8..67fc0719 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_se/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Felaktig Användarnamn/Lösenord: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Felaktig server_ip: |$server_ip| or Felaktig session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Felaktig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Visa Lista: "; -if ($ADD==1) {echo "Aktiva anknytningar";} -if ($ADD==2) {echo "Upptagna anknytningar";} -if ($ADD==3) {echo "Externa linjer";} -if ($ADD==4) {echo "Lokala anknytningar";} -if ($ADD==5) {echo "Konferenser";} -if ($ADD==99999) {echo "HJÄLP";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Visa Lista: "; + if ($ADD==1) {echo "Aktiva anknytningar";} + if ($ADD==2) {echo "Upptagna anknytningar";} + if ($ADD==3) {echo "Externa linjer";} + if ($ADD==4) {echo "Lokala anknytningar";} + if ($ADD==5) {echo "Konferenser";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_se/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_se/astguiclient.php index e5faaf63..ca725ed1 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_se/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -135,13 +136,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -347,7 +348,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -373,7 +374,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -494,15 +495,15 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var phone_pass = ''; var session_name = ''; var image_livecall_OFF = new Image(); - image_livecall_OFF.src="../agc/images/agc_live_call_OFF.gif"; + image_livecall_OFF.src="../agc/images/agc_live_call_OFF_se.gif"; var image_livecall_ON = new Image(); - image_livecall_ON.src="../agc/images/agc_live_call_ON.gif"; + image_livecall_ON.src="../agc/images/agc_live_call_ON_se.gif"; var image_voicemail_OFF = new Image(); - image_voicemail_OFF.src="../agc/images/agc_check_voicemail_OFF.gif"; + image_voicemail_OFF.src="../agc/images/agc_check_voicemail_OFF_se.gif"; var image_voicemail_ON = new Image(); - image_voicemail_ON.src="../agc/images/agc_check_voicemail_ON.gif"; + image_voicemail_ON.src="../agc/images/agc_check_voicemail_ON_se.gif"; var image_voicemail_BLINK = new Image(); - image_voicemail_BLINK.src="../agc/images/agc_check_voicemail_BLINK.gif"; + image_voicemail_BLINK.src="../agc/images/agc_check_voicemail_BLINK_se.gif"; var favorites = new Array(); var favorites_names = new Array(); var favorites_busy = new Array(); @@ -1209,7 +1210,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "Spela in"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1272,7 +1273,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "Spela in"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1388,7 +1389,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "LIVESAMTAL PÅ DENNA TELEFON:
    "; + var live_calls_HTML = "LIVESAMTAL PÅ DENNA TELEFON:
    #KLIENTKANALFJÄRRKANALRECORDLägg påXFERPARKERA
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1404,7 +1405,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var Spela inbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1416,9 +1417,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Stoppa inspelningen";} else - {live_calls_HTML = live_calls_HTML + "Spela in";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1638,7 +1639,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=-1; if (parked_count > 0) { - var park_HTML = "
    #KLIENTKANALFJÄRRKANALRECORDLägg påXFERPARK
    Lägg påXFERPARKERA
    Lägg påXFERPARK
    " + var park_HTML = "
    #CHANNEL
      SAMTAL ID
    PARKERAERAD AV
      PARKERAERAD TID
    Lägg påXFERSVARA
    " while (loop_ct < parked_count) { loop_ct++; @@ -1766,7 +1767,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "KONFERENS " + head_conf + "    Registrerat till: " + head_reg + "   " + reglink + "         Börja konferens
    Uppdatera     Spela in         Skicka DTMF         Ring från konf
    "; + var conf_head_HTML = "KONFERENS " + head_conf + "    Registrerat till: " + head_reg + "   " + reglink + "         Börja konferens
    Uppdatera     Record         Skicka Tonval         Ring från konf
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2723,11 +2724,11 @@ echo "\n"; LOGGA UT
    \n"; ?> - - - - - + + + + +
    #CHANNEL
      SAMTAL ID
    PARKERAD AV
      PARKERAD TID
    Lägg påXFERSVARA
    HuvudpanelLinjerpanelKonferenspanelKolla röstbrevlådanLivesamtalHuvudpanelLinjerpanelKonferenspanelKolla röstbrevlådanLivesamtal
    @@ -2736,7 +2737,7 @@ echo "\n"; - ";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9573,21 +11720,21 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Gather Call Log and notes ### $NOTESout=''; if ($search != 'logfirst') - {$NOTESout .= "
    Samtalslogg FÖR DENNA LEAD:
    \n";} + {$NOTESout .= "
    SAMTALSLOGG FÖR DETTA LEAD:
    \n";} $NOTESout .= "
    TRUNK HANGUP

    +
    TRUNK påläggningssignal

    Active Trunks Menu
    Lägg på trunk   |   Kapa trunk   |   @@ -2787,7 +2788,7 @@ echo "\n"; - - + diff --git a/agc_2-X/trunk/LANG_www/agc_se/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_se/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_se/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_se/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_se/call_log_display.php index 1d6a1ebc..6243e5f4 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_se/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Felaktig Användarnamn/Lösenord: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Felaktig server_ip: |$server_ip| or Felaktig session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Felaktig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Visa samtalslogg"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Visa samtalslogg"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten är ej giltig eller protokoll $protocol är ej giltig\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_se/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_se/conf_exten_check.php index fc4af128..a32b4f51 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_se/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_se/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_se/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_se/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_se/functions.php b/agc_2-X/trunk/LANG_www/agc_se/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_se/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_se/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_se/inbound_popup.php index 9b0b4560..0ed11b12 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_se/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "\n"; echo "\n";echo "\n"; echo "
    PARKERAERADE SAMTAL:
    +
    PARKERADE SAMTAL:
    Tillbaka till startsidan

    @@ -2800,7 +2801,7 @@ echo "\n";
    RÖSTBREVLÅDA     NY:     GAMMAL:             MANUELL UPPRINGNING       DIAL
    PARKERAERADE SAMTAL: 0                LOKALA ANKNYTNINGAR
    PARKERADE SAMTAL: 0                LOKALA ANKNYTNINGAR
    UTGÅENDE SAMTAL:
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_se/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_se/live_exten_check.php index 8b084f62..24c1ade4 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_se/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Felaktig Användarnamn/Lösenord: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Felaktig server_ip: |$server_ip| or Felaktig session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Felaktig session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Kolla aktiv anknytning"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Kolla aktiv anknytning"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten är ej giltig eller protokoll $protocol är ej giltig\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_se/manager_send.php b/agc_2-X/trunk/LANG_www/agc_se/manager_send.php index d855d80e..fff4cebf 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_se/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "HJÄLP";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,9 +441,9 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { - echo "ERROR Du har inte behörighet att logga in på andra agenters sessions $exten\n"; + echo "ERROR Du har inte behörighet att logga in på andra agenters sessioner $exten\n"; exit; } @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate kommandot skickat till Exten $exten Kanal $channel på $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKERAED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARKERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARKERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='PARKERA_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKERAED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARKERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARKERA',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context måste väljas\n"; echo "ext_priority $ext_priority måste väljas\n"; echo "\nRedirect Action ej skickat\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference på $server_ip, Redirect kommandot skrevs ej\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Hittar ingen tom konferens på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Hittar ingen tom konferens på $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel är inte aktivt på $call_server_ip, Redirect kommandot skrevs ej\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel är inte aktivt på $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel är inte aktivt på $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel är inte aktivt på $server_ip, Redirect kommandot skrevs ej\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel är inte aktivt på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel är inte aktivt på $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect kommandot skrevs ej\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX kommandot skickat till Kanal $channel på $call_server_ip and \nHungup $extrachannel på $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel på $call_server_ip, Hungup $extrachannel på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel på $call_server_ip, Hungup $extrachannel på $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel på $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority måste väljas\n"; echo "session_id $session_id måste väljas\n"; echo "\nRedirect Action ej skickat\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference på $server_ip, Redirect kommandot skrevs ej\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Hittar ingen tom konferens på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Hittar ingen tom konferens på $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel är inte aktivt på $call_server_ip, Redirect kommandot skrevs ej\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel är inte aktivt på $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel är inte aktivt på $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel är inte aktivt på $server_ip, Redirect kommandot skrevs ej\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel är inte aktivt på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel är inte aktivt på $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra kommandot skickat till Kanal $channel and \nExtraChannel $extrachannel\n to $exten på $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten på $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten på $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra kommandot skickat till Kanal $channel på $call_server_ip and \nExtraChannel $extrachannel\n to $exten på $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going på in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_se/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_se/park_calls_display.php index 69947ee2..7214cfaf 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_se/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_se/phone_only.php b/agc_2-X/trunk/LANG_www/agc_se/phone_only.php index 1fb55792..a68e4a41 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_se/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -112,6 +114,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefon inloggning $clientDST = '1'; # set to 1 to check for DST på server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link på the agent login screen @@ -145,12 +148,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -213,32 +216,108 @@ echo "
    Telefon web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Stämpelklocka
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Svenska
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Logga in
     
    Användare:
    Lösenord:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefon web client: Telefonlogin\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Stämpelklocka
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Svenska
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Logga in
     
    Telefonlogin:
    Telefonlösenord:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefon web client: Telefonlogin\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Stämpelklocka
    \n";} - echo "\n"; + {echo " Stämpelklocka
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Svenska
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefon-Only Logga in
     
    Telefonlogin:
    Telefonlösenord:
      \n"; - echo "

    VERSION: $version       BUILD: $build
    \n"; - echo "
    \n\n"; +echo "
    English Svenska
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefon-Only Logga in
     
    Telefonlogin:
    Telefonlösenord:
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -294,7 +373,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -373,7 +452,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -432,7 +511,7 @@ echo " 0) { $pb=0; @@ -614,13 +693,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -720,7 +799,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_se/timeclock.php b/agc_2-X/trunk/LANG_www/agc_se/timeclock.php index 34cc92d1..1df8fc65 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_se/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); @@ -266,8 +267,8 @@ if ( ($stage == 'login') or ($stage == 'logout') ) { if ( ( ($status=='AUTOLOGOUT') or ($status=='START') or ($status=='LOGOUT') ) and ($stage=='login') ) { - $VDdisplayMESSAGE = "Du har nu inloggade"; - $LOGtimeMESSAGE = "Du loggat in på $NOW_TIME"; + $VDdisplayMESSAGE = "Du har nu loggat in"; + $LOGtimeMESSAGE = "Du loggade in $NOW_TIME"; ### Add a record to the timeclock log $stmt="INSERT INTO vicidial_timeclock_log set event='LOGIN', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', event_date='$NOW_TIME';"; diff --git a/agc_2-X/trunk/LANG_www/agc_se/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_se/vdc_db_query.php index 506615bd..fee913b4 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_se/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Felaktig Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Adress Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Server Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Server Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF agent IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -879,7 +979,7 @@ if ($ACTION == 'LogiNCamPaigns') if ($VDloginDISPLAY > 0) { $loginDATE = date("Ymd"); - $VDdisplayMESSAGE.= "

    MANAGER OVERRIDE:
    \n"; + $VDdisplayMESSAGE.= "

    MANAGER ÖVERSKRIDNING:
    \n"; $VDdisplayMESSAGE.= "
    \n"; $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "\n"; @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Manager Logga in:
    \n"; $VDdisplayMESSAGE.= "Manager Lösenord:
    \n"; - $VDdisplayMESSAGE.= "




    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -901,7 +1001,7 @@ if ($ACTION == 'LogiNCamPaigns') $camps_to_print = mysql_num_rows($rslt); echo "

    \n"; - echo "    -KLAR      -ANROP      -pause  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + echo "    -REDO      -ISAMTAL      -PAUSAD  \n"; + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { - echo "Samtalskö är frånkopplad för denna kampanj\n"; + echo "Vy över samtalskö är inaktiverat för denna kampanj\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info på the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "       "; + echo " nära "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefon     fullständigt namn     vänta     agent           SAMTAL GROUP     TYPE     anropa     typ  
    TAKE SAMTAL  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "ERROR: Du måste skriva in minst en sökterm, en av dessa måste skrivas in: lead ID, leverantör ID, telefonnummer, efternamn\n"; echo "

    "; echo "Tillbaka"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     datum\/tid     längd     STATUS     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefon     fullständigt namn     kampanj     in och ut     alternativa     påläggningssignal     info     RING  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL info RING RING
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "ERROR: Det är ett problem med dina söktermer\n"; echo "

    "; echo "Tillbaka"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "ERROR: Du måste skriva in minst en sökterm, en av dessa måste skrivas in: kontorsnummer, efternamn, förnamn\n"; echo "

    "; echo "Tillbaka"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "ERROR: Det är ett problem med dina söktermer\n"; echo "

    "; echo "Tillbaka"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no leda id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9258,11 +11390,11 @@ if ($ACTION == 'LEADINFOview') { $row=mysql_fetch_row($rslt); echo "
      #     NAME     PHONE     fullständigt namn     telefon     STATUS     LAST SAMTAL     CITY     STATE     ZIP     INFO     senaste samtalet     stad     tillstånd     zip     info     RING  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL info RING RING välj
      #     FIRST NAME     LAST NAME     sista NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       plats: $ALLlocation[$i]
    "; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo "
    Återuppringning Status:   $row[0]
    Återuppringning Bly status:   $row[7]
    Återuppringning Entry Time:   $row[1]
    Återuppringning Trigger Time:   $row[2]
    Återuppringning Kommentarer:   $row[6]
    Status för Återuppringningen:   $row[0]
    Återuppringning Lead Status:   $row[7]
    Tid när Återuppringning Skapades:   $row[1]
    Tid när Återuppringningen Triggas:   $row[2]
    Kommentarer för Återuppringning:   $row[6]
    "; echo "
    "; $hide_dial_links++; @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Titel'; + $label_title = ' Titel'; $label_first_name = 'Förnamn'; $label_middle_initial = 'MI'; - $label_last_name = 'Efternamn'; + $label_last_name = 'Efternamn '; $label_address1 = 'Adress1'; $label_address2 = 'Adress2'; $label_address3 = 'Adress3'; $label_city = 'Stad'; - $label_state = 'Stat'; + $label_state = ' Stat'; $label_province = 'Provins'; $label_postal_code = 'Postnummer'; - $label_vendor_lead_code = 'VendorID'; - $label_gender = 'Gender'; + $label_vendor_lead_code = 'Leverantör ID'; + $label_gender = ' Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'Landskod'; $label_alt_phone = 'Alternativ telefon'; $label_security_phrase = 'Visa'; - $label_email = 'Email'; - $label_comments = 'Kommentarer'; + $label_email = ' Email'; + $label_comments = ' Kommentarer'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,15 +11545,15 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefon and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "Telefon och Postkod Tidzon Matchar Ej! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { $post_phone_time_diff_alert_message=''; if ($PHONEdialable < 1) - {$post_phone_time_diff_alert_message .= " Telefon Riktnummer Utanför Dialable Zone $PHONEgmt_offset       ";} + {$post_phone_time_diff_alert_message .= " Riktnummer Utanför Dialable Zone $PHONEgmt_offset       ";} if ($POSTdialable < 1) - {$post_phone_time_diff_alert_message .= " Postnummer Utanför Dialable Zone $POSTgmt_offset";} + {$post_phone_time_diff_alert_message .= " Postnummer Utanför Ringbar Zon $POSTgmt_offset";} } } if ( ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_PHONE') or ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_POSTAL') or ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_BOTH') ) @@ -9430,12 +11562,12 @@ if ($ACTION == 'LEADINFOview') if ( ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_PHONE') or ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_BOTH') ) { if ($PHONEdialable < 1) - {$post_phone_time_diff_alert_message .= " Telefon Riktnummer Utanför Dialable Zone $PHONEgmt_offset       ";} + {$post_phone_time_diff_alert_message .= " Riktnummer Utanför Dialable Zone $PHONEgmt_offset       ";} } if ( ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_POSTAL') or ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_BOTH') ) { if ($POSTdialable < 1) - {$post_phone_time_diff_alert_message .= " Postnummer Utanför Dialable Zone $POSTgmt_offset ";} + {$post_phone_time_diff_alert_message .= " Postnummer Utanför Ringbar Zon $POSTgmt_offset ";} } if (strlen($post_phone_time_diff_alert_message)>5) @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Ringde Since Efternamn Reset:   $row[4]
    Tidszon:   $row[3]
    heter sedan senaste återställning:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " RING ";} + else + {$INFOout .= " RING ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    ringa länk:   RING ";} + else + {$INFOout .= "
    ringa länk:   RING ";} } $INFOout .= "
    väljer denna ledning
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " RING ";} + else + {$INFOout .= " RING ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Ringde Count:   $row[24]
    Efternamn Local Call Time:   $row[25]
    Antal Samtal:   $row[24]
    Lokal Tid För Senaste Samtalet:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9696,7 +11842,7 @@ if ($ACTION == 'LEADINFOview') if ($g > 0) {sort($ALLsort, SORT_NUMERIC);} else - {$NOTESout .= "";} + {$NOTESout .= "";} $u=0; while ($g > $u) @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    e loggen för denna ledning:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     datum\/tid     agent     längd     STATUS     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefon     kampanj     in och ut     alternativa     påläggningssignal  
      FULL NAME     fullständigt namn  
    Inga samtal finns
    Inga samtal hittades
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   datum\/tid   agent   kampanj   e-post till   bilagor
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,9 +11956,9 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { - echo "ERROR: Samtalskö är frånkopplad för denna kampanj\n"; + echo "ERROR: Vy över samtalskö är inaktiverat för denna kampanj\n"; exit; } else @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "Oidentifierad Orsak-kod För Samtalets Avslut."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_se/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_se/vdc_email_display.php new file mode 100644 index 00000000..057fa0af --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_se/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Felaktig Användarnamn/Lösenord: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Felaktig File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" på the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    bilagor:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    bilagor:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_se/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_se/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_se/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_se/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_se/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_se/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_se/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_se/vdc_script_notes.php index c98f32b4..938b0a64 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_se/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,25 +248,25 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Titel'; +$label_title = 'Title'; $label_first_name = 'Förnamn'; $label_middle_initial = 'MI'; -$label_last_name = 'Efternamn'; +$label_last_name = 'Last'; $label_address1 = 'Adress1'; $label_address2 = 'Adress2'; $label_address3 = 'Adress3'; $label_city = 'Stad'; -$label_state = 'Stat'; +$label_state = 'State'; $label_province = 'Provins'; $label_postal_code = 'Postnummer'; -$label_vendor_lead_code = 'VendorID'; +$label_vendor_lead_code = 'Leverantör ID'; $label_gender = 'Gender'; $label_phone_number = 'Telefon'; $label_phone_code = 'Landskod'; $label_alt_phone = 'Alternativ telefon'; $label_security_phrase = 'Visa'; $label_email = 'Email'; -$label_comments = 'Kommentarer'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Anteckningar"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -391,13 +392,13 @@ $URLsubmit = $URLarray[0];
    : *
    Kampanj: $camp_form_code
      \n"; - echo "
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -908,7 +933,7 @@ echo "
    Kampanj: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -958,7 +983,7 @@ echo "
    Kampanj: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -987,14 +1012,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login telefon inloggning
     
    Telefonlogin:
    Telefonlösenord:
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1072,12 +1097,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1110,8 +1135,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1136,16 +1161,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "DU MÅSTE STÄMPLA IN FÖRST
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF agent IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1172,7 +1197,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1209,7 +1234,7 @@ else } if ( ($shift_ok < 1) and ($VU_shift_override_flag < 1) and ($VDloginDISPLAY > 0) ) { - $VDdisplayMESSAGE.= "

    MANAGER OVERRIDE:
    \n"; + $VDdisplayMESSAGE.= "

    MANAGER ÖVERSKRIDNING:
    \n"; $VDdisplayMESSAGE.= "
    \n"; $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "\n"; @@ -1220,10 +1245,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Manager Logga in:
    \n"; $VDdisplayMESSAGE.= "Manager Lösenord:
    \n"; - $VDdisplayMESSAGE.= "
    \n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND agent IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1233,7 +1258,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1241,7 +1266,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Kampanjinloggning\n"; echo "\n"; @@ -1261,7 +1286,7 @@ echo "
    \n
    "; echo "Lösenord:
    \n"; echo "Kampanj: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1375,7 +1400,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1481,6 +1506,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1541,7 +1570,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1604,7 +1633,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1720,7 +1749,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefon OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1814,7 +1910,7 @@ echo "
    Kampanj: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1937,7 +2033,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1988,7 +2084,7 @@ echo "
    Telefonlösenord:

    VERSION: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -1998,9 +2094,9 @@ echo "
    0) { $pb=0; @@ -2125,7 +2221,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END telefon inloggning load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2256,7 +2352,7 @@ echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; # If a web form address is not set, use the default one if (strlen($web_form_address)>0) @@ -2312,7 +2408,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2332,7 +2428,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2441,7 +2537,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2449,16 +2545,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NY record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2532,16 +2630,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today på that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2735,7 +2847,7 @@ echo "\n
    "; echo "Lösenord:
    \n"; echo "Kampanj: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2743,7 +2855,7 @@ echo "
    \n"; @@ -2928,7 +3040,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Januari','February','Mars','April','Maj','Juni', +$Cmonths = Array('0','Januari','February','Mars','April','Maj','Juni', 'Juli','Augusti','September','Oktober','November','December'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2959,7 +3071,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3016,6 +3129,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3023,15 +3137,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3120,6 +3235,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3390,6 +3520,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3482,11 +3613,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3524,9 +3658,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var EfternamnCallCID=''; - var EfternamnCallbackCount=0; - var EfternamnCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3552,64 +3686,77 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; - var DiaLControl_auto_HTML = "\"\"Återuppta\""; - var DiaLControl_auto_HTML_ready = "\"\"Återuppta\""; - var DiaLControl_auto_HTML_OFF = "\"\"Återuppta\""; - var DiaLControl_manual_HTML = "\"Ring"; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; + var DiaLControl_auto_HTML = "\"\"Återuppta\""; + var DiaLControl_auto_HTML_ready = "\"\"Återuppta\""; + var DiaLControl_auto_HTML_OFF = "\"\"Återuppta\""; + var DiaLControl_manual_HTML = "\"Ring"; var image_loading = new Image(); image_loading.src="../agc/images/loading.gif"; var image_blank = new Image(); image_blank.src="../agc/images/blank.gif"; var image_livecall_OFF = new Image(); - image_livecall_OFF.src="../agc/images/agc_live_call_OFF.gif"; + image_livecall_OFF.src="../agc/images/agc_live_call_OFF_se.gif"; var image_livecall_ON = new Image(); - image_livecall_ON.src="../agc/images/agc_live_call_ON.gif"; + image_livecall_ON.src="../agc/images/agc_live_call_ON_se.gif"; var image_livecall_DEAD = new Image(); - image_livecall_DEAD.src="../agc/images/agc_live_call_DEAD.gif"; + image_livecall_DEAD.src="../agc/images/agc_live_call_DEAD_se.gif"; var image_LB_dialnextnumber = new Image(); - image_LB_dialnextnumber.src="../agc/images/vdc_LB_dialnextnumber.gif"; + image_LB_dialnextnumber.src="../agc/images/vdc_LB_dialnextnumber_se.gif"; var image_LB_hangupcustomer = new Image(); - image_LB_hangupcustomer.src="../agc/images/vdc_LB_hangupcustomer.gif"; + image_LB_hangupcustomer.src="../agc/images/vdc_LB_hangupcustomer_se.gif"; var image_LB_transferconf = new Image(); - image_LB_transferconf.src="../agc/images/vdc_LB_transferconf.gif"; + image_LB_transferconf.src="../agc/images/vdc_LB_transferconf_se.gif"; var image_LB_grabparkedcall = new Image(); - image_LB_grabparkedcall.src="../agc/images/vdc_LB_grabparkedcall.gif"; + image_LB_grabparkedcall.src="../agc/images/vdc_LB_grabparkedcall_se.gif"; var image_LB_parkcall = new Image(); - image_LB_parkcall.src="../agc/images/vdc_LB_parkcall.gif"; + image_LB_parkcall.src="../agc/images/vdc_LB_parkcall_se.gif"; var image_LB_webform = new Image(); - image_LB_webform.src="../agc/images/vdc_LB_webform.gif"; + image_LB_webform.src="../agc/images/vdc_LB_webform_se.gif"; var image_LB_stoprecording = new Image(); - image_LB_stoprecording.src="../agc/images/vdc_LB_stoprecording.gif"; + image_LB_stoprecording.src="../agc/images/vdc_LB_stoprecording_se.gif"; var image_LB_startrecording = new Image(); - image_LB_startrecording.src="../agc/images/vdc_LB_startrecording.gif"; + image_LB_startrecording.src="../agc/images/vdc_LB_startrecording_se.gif"; var image_LB_pause = new Image(); - image_LB_pause.src="../agc/images/vdc_LB_pause.gif"; + image_LB_pause.src="../agc/images/vdc_LB_pause_se.gif"; var image_LB_resume = new Image(); - image_LB_resume.src="../agc/images/vdc_LB_resume.gif"; + image_LB_resume.src="../agc/images/vdc_LB_resume_se.gif"; var image_LB_senddtmf = new Image(); - image_LB_senddtmf.src="../agc/images/vdc_LB_senddtmf.gif"; + image_LB_senddtmf.src="../agc/images/vdc_LB_senddtmf_se.gif"; var image_LB_dialnextnumber_OFF = new Image(); - image_LB_dialnextnumber_OFF.src="../agc/images/vdc_LB_dialnextnumber_OFF.gif"; + image_LB_dialnextnumber_OFF.src="../agc/images/vdc_LB_dialnextnumber_OFF_se.gif"; var image_LB_hangupcustomer_OFF = new Image(); - image_LB_hangupcustomer_OFF.src="../agc/images/vdc_LB_hangupcustomer_OFF.gif"; + image_LB_hangupcustomer_OFF.src="../agc/images/vdc_LB_hangupcustomer_OFF_se.gif"; var image_LB_transferconf_OFF = new Image(); - image_LB_transferconf_OFF.src="../agc/images/vdc_LB_transferconf_OFF.gif"; + image_LB_transferconf_OFF.src="../agc/images/vdc_LB_transferconf_OFF_se.gif"; var image_LB_grabparkedcall_OFF = new Image(); image_LB_grabparkedcall_OFF.src="../agc/images/vdc_LB_grabparkedcall_OFF.gif"; var image_LB_parkcall_OFF = new Image(); - image_LB_parkcall_OFF.src="../agc/images/vdc_LB_parkcall_OFF.gif"; + image_LB_parkcall_OFF.src="../agc/images/vdc_LB_parkcall_OFF_se.gif"; var image_LB_webform_OFF = new Image(); - image_LB_webform_OFF.src="../agc/images/vdc_LB_webform_OFF.gif"; + image_LB_webform_OFF.src="../agc/images/vdc_LB_webform_OFF_se.gif"; var image_LB_stoprecording_OFF = new Image(); image_LB_stoprecording_OFF.src="../agc/images/vdc_LB_stoprecording_OFF.gif"; var image_LB_startrecording_OFF = new Image(); - image_LB_startrecording_OFF.src="../agc/images/vdc_LB_startrecording_OFF.gif"; + image_LB_startrecording_OFF.src="../agc/images/vdc_LB_startrecording_OFF_se.gif"; var image_LB_pause_OFF = new Image(); - image_LB_pause_OFF.src="../agc/images/vdc_LB_pause_OFF.gif"; + image_LB_pause_OFF.src="../agc/images/vdc_LB_pause_OFF_se.gif"; var image_LB_resume_OFF = new Image(); - image_LB_resume_OFF.src="../agc/images/vdc_LB_resume_OFF.gif"; + image_LB_resume_OFF.src="../agc/images/vdc_LB_resume_OFF_se.gif"; var image_LB_senddtmf_OFF = new Image(); - image_LB_senddtmf_OFF.src="../agc/images/vdc_LB_senddtmf_OFF.gif"; + image_LB_senddtmf_OFF.src="../agc/images/vdc_LB_senddtmf_OFF_se.gif"; var image_LB_ivrgrabparkedcall = new Image(); image_LB_ivrgrabparkedcall.src="../agc/images/vdc_LB_grabivrparkcall.gif"; var image_LB_ivrparkcall = new Image(); @@ -3711,11 +3858,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { if (taskdirection=='MUTING') { - document.getElementById("AgentMuteSpan").innerHTML = ""; + document.getElementById("AgentMuteSpan").innerHTML = ""; } else { - document.getElementById("AgentMuteSpan").innerHTML = ""; + document.getElementById("AgentMuteSpan").innerHTML = ""; } } @@ -3765,12 +3912,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "varning är på"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "varning är avstängd"; } } @@ -3793,27 +3940,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARKERA_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARKERA_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARKERA_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARKERA_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARKERA_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARKERA_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARKERA_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARKERA_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARKERA_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARKERA_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARKERA_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -3888,9 +4035,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} agent_dialed_number='1'; agent_dialed_type='XFER_3WAY'; - document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; + document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; - document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; var manual_number = document.vicidial_form.xfernumber.value; var manual_number_hidden = document.vicidial_form.xfernumhidden.value; @@ -4148,7 +4295,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} MD_channel_look=1; XDcheck = 'YES'; - // document.getElementById("HangupXferLine").innerHTML ="\"Lägg"; + // document.getElementById("HangupXferLine").innerHTML ="\"Lägg"; } } } @@ -4330,10 +4477,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4393,6 +4542,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4402,9 +4553,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4438,9 +4599,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'PARKERA_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4450,17 +4613,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'PARKERA_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'PARKERA_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4484,7 +4649,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4695,7 +4860,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "inspelning
    " + loop_ct + "" + channelfieldA + "Lägg på          
    " + loop_ct + "" + channelfieldA + "Lägg på          
    px\">\">" + var CB_HTML = "
    # SAMTALBACK DATE/TIMENUMMERINFONAME STATUSCAMPAIGNLAST SAMTALSDATUM\/TID RING ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5749,7 +6017,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5773,13 +6041,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (waiting_on_dispo > 0) { - alert_box("System Delay, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); + alert_box("Fördröjning i systemet, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); } else { // alt_phone_dialing=1; - EfternamnCallbackViewed=1; - EfternamnCallbackCount = (EfternamnCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5860,6 +6128,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Gruppalias: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Klicka här för att välja ett gruppalias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Ring In-Grupp: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "Klicka Här för att Välja en Ring In-Grupp"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Klicka Här för att Aktivera"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5875,13 +6153,399 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while på inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Kommentarer (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Kommentarer + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS återuppringning "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Senaste samtal: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Återuppringning: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Kommentarer:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) { if (waiting_on_dispo > 0) { - alert_box("System Delay, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); + alert_box("Fördröjning i systemet, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); } else { @@ -5905,7 +6569,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5913,12 +6577,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5964,7 +6631,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (waiting_on_dispo > 0) { - alert_box("System Delay, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); + alert_box("Fördröjning i systemet, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); } else { @@ -5988,6 +6655,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Klicka Här för att Avaktivera"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     Klicka Här för att Aktivera"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6021,7 +6706,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6065,7 +6750,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6094,15 +6780,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Ringer upp 3-part: " + called3rdparty + " " + status_display_content; - document.getElementById("Leave3WayCall").innerHTML ="\"Lämna"; + document.getElementById("Leave3WayCall").innerHTML ="\"Lämna"; - document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; + document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; - document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; - document.getElementById("HangupXferLine").innerHTML ="\"Lägg"; + document.getElementById("HangupXferLine").innerHTML ="\"Lägg"; - document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; + document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; xferchannellive=1; XDcheck = ''; @@ -6117,7 +6803,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,19 +6836,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Ringde: " + status_display_number + " " + status_display_content + "  "; - document.getElementById("ParkControl").innerHTML ="\"Parkera"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKERA_ONLY') ) + document.getElementById("ParkControl").innerHTML ="\"Parkera"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } - document.getElementById("HangupControl").innerHTML = "\"Lägg"; + document.getElementById("HangupControl").innerHTML = "\"Lägg"; - document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; + document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; - document.getElementById("LocalCloser").innerHTML = "\"LOKAL"; + document.getElementById("LocalCloser").innerHTML = "\"LOKAL"; - document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; + document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; @@ -6210,7 +6897,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (custom_3way_button_transfer_enabled > 0) { - document.getElementById("CustomXfer").innerHTML = "\"Anpassad"; + document.getElementById("CustomXfer").innerHTML = "\"Anpassad"; } if (call_requeue_button > 0) @@ -6258,8 +6945,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Samtal kopplas ej, kontakta systemadministratören\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; + } + } } // ################################################################################ @@ -6418,6 +7110,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6439,10 +7136,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); } - document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; if (enable_second_webform > 0) { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; } } else @@ -6461,7 +7158,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (waiting_on_dispo > 0) { - alert_box("System Delay, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); + alert_box("Fördröjning i systemet, försök igen
    code:" + agent_log_id + " - " + waiting_on_dispo + ""); } else { @@ -6481,11 +7178,14 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {auto_dial_level=starting_dial_level;} - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { - document.getElementById("DiaLControl").innerHTML = "\"Ring"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Ring"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6497,7 +7197,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6549,13 +7249,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6563,261 +7263,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - EfternamnCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("HOPPERN ÄR TOM!","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Inga fler leads i hoppern för kampanj:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Detta nummer finns ej i kampanjlistan:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Detta telefonnummer är utanför den lokala samtalstid:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Ospecifierat fel:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Ring"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("HOPPERN ÄR TOM","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Inga fler leads i hoppern för kampanj:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Detta nummer finns ej i kampanjlistan:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Detta telefonnummer är utanför den lokala samtalstiden:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Ospecifierat fel:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Ring"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Ringer: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS SAMTALBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Senaste samtal: " + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Återuppringning: " + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Kommentarer:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Lägg"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Kommentarer (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Kommentarer + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Ringer: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS återuppringning "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Senaste samtal: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Återuppringning: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Kommentarer:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Lägg"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6844,7 +7582,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (manual_dial_in_progress==1) { - alert_box('DU KAN INTE SKIPPA EN SAMTALBACK ELLER MANUELL UPPRINGNING, DU MÅSTE RINGA LEADET'); + alert_box('DU KAN INTE SKIPPA EN återuppringning ELLER MANUELL UPPRINGNING, DU MÅSTE RINGA LEADET'); } else { @@ -6853,11 +7591,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { auto_dial_level=starting_dial_level; - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { - document.getElementById("DiaLControl").innerHTML = "\"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"Ring"; } var xmlhttp=false; @@ -6932,6 +7670,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6951,11 +7695,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (dial_method == "INBOUND_MAN") { - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { - document.getElementById("DiaLControl").innerHTML = "\"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"Ring"; } } } @@ -6967,6 +7711,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7010,23 +7756,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT RING NUMMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: alternativa ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT RING NUMMER: PERSONNUMMER ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: PERSONNUMMER ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT RING NUMMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Prefix och telefonnummer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; if (EAalt_phone_active == 'Y') - {EAactive_link = "Ändra detta nummer till INAKTIV";} + {EAactive_link = "Ändra detta nummer till INAKTIVT";} else {EAactive_link = "Ändra detta nummer till AKTIVT";} document.getElementById("EAcommentsBoxB").innerHTML = "Aktiv: " + EAalt_phone_active + "
    " + EAactive_link; - document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count: " + EAalt_phone_count; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Antal: " + EAalt_phone_count; document.getElementById("EAcommentsBoxD").innerHTML = "Noteringar:
    " + EAalt_phone_notes; showDiv('EAcommentsBox'); } @@ -7068,7 +7814,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + EfternamnCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7083,7 +7829,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - EfternamnCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " SAMTAL NOT PLACED") { @@ -7107,7 +7853,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Ringer: " + status_display_number + " " + status_display_content + "   väntar på Ringsignal..."; - document.getElementById("HangupControl").innerHTML = "\"Lägg"; + document.getElementById("HangupControl").innerHTML = "\"Lägg"; } if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) {all_record = 'YES';} @@ -7132,6 +7878,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7144,6 +7896,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7187,7 +7943,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { auto_dial_level=starting_dial_level; - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { @@ -7204,7 +7960,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { auto_dial_level=starting_dial_level; - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { @@ -7377,7 +8133,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var EAactive_link = ''; if (APCactive == 'Y') - {EAactive_link = "Ändra detta nummer till INAKTIV";} + {EAactive_link = "Ändra detta nummer till INAKTIVT";} else {EAactive_link = "Ändra detta nummer till AKTIVT";} @@ -7467,6 +8223,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7560,7 +8317,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - EfternamnCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7584,6 +8341,553 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custchannellive=1; + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + //Added By Poundteam for Audited Kommentarer (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Kommentarer + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Inkommande: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS återuppringning "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Senaste samtal: " + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Återuppringning: " + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Kommentarer:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: alternativa ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: PERSONNUMMER ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Prefix och telefonnummer: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Ändra detta nummer till INAKTIVT";} + else + {EAactive_link = "Ändra detta nummer till AKTIVT";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Aktiv: " + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Antal: " + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Noteringar: " + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Inkommande: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Parkera"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Lägg"; + + document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; + + document.getElementById("LocalCloser").innerHTML = "\"LOKAL"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Anpassad"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Inkommande: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) + { + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } + } + xmlhttprequestcheckauto = undefined; + delete xmlhttprequestcheckauto; + } + } + } + } + } + + +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add på all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS SAMTAL PROCESS + // DialLog("start"); + + custchannellive=1; + LasTCID = check_VDIC_array[4]; LeaDPreVDispO = check_VDIC_array[6]; fronter = check_VDIC_array[7]; @@ -7669,32 +8973,32 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS SAMTALBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS återuppringning "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Senaste samtal: " + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Återuppringning: " + CBcallback_time; document.getElementById("CBcommentsBoxC").innerHTML = "Agent: " + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Kommentarer:
    " + CBcomments; + document.getElementById("CBcommentsBoxD").innerHTML = "Kommentarer:
    " + CBcomments; showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT RING NUMMER: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: alternativa ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT RING NUMMER: PERSONNUMMER ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: PERSONNUMMER ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT RING NUMMER: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = " alternativa RING NUMMER: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Prefix och telefonnummer: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; if (EAalt_phone_active == 'Y') - {EAactive_link = "Ändra detta nummer till INAKTIV";} + {EAactive_link = "Ändra detta nummer till INAKTIVT";} else {EAactive_link = "Ändra detta nummer till AKTIVT";} - document.getElementById("EAcommentsBoxB").innerHTML = "Aktiv: " + EAalt_phone_active + "
    " + EAactive_link; - document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count: " + EAalt_phone_count; + document.getElementById("EAcommentsBoxB").innerHTML = "Aktiv: " + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Antal: " + EAalt_phone_count; document.getElementById("EAcommentsBoxD").innerHTML = "Noteringar: " + EAalt_phone_notes; showDiv('EAcommentsBox'); } @@ -7719,28 +9023,28 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Inkommande: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; } - document.getElementById("ParkControl").innerHTML ="\"Parkera"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKERA_ONLY') ) + document.getElementById("ParkControl").innerHTML ="\"Parkera"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } - document.getElementById("HangupControl").innerHTML = "\"Lägg"; + document.getElementById("HangupControl").innerHTML = "\"Lägg"; - document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; + document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; - document.getElementById("LocalCloser").innerHTML = "\"LOKAL"; + document.getElementById("LocalCloser").innerHTML = "\"LOKAL"; - document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; + document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; - document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; - if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) { if (quick_transfer_button_locked > 0) {quick_transfer_button_orig = default_xfer_group;} - document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; + document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; } if (prepopulate_transfer_preset_enabled > 0) { @@ -7770,12 +9074,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (quick_transfer_button_locked > 0) {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} - document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; + document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\""; } if (custom_3way_button_transfer_enabled > 0) { - document.getElementById("CustomXfer").innerHTML = "\"Anpassad"; + document.getElementById("CustomXfer").innerHTML = "\"Anpassad"; } @@ -7785,11 +9089,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var regCRB = new RegExp("AGENTDIRECT","ig"); if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) { - document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; } else { - document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; } } @@ -7805,17 +9109,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) live_XfeR_HTML = live_XfeR_HTML + "\n"; loop_ct++; } - document.getElementById("XfeRGrouPLisT").innerHTML = ""; + document.getElementById("XfeRGrouPLisT").innerHTML = ""; if (lastcustserverip == server_ip) { - document.getElementById("VolumeUpSpan").innerHTML = ""; - document.getElementById("VolumeDownSpan").innerHTML = ""; + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; } if (dial_method == "INBOUND_MAN") { - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { @@ -7859,11 +9163,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } - document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; if (enable_second_webform > 0) { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; } if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) @@ -7889,6 +9193,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7901,6 +9210,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7932,12 +9245,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Inkommande: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else - { - // do nothing - } - xmlhttprequestcheckauto = undefined; - delete xmlhttprequestcheckauto; + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; } } } @@ -8000,11 +9309,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (taskrefresh == 'OUT') { - document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; } else { - document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\"\n"; } } @@ -8044,11 +9353,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (taskrefresh == 'OUT') { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; } else { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär\n"; } } } @@ -8176,8 +9485,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8239,20 +9549,20 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\""; + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\""; if (enable_second_webform > 0) { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär"; + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär"; } - document.getElementById("ParkControl").innerHTML = "\"Parkera"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKERA_ONLY') ) + document.getElementById("ParkControl").innerHTML = "\"Parkera"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } - document.getElementById("HangupControl").innerHTML = "\"Lägg"; - document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; - document.getElementById("LocalCloser").innerHTML = "\"LOKAL"; - document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; + document.getElementById("HangupControl").innerHTML = "\"Lägg"; + document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; + document.getElementById("LocalCloser").innerHTML = "\"LOKAL"; + document.getElementById("DialBlindTransfer").innerHTML = "\"Ring"; document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; document.getElementById("VolumeUpSpan").innerHTML = ""; document.getElementById("VolumeDownSpan").innerHTML = ""; @@ -8261,7 +9571,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\"";} if (custom_3way_button_transfer_enabled > 0) - {document.getElementById("CustomXfer").innerHTML = "\"Anpassad";} + {document.getElementById("CustomXfer").innerHTML = "\"Anpassad";} if (call_requeue_button > 0) { @@ -8307,7 +9617,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"Ring"; } reselect_alt_dial = 0; } @@ -8339,7 +9649,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = ''; if (dial_method == "INBOUND_MAN") { - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { @@ -8355,7 +9665,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; if (dial_method == "INBOUND_MAN") { - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; } else { @@ -8446,15 +9756,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.xferchannel.value = ""; lastxferchannel=''; - // document.getElementById("Leave3WayCall").innerHTML ="\"Lämna"; + // document.getElementById("Leave3WayCall").innerHTML ="\"Lämna"; - document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; + document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; - document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; - document.getElementById("HangupXferLine").innerHTML ="\"Lägg"; + document.getElementById("HangupXferLine").innerHTML ="\"Lägg"; - document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; + document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; } } @@ -8600,25 +9910,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (APIManualDialQueue > 0) { - document.getElementById("DispoManualQueueMessage").innerHTML = "
    Manuell uppringning Queue samtal väntar: " + APIManualDialQueue + "
    "; + document.getElementById("DispoManualQueueMessage").innerHTML = "
    Manuell uppringnings Kö Samtal Väntar: " + APIManualDialQueue + "
    "; } if (per_call_notes == 'ENABLED') { var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallAnteckningarContent").innerHTML = "
    Ring Anmärkningar:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Samtalsanteckningar:
    "; } else { - document.getElementById("PerCallAnteckningarContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); AgentDispoing = 1; var CBflag = ''; var VD_statuses_ct_half = parseInt(VARSELstatuses_ct / 2); - var dispo_HTML = "
    # återuppringning datum\/tid NUMMER info fullständigt namn STATUS kampanj sista SAMTALSDATUM\/TID RING alternativa
    RING DISPOSITION
    "; + var dispo_HTML = "
    SAMTALS DISPOSITION
    "; var loop_ct = 0; var print_ct = 0; if (hide_dispo_list < 1) @@ -8728,6 +10038,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8735,16 +10046,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("DU MÅSTE VARA I PAUSE-LÄGE FÖR ATT SÖKA EFTER ETT LEAD"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("DU MÅSTE pausas att söka efter ett LEAD"); + alert_box("Du måste vara på en aktiv inkommande samtal för att söka efter en bly"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8881,6 +10210,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the Ring In-Grupp Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    RING IN-GRUPP
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Tillbaka"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8890,9 +10252,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.vicidial_form.xferchannel.value = ''; - document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; - document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; - document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; + document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; + document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; var DispoChoice = document.vicidial_form.DispoSelection.value; @@ -8906,10 +10268,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WebFormRefresH('NO','YES'); - document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\""; + document.getElementById("WebFormSpan").innerHTML = "\"Webformulär\""; if (enable_second_webform > 0) { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär"; + document.getElementById("WebFormSpanTwo").innerHTML = "\"Webformulär"; } window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -8929,15 +10291,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.vicidial_form.xferchannel.value = ''; - document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; - document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; - document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; + document.getElementById("DialWithCustomer").innerHTML ="\"Ring"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Parkera"; + document.getElementById("HangupBothLines").innerHTML ="\"Lägg"; var DispoChoice = document.vicidial_form.DispoSelection.value; @@ -8977,7 +10340,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9034,6 +10397,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9098,6 +10467,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9114,6 +10485,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9138,7 +10510,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error på this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimera "; document.getElementById("DispoSelectHAspan").innerHTML = "Lägg på igen"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "nästa samtal paus"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9154,6 +10529,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9230,7 +10606,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + EfternamnCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9251,7 +10627,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - EfternamnCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9275,6 +10651,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the Ring In-Grupp + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "Ring In-Grupp: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9413,7 +10806,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9467,7 +10860,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9533,10 +10926,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9550,6 +10946,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9640,7 +11046,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) HidEGenDerPulldown(); if (agent_choose_territories > 0) { - var live_TERR_HTML = " @@ -12882,11 +14403,11 @@ $zi=2;
    Territorier som inte SELECTEDområden som väljs ut
      --- ADD ALL ---
    "; + var live_TERR_HTML = "
    EJ VALDA OMRÅDENVALDA OMRÅDEN
      --- ADD ALL ---
    "; var loop_ct = 0; while (loop_ct < territoryCOUNT) { @@ -9731,7 +11137,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var TerritorySelectChoices = document.vicidial_form.TerritorySelectList.value; if (AllowManualQueueCalls == '0') - {document.getElementById("ManualQueueChoice").innerHTML = "
    Manuell Queue är av
    ";} + {document.getElementById("ManualQueueChoice").innerHTML = "Manuell Kö är av
    ";} else {document.getElementById("ManualQueueChoice").innerHTML = "Manuell Kö in On
    ";} } @@ -9829,7 +11235,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they nära their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9875,7 +11281,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if (alt_dial_status_display==1) { - alert("Du är i ALT uppringningsläge måste du avsluta ledningen innan du loggar ut.\n" + reselect_alt_dial); + alert("Du är i alternativa uppringningsläge måste du avsluta leadet innan du loggar ut.\n" + reselect_alt_dial); } else { @@ -9916,11 +11322,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Ditt skift är slut eller har ändrats, du är nu utloggad från din session

    ';} if (tempreason=='API') - {logout_content='Systemet har fått ett kommando för att logga ut dig, har du loggat ut från sessionen

    ';} + {logout_content='Systemet har fått ett kommando för att logga dig ut, har du loggats ut från sessionen

    ';} document.getElementById("LogouTBoxLink").innerHTML = logout_content + "KLICKA HÄR FÖR ATT LOGGA IN\n"; @@ -9965,19 +11372,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10021,19 +11436,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10163,6 +11586,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10377,6 +11801,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10450,6 +11875,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10526,6 +11952,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10601,6 +12028,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10840,7 +12268,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10896,7 +12323,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or nära the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10915,14 +12342,14 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or nära the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') { if (AVlocation=='AgentViewSpan') { - document.getElementById("AgentViewLink").innerHTML = "medel Se -"; + document.getElementById("AgentViewLink").innerHTML = "Agent-översikt -"; agent_status_view_active=1; } showDiv(AVlocation); @@ -10931,7 +12358,7 @@ function phone_number_format(formatphone) { { if (AVlocation=='AgentViewSpan') { - document.getElementById("AgentViewLink").innerHTML = "medel Se +"; + document.getElementById("AgentViewLink").innerHTML = "Agent-översikt +"; agent_status_view_active=0; } hideDiv(AVlocation); @@ -10940,7 +12367,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or nära the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10974,7 +12401,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10991,7 +12418,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11035,7 +12462,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11060,7 +12487,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11091,7 +12518,7 @@ function phone_number_format(formatphone) { else { move_on=0; - alert_box("DU MÅSTE pausas vill visa SAMTAL LOG"); + alert_box("DU MÅSTE VARA I PAUSE-LÄGE FÖRA ATT VISA DIN SAMTALSLOGG"); // alert("debug: " + AutoDialWaiting + "|" + VD_live_customer_call + "|" + alt_dial_active + "|" + MD_channel_look + "|" + in_lead_preview_state); } } @@ -11123,7 +12550,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11207,9 +12634,9 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { - alert_box("DU MÅSTE pausas att söka efter ett LEAD"); + alert_box("DU MÅSTE VARA I PAUSE-LÄGE FÖR ATT SÖKA EFTER ETT LEAD"); } else { @@ -11246,7 +12673,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11300,7 +12727,7 @@ function phone_number_format(formatphone) { // Uppdatera the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLAnteckningarDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11323,7 +12750,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11391,11 +12818,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Uppdatera the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11420,6 +12861,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause på the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "nästa samtal paus Set"; + } + + // ################################################################################ // Visa the groups selection span function OpeNGrouPSelectioN() @@ -11624,7 +13074,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "ringa alert:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11632,7 +13082,7 @@ function phone_number_format(formatphone) { { if ( (timer_action_message.length > 0) || (timer_action == 'MESSAGE_ONLY') ) { - document.getElementById("TimerContentSpan").innerHTML = "TIMERNOTIFIERING: " + timer_action_seconds + " sekunder

    " + timer_action_message + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "TIMERNOTIFIERINGAR: " + timer_action_seconds + " sekunder

    " + timer_action_message + "
    "; showDiv('TimerSpan'); } @@ -11739,7 +13189,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11754,9 +13204,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11767,7 +13220,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('VälkommenBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11777,11 +13230,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLAnteckningarDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11791,6 +13245,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11804,7 +13260,7 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallAnteckningarButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') @@ -11815,6 +13271,8 @@ function phone_number_format(formatphone) { {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,7 +13294,9 @@ function phone_number_format(formatphone) { if (agent_xfer_park_customer_dial < 1) {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') - {document.getElementById("ManualQueueChoice").innerHTML = "Manuell Queue är av
    ";} + {document.getElementById("ManualQueueChoice").innerHTML = "Manuell Kö är av
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11851,7 +13311,7 @@ function phone_number_format(formatphone) { document.getElementById("sessionIDspan").innerHTML = session_id; if ( (LIVE_campaign_recording == 'NEVER') || (LIVE_campaign_recording == 'ALLFORCE') ) { - document.getElementById("RecorDControl").innerHTML = "\"Starta"; + document.getElementById("RecorDControl").innerHTML = "\"Starta"; } if (INgroupCOUNT > 0) { @@ -11861,6 +13321,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11880,6 +13342,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11917,7 +13381,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11926,7 +13390,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARKERA_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11968,7 +13432,7 @@ function phone_number_format(formatphone) { if (document.vicidial_form.DiaLAltPhonE.checked==true) { reselect_alt_dial = 1; - document.getElementById("DiaLControl").innerHTML = "\"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"Ring"; document.getElementById("MainStatuSSpan").innerHTML = "Dial Next Call"; } @@ -11991,6 +13455,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12080,14 +13556,14 @@ function phone_number_format(formatphone) { if (customer_3way_hangup_action=='DISPO') { - customer_3way_hangup_dispo_message='Kund Hung-up, slutade 3-vägs samtal automatiskt'; + customer_3way_hangup_dispo_message='Kund La på, avslutade 3-vägs samtal automatiskt'; bothcall_send_hangup(); } } else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY påläggningssignal " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12521,13 +13997,31 @@ function phone_number_format(formatphone) { { showDiv('HotKeyEntriesBox'); hot_keys_active = 1; - document.getElementById("hotkeysdisplay").innerHTML = "\"SNABBTANGENTER"; + document.getElementById("hotkeysdisplay").innerHTML = "\"SNABBTANGENTER"; } else { hideDiv('HotKeyEntriesBox'); hot_keys_active = 0; - document.getElementById("hotkeysdisplay").innerHTML = "\"SNABBTANGENTER"; + document.getElementById("hotkeysdisplay").innerHTML = "\"SNABBTANGENTER"; + } + } + + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + } } @@ -12547,11 +14041,11 @@ function phone_number_format(formatphone) { document.getElementById("TransferMain").style.top = temp_xfer_height; HKbutton_allowed = 0; showDiv('TransferMain'); - document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; + document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; if ( (quick_transfer_button_enabled > 0) && (quick_transfer_button_locked < 1) ) {document.getElementById("QuickXfer").innerHTML = "\"SNABBKOPPLA\"";} if (custom_3way_button_transfer_enabled > 0) - {document.getElementById("CustomXfer").innerHTML = "\"Anpassad";} + {document.getElementById("CustomXfer").innerHTML = "\"Anpassad";} } else { @@ -12560,7 +14054,7 @@ function phone_number_format(formatphone) { hideDiv('agentdirectlink'); if (showoffvar == 'YES') { - document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; + document.getElementById("XferControl").innerHTML = "\"Vidarekoppla"; if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) { @@ -12572,7 +14066,7 @@ function phone_number_format(formatphone) { } if (custom_3way_button_transfer_enabled > 0) { - document.getElementById("CustomXfer").innerHTML = "\"Anpassad"; + document.getElementById("CustomXfer").innerHTML = "\"Anpassad"; } } } @@ -12612,6 +14106,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12621,6 +14117,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12639,7 +14137,7 @@ function phone_number_format(formatphone) { { if (dial_method == "INBOUND_MAN") { - document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; + document.getElementById("DiaLControl").innerHTML = "\"\"Återuppta\"
    \"Ring"; if (manual_dial_preview == 1) {buildDiv('DiaLLeaDPrevieW');} } @@ -12663,6 +14161,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12678,6 +14178,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12769,7 +14285,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "GRUPPER     \n";} ?> LOGGA UT\n"; ?>
    @@ -12779,18 +14295,21 @@ $zi=2; - + 0) {echo "\n";} ?> - - + 0) + {echo "\n";} + ?> + +
    MAINSCRIPTSCRIPT \"FORM\"  LIVE   session ID:    Livesamtal\"EMAIL\"  LIVE    session ID:    Livesamtal
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12801,7 +14320,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12809,11 +14328,13 @@ $zi=2;
    - Ring nästa nummer
    + Ring nästa nummer
    FÖRHANDSGRANSKA LEAD
    RING ALTERNATIVT NUMMER
    + nästa samtal paus
    + - Starta inspelning
    + + Starta inspelning

    - Webformulär
    + Webformulär
    0) - {echo "\"Webformulär
    \n";} + {echo "\"Webformulär
    \n";} ?>  
    - Parkera samtal
    + Parkera samtal
    \"IVR
    \n";} else {echo "\n";} ?> - Vidarekoppla - Konferens
    + Vidarekoppla - Konferens
    0) {echo "\"Quick
    \n";} if ($custom_3way_button_transfer_enabled > 0) - {echo "\"Anpassad
    \n";} + {echo "\"Anpassad
    \n";} ?> @@ -12859,9 +14380,9 @@ $zi=2; ?>
    - Lägg på kund
    + Lägg på kund

    -
    Skicka DTMF

    +
    Skicka Tonval

    - + @@ -12992,7 +14513,7 @@ $zi=2; { echo "$label_phone_number: +
      kund tid:                         Kanal:   Kund tid:                         Kanal:
    Kundinformation:         LEAD SÖK";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13039,26 +14560,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { - echo "Ring Anmärkningar: "; + echo "Samtalsanteckningar: "; if ($agent_call_log_view == '1') - {echo "
    visa anteckningar ";} + {echo "
    visa anteckningar ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13095,7 +14617,7 @@ $zi=2; -VISA SAMTAL LOG
    +VISA SAMTALSLOGG
    @@ -13108,10 +14630,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "varning är på";} else - {echo "Alert is OFF";} + {echo "varning är avstängd";} ?>
    @@ -13120,10 +14642,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -SNABBTANGENTER ÄR INAKTIVA - - sekunder:    
    @@ -13183,7 +14701,7 @@ else ?> -
    medel Se +
    +
    Agent-översikt +
    0) { - echo "Dialable Leads:
     \n"; + echo "Ringbara Leads:
     \n"; } ?> @@ -13210,7 +14728,7 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13222,13 +14740,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +återställ formen + + + +refresh @@ -13238,37 +14768,37 @@ if ($agent_display_dialable_leads > 0)
    - Vidarekoppla - Konferens            
    + Vidarekoppla - Konferens            
    - LOKAL CLOSER     + LOKAL CLOSER     - Lägg på xfer linje + Lägg på xfer linje
    - seconds + seconds   - channel + channel KONSULTERANDE   - Lägg på båda linjerna + Lägg på båda linjerna
    - Nummer att ringa + Nummer att ringa   0) RING OVERRIDE - Lämna 3-partssamtal + Lämna 3-partssamtal
    - Ring blindnummer + Ring blindnummer   - Ring med kund + Ring med kund   - Parkera kunduppringning + Parkera kunduppringning   - Förinställningar Button + Förinställningar Knapp 0)
    -Tillgängliga agenter koppla:
    +Tillgängliga agenter för överförning: @@ -13375,6 +14905,23 @@ Tillgängliga agenter koppla:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +SNABBTANGENTER ÄR INAKTIVA + + + + + px height='px'> + + + + + + +
    visa kommentar historia:
    +
    + @@ -13395,7 +14942,7 @@ Tillgängliga agenter koppla:
    - +
    Utökad information om alternativt telefonnummer: Utökad information om alternativt telefonnummer: minimera
    @@ -13448,7 +14995,7 @@ Tillgängliga agenter koppla: -
    Din session har avbrutits
    LOGGA UT

    Tillbaka +
    Din session har avbrutits
    LOGGA UT

    @@ -13477,18 +15024,18 @@ Tillgängliga agenter koppla:
    SAMTALSUTFALL :       Lägg på igen       minimera

    \n";} + {echo "

    \n";} ?> - + Val för utfallet av samtal
    PAUSA AGENTUPPRINGNING
    RENSA FORMULÄR | SKICKA

    - WEB FORM SKICKA + webbsida formen fram

     
    @@ -13497,7 +15044,7 @@ Tillgängliga agenter koppla:
    Välj ett datum för återuppringningen :

    \n";} + {echo "

    \n";} ?> @@ -13551,11 +15098,11 @@ Tillgängliga agenter koppla: - "; $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; - $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; $CARRIERstatsHTML .= ""; $print_ctp++; } + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + $CARRIERstatsHTML .= ""; + } else { @@ -1477,7 +1498,7 @@ if (ereg('O',$with_inbound)) { $multi_drop++; - $stmt="select agent_pause_codes_active from vicidial_campaigns $group_SQLwhere;"; + $stmt="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' $group_SQLand;"; $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; @@ -1614,6 +1635,8 @@ else $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where active='Y' $group_SQLand;"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where calls_today > -1 $non_inboundSQL;"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' $group_SQLand;"; } else { @@ -1627,12 +1650,16 @@ else $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active,list_order_mix,auto_hopper_level from vicidial_campaigns where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN ($group_SQL,$closer_campaignsSQL);"; } else { $stmt="select avg(auto_dial_level),max(dial_status_a),max(dial_status_b),max(dial_status_c),max(dial_status_d),max(dial_status_e),max(lead_order),max(lead_filter_id),max(hopper_level),max(dial_method),max(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),max(available_only_ratio_tally),max(adaptive_latest_server_time),max(local_call_time),max(dial_timeout),max(dial_statuses),max(agent_pause_codes_active),max(list_order_mix),max(auto_hopper_level) from vicidial_campaigns where campaign_id IN($group_SQL);"; $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(agent_calls_today),sum(agent_wait_today),sum(agent_custtalk_today),sum(agent_acw_today),sum(agent_pause_today) from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + + $stmtC="select count(*) from vicidial_campaigns where agent_pause_codes_active!='N' and active='Y' and campaign_id IN($group_SQL);"; } } if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} @@ -1658,10 +1685,12 @@ else $CALLtime = $row[16]; $DIALtimeout = $row[17]; $DIALstatuses = $row[18]; - $agent_pause_codes_active = $row[19]; $DIALmix = $row[20]; $AHOPlev = $row[21]; + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; $stmt="select count(*) from vicidial_hopper $group_SQLwhere;"; $rslt=mysql_query($stmt, $link); @@ -2143,6 +2172,7 @@ while($p<$k) if ($CDcall_type[$p] == 'IN') { $G=""; $EG=''; + $Ccampaign_id="$Ccampaign_id"; } if (strlen($CDagent_only[$p]) > 0) {$Gcalltypedisplay = "$G$Cagent_only$EG";} @@ -2257,7 +2287,7 @@ $HTpause = ''; $HDigcall = "------+------------------"; $HTigcall = " HOLD | IN-GROUP "; -if (!ereg("N",$agent_pause_codes_active)) +if ($agent_pause_codes_active > 0) { $HDstatus = "----------"; $HTstatus = " STATUS "; @@ -2331,8 +2361,10 @@ else if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} } -if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} +if ( !preg_match("/ALL-/",$LOGallowed_campaigns) ) {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} +else if ( (eregi('ALL-ACTIVE',$group_string)) and (strlen($group_SQL) < 3) ) {$UgroupSQL = '';} else {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} + if (strlen($usergroup)<1) {$usergroupSQL = '';} else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} @@ -2560,7 +2592,7 @@ $talking_to_print = mysql_num_rows($rslt); $comments= $Acomments[$i]; $calls_today = sprintf("%-5s", $Acalls_today[$i]); - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) {$pausecode=' ';} else {$pausecode='';} @@ -2580,7 +2612,7 @@ $talking_to_print = mysql_num_rows($rslt); } else { - if (!ereg("$Acallerid[$i]\|",$callerids)) + if (!ereg("$Acallerid[$i]\|",$callerids) && !eregi("EMAIL",$comments)) { $Acall_time[$i]=$Astate_change[$i]; @@ -2596,6 +2628,8 @@ $talking_to_print = mysql_num_rows($rslt); { if (eregi("INBOUND",$comments)) {$CM='I';} + else if (eregi("EMAIL",$comments)) + {$CM='E';} else {$CM='M';} } @@ -2676,7 +2710,7 @@ $talking_to_print = mysql_num_rows($rslt); } if ($Lstatus=='PAUSED') { - if (!ereg("N",$agent_pause_codes_active)) + if ($agent_pause_codes_active > 0) { $twentyfour_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-24,date("i"),date("s"),date("m"),date("d"),date("Y"))); $stmtC="select sub_status from vicidial_agent_log where agent_log_id >= \"$Aagent_log_id[$i]\" and user='$Luser' order by agent_log_id desc limit 1;"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/admin.php b/agc_2-X/trunk/LANG_www/vicidial_br/admin.php index 9ae6c4c4..278854de 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/admin.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/admin.php @@ -1,9 +1,11 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,6 +72,8 @@ $reports_font = 'BLACK'; $cts_font = 'BLACK'; $subcamp_font = 'BLACK'; +### QC font and color variables +require_once('qc/QC_admin_variables.php'); ### comment this section out for colorful section headings $users_color = '#E6E6E6'; $campaigns_color = '#E6E6E6'; @@ -105,9 +109,9 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $QUERY_STRING = getenv("QUERY_STRING"); -$Vreports = 'NONE, Tempo Real Main Report, Tempo Real Campanha Summary , Entrada Report, Entrada Service Level Report, Resumen horario de entrada Informe, Entrada Daily Report, Entrada DID Report, Entrada IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Status da Campanha Report, Campanha Status List Report, Exportar Relatórios de Chamadas, Exportação lidera Relatório , Agente Tiempo Detalle, Agent Status Detalhes, Agent Performance Detalhes, Team Performance Detalhes, Single Agent Daily , UsuárioRelógio Ponto Report, Grupo do UsuárioRelógio Ponto Status Report, UsuarioRelógio Ponto Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estatísticas de Usuário, Usuário Planilha de Tempo, Download List, Dialer Relatório de Inventário, Maximum System Stats, Maximum Stats Detalhes, Search Leads Logs'; +$Vreports = 'NONE, Tempo Real Main Report, Tempo Real Campanha Summary , Entrada Report, Entrada Service Level Report, Resumen horario de entrada Informe, Entrada Daily Report, Entrada DID Report, Entrada IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Status da Campanha Report, Campanha Status List Report, Exportar Relatórios de Chamadas, Exportação lidera Relatório , Agente Tiempo Detalle, Agent Status Detalhes, Agent Performance Detalhes, Team Performance Detalhes, Single Agent Daily, Grupo do Usuário Login Report, UsuárioRelógio Ponto Report, Grupo do UsuárioRelógio Ponto Status Report, UsuarioRelógio Ponto Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estatísticas de Usuário, Usuário Planilha de Tempo, Download List, Dialer Relatório de Inventário, Maximum System Stats, Maximum Stats Detalhes, Search Leads Logs, Email Log Report, Relatório Log transportadora, Campanha Debug, Hangup Cause Report'; -$UGreports = 'ALL RELATÓRIOS, NONE, Tempo Real Main Report, Tempo Real Campanha Summary , Entrada Report, Entrada Service Level Report, Resumen horario de entrada Informe, Entrada Daily Report, Entrada DID Report, Entrada IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Status da Campanha Report, Campanha Status List Report, Exportar Relatórios de Chamadas , Exportação lidera Relatório , Agente Tiempo Detalle, Agent Status Detalhes, Agent Performance Detalhes, Team Performance Detalhes, Single Agent Daily , UsuárioRelógio Ponto Report, Grupo do UsuárioRelógio Ponto Status Report, UsuarioRelógio Ponto Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estatísticas de Usuário, Usuário Planilha de Tempo, Download List, Dialer Relatório de Inventário, Custom Relatórios Links, CallCard Search, Maximum System Stats, Maximum Stats Detalhes, Search Leads Logs'; +$UGreports = 'ALL RELATÓRIOS, NONE, Tempo Real Main Report, Tempo Real Campanha Summary , Entrada Report, Entrada Service Level Report, Resumen horario de entrada Informe, Entrada Daily Report, Entrada DID Report, Entrada Email Report, Entrada IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Listas Status da Campanha Report, Campanha Status List Report, Exportar Relatórios de Chamadas , Exportação lidera Relatório , Agente Tiempo Detalle, Agent Status Detalhes, Agent Performance Detalhes, Team Performance Detalhes, Single Agent Daily, Grupo do Usuário Login Report, UsuárioRelógio Ponto Report, Grupo do UsuárioRelógio Ponto Status Report, UsuarioRelógio Ponto Detalle Informe , Server Performance Report, Administration Change Log, List Update Stats, Estatísticas de Usuário, Usuário Planilha de Tempo, Download List, Dialer Relatório de Inventário, Custom Relatórios Links, CallCard Search, Maximum System Stats, Maximum Stats Detalhes, Search Leads Logs, Email Log Report'; $Vtables = 'NONE,log_noanswer,did_agent_log,contact_information'; @@ -1540,6 +1544,8 @@ if (isset($_GET["auto_resume_precall"])) {$auto_resume_precall=$_GET["auto_res elseif (isset($_POST["auto_resume_precall"])) {$auto_resume_precall=$_POST["auto_resume_precall"];} if (isset($_GET["auto_pause_precall_code"])) {$auto_pause_precall_code=$_GET["auto_pause_precall_code"];} elseif (isset($_POST["auto_pause_precall_code"])) {$auto_pause_precall_code=$_POST["auto_pause_precall_code"];} +if (isset($_GET["audit_comments"])) {$audit_comments=$_GET["audit_comments"];} + elseif (isset($_POST["audit_comments"])) {$audit_comments=$_POST["audit_comments"];} if (isset($_GET["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_GET["reload_dialplan_on_servers"];} elseif (isset($_POST["reload_dialplan_on_servers"])) {$reload_dialplan_on_servers=$_POST["reload_dialplan_on_servers"];} if (isset($_GET["manual_dial_cid"])) {$manual_dial_cid=$_GET["manual_dial_cid"];} @@ -1724,11 +1730,78 @@ if (isset($_GET["territory_reset"])) {$territory_reset=$_GET["territory_reset" elseif (isset($_POST["territory_reset"])) {$territory_reset=$_POST["territory_reset"];} if (isset($_GET["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_GET["hopper_vlc_dup_check"];} elseif (isset($_POST["hopper_vlc_dup_check"])) {$hopper_vlc_dup_check=$_POST["hopper_vlc_dup_check"];} +if (isset($_GET["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_GET["download_max_system_stats_metric"];} + elseif (isset($_POST["download_max_system_stats_metric"])) {$download_max_system_stats_metric=$_POST["download_max_system_stats_metric"];} +if (isset($_GET["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_GET["download_max_system_stats_metric_name"];} + elseif (isset($_POST["download_max_system_stats_metric_name"])) {$download_max_system_stats_metric_name=$_POST["download_max_system_stats_metric_name"];} if (isset($_GET["inventory_report"])) {$inventory_report=$_GET["inventory_report"];} elseif (isset($_POST["inventory_report"])) {$inventory_report=$_POST["inventory_report"];} if (isset($_GET["report_rank"])) {$report_rank=$_GET["report_rank"];} elseif (isset($_POST["report_rank"])) {$report_rank=$_POST["report_rank"];} - +if (isset($_GET["in_group_dial"])) {$in_group_dial=$_GET["in_group_dial"];} + elseif (isset($_POST["in_group_dial"])) {$in_group_dial=$_POST["in_group_dial"];} +if (isset($_GET["in_group_dial_select"])) {$in_group_dial_select=$_GET["in_group_dial_select"];} + elseif (isset($_POST["in_group_dial_select"])) {$in_group_dial_select=$_POST["in_group_dial_select"];} +if (isset($_GET["dial_ingroup_cid"])) {$dial_ingroup_cid=$_GET["dial_ingroup_cid"];} + elseif (isset($_POST["dial_ingroup_cid"])) {$dial_ingroup_cid=$_POST["dial_ingroup_cid"];} +if (isset($_GET["allow_emails"])) {$allow_emails=$_GET["allow_emails"];} + elseif (isset($_POST["allow_emails"])) {$allow_emails=$_POST["allow_emails"];} +if (isset($_GET["group_handling"])) {$group_handling=$_GET["group_handling"];} + elseif (isset($_POST["group_handling"])) {$group_handling=$_POST["group_handling"];} +if (isset($_GET["agentcall_email"])) {$agentcall_email=$_GET["agentcall_email"];} + elseif (isset($_POST["agentcall_email"])) {$agentcall_email=$_POST["agentcall_email"];} +if (isset($_GET["modify_email_accounts"])) {$modify_email_accounts=$_GET["modify_email_accounts"];} + elseif (isset($_POST["modify_email_accounts"])) {$modify_email_accounts=$_POST["modify_email_accounts"];} +if (isset($_GET["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_GET["safe_harbor_audio_field"];} + elseif (isset($_POST["safe_harbor_audio_field"])) {$safe_harbor_audio_field=$_POST["safe_harbor_audio_field"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_GET["call_menu_qualify_enabled"];} + elseif (isset($_POST["call_menu_qualify_enabled"])) {$call_menu_qualify_enabled=$_POST["call_menu_qualify_enabled"];} +if (isset($_GET["qualify_sql"])) {$qualify_sql=$_GET["qualify_sql"];} + elseif (isset($_POST["qualify_sql"])) {$qualify_sql=$_POST["qualify_sql"];} +if (isset($_GET["admin_list_counts"])) {$admin_list_counts=$_GET["admin_list_counts"];} + elseif (isset($_POST["admin_list_counts"])) {$admin_list_counts=$_POST["admin_list_counts"];} +if (isset($_GET["voicemail_greeting"])) {$voicemail_greeting=$_GET["voicemail_greeting"];} + elseif (isset($_POST["voicemail_greeting"])) {$voicemail_greeting=$_POST["voicemail_greeting"];} +if (isset($_GET["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_GET["allow_voicemail_greeting"];} + elseif (isset($_POST["allow_voicemail_greeting"])) {$allow_voicemail_greeting=$_POST["allow_voicemail_greeting"];} +if (isset($_GET["pause_after_next_call"])) {$pause_after_next_call=$_GET["pause_after_next_call"];} + elseif (isset($_POST["pause_after_next_call"])) {$pause_after_next_call=$_POST["pause_after_next_call"];} +if (isset($_GET["owner_populate"])) {$owner_populate=$_GET["owner_populate"];} + elseif (isset($_POST["owner_populate"])) {$owner_populate=$_POST["owner_populate"];} +if (isset($_GET["queuemetrics_socket"])) {$queuemetrics_socket=$_GET["queuemetrics_socket"];} + elseif (isset($_POST["queuemetrics_socket"])) {$queuemetrics_socket=$_POST["queuemetrics_socket"];} +if (isset($_GET["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_GET["queuemetrics_socket_url"];} + elseif (isset($_POST["queuemetrics_socket_url"])) {$queuemetrics_socket_url=$_POST["queuemetrics_socket_url"];} +if (isset($_GET["holiday_id"])) {$holiday_id=$_GET["holiday_id"];} + elseif (isset($_POST["holiday_id"])) {$holiday_id=$_POST["holiday_id"];} +if (isset($_GET["holiday_name"])) {$holiday_name=$_GET["holiday_name"];} + elseif (isset($_POST["holiday_name"])) {$holiday_name=$_POST["holiday_name"];} +if (isset($_GET["holiday_comments"])) {$holiday_comments=$_GET["holiday_comments"];} + elseif (isset($_POST["holiday_comments"])) {$holiday_comments=$_POST["holiday_comments"];} +if (isset($_GET["holiday_date"])) {$holiday_date=$_GET["holiday_date"];} + elseif (isset($_POST["holiday_date"])) {$holiday_date=$_POST["holiday_date"];} +if (isset($_GET["holiday_status"])) {$holiday_status=$_GET["holiday_status"];} + elseif (isset($_POST["holiday_status"])) {$holiday_status=$_POST["holiday_status"];} +if (isset($_GET["holiday_rule"])) {$holiday_rule=$_GET["holiday_rule"];} + elseif (isset($_POST["holiday_rule"])) {$holiday_rule=$_POST["holiday_rule"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_GET["use_other_campaign_dnc"];} + elseif (isset($_POST["use_other_campaign_dnc"])) {$use_other_campaign_dnc=$_POST["use_other_campaign_dnc"];} +if (isset($_GET["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_GET["enhanced_disconnect_logging"];} + elseif (isset($_POST["enhanced_disconnect_logging"])) {$enhanced_disconnect_logging=$_POST["enhanced_disconnect_logging"];} +if (isset($_GET["amd_inbound_group"])) {$amd_inbound_group=$_GET["amd_inbound_group"];} + elseif (isset($_POST["amd_inbound_group"])) {$amd_inbound_group=$_POST["amd_inbound_group"];} +if (isset($_GET["amd_callmenu"])) {$amd_callmenu=$_GET["amd_callmenu"];} + elseif (isset($_POST["amd_callmenu"])) {$amd_callmenu=$_POST["amd_callmenu"];} +if (isset($_GET["level_8_disable_add"])) {$level_8_disable_add=$_GET["level_8_disable_add"];} + elseif (isset($_POST["level_8_disable_add"])) {$level_8_disable_add=$_POST["level_8_disable_add"];} +if (isset($_GET["survey_wait_sec"])) {$survey_wait_sec=$_GET["survey_wait_sec"];} + elseif (isset($_POST["survey_wait_sec"])) {$survey_wait_sec=$_POST["survey_wait_sec"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1740,9 +1813,61 @@ if (strlen($dial_status) > 0) $status = $dial_status; } +if ($download_max_system_stats_metric_name) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + $CSV_text=""; + + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total call count in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls','total call count in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total inbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_inbound_all','total inbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="total outbound call count") { + download_max_system_stats($campaign_id,$num_graph_days,'system','total_calls_outbound_all','total outbound call count',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls in and out") { + download_max_system_stats($campaign_id,$num_graph_days,'system','(max_inbound + max_outbound)','most concurrent calls in and out',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls inbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_inbound','most concurrent calls inbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent calls outbound total") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_outbound','most concurrent calls outbound total',$end_date); + } + if ($download_max_system_stats_metric_name=="ALL" || $download_max_system_stats_metric_name=="most concurrent agents") { + download_max_system_stats($campaign_id,$num_graph_days,'system','max_agents','most concurrent agents',$end_date); + } + + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "MAX_SYSTEM_STATS_$US$FILE_TIME.csv"; + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + header('Content-type: application/octet-stream'); + + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text"; + + exit; +} + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -1780,6 +1905,12 @@ if ($qm_conf_ct > 0) $SSalt_log_login = $row[28]; $SSalt_log_pass = $row[29]; $SStables_use_alt_log_db = $row[30]; + $SScall_menu_qualify_enabled = $row[31]; + $SSadmin_list_counts = $row[32]; + $SSallow_voicemail_greeting = $row[33]; + $SSsvn_revision = $row[34]; + $SSallow_emails = $row[35]; + $SSlevel_8_disable_add = $row[36]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2015,6 +2146,13 @@ if ($non_latin < 1) $admin_hide_lead_data = ereg_replace("[^0-9]","",$admin_hide_lead_data); $max_calls_count = ereg_replace("[^0-9]","",$max_calls_count); $report_rank = ereg_replace("[^0-9]","",$report_rank); + $dial_ingroup_cid = ereg_replace("[^0-9]","",$dial_ingroup_cid); + $call_menu_qualify_enabled = ereg_replace("[^0-9]","",$call_menu_qualify_enabled); + $admin_list_counts = ereg_replace("[^0-9]","",$admin_list_counts); + $allow_voicemail_greeting = ereg_replace("[^0-9]","",$allow_voicemail_greeting); + $enhanced_disconnect_logging = ereg_replace("[^0-9]","",$enhanced_disconnect_logging); + $level_8_disable_add = ereg_replace("[^0-9]","",$level_8_disable_add); + $survey_wait_sec = ereg_replace("[^0-9]","",$survey_wait_sec); $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); @@ -2030,9 +2168,6 @@ if ($non_latin < 1) $campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); $queue_priority = ereg_replace("[^-0-9]","",$queue_priority); - ### DIGITS and NEWLINES - $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); - ### Y or N ONLY ### $allow_closers = ereg_replace("[^NY]","",$allow_closers); $reset_hopper = ereg_replace("[^NY]","",$reset_hopper); @@ -2084,7 +2219,7 @@ if ($non_latin < 1) $delete_vm_after_email = ereg_replace("[^NY]","",$delete_vm_after_email); $crm_popup_login = ereg_replace("[^NY]","",$crm_popup_login); $ignore_list_script_override = ereg_replace("[^NY]","",$ignore_list_script_override); - $is_webphone = ereg_replace("[^NY]","",$is_webphone); + $is_webphone = ereg_replace("[^-_0-9a-zA-Z]","",$is_webphone); $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); @@ -2179,6 +2314,9 @@ if ($non_latin < 1) $use_custom_cid = ereg_replace("[^0-9a-zA-Z]","",$use_custom_cid); $action_xfer_cid = ereg_replace("[^0-9a-zA-Z]","",$action_xfer_cid); $callback_list_calltime = ereg_replace("[^0-9a-zA-Z]","",$callback_list_calltime); + $pause_after_next_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_next_call); + $owner_populate = ereg_replace("[^0-9a-zA-Z]","",$owner_populate); + $use_other_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_other_campaign_dnc); ### DIGITS and Dots $server_ip = ereg_replace("[^\.0-9]","",$server_ip); @@ -2257,6 +2395,7 @@ if ($non_latin < 1) $server_id = ereg_replace("[^-_0-9a-zA-Z]","",$server_id); $stage = ereg_replace("[^-_0-9a-zA-Z]","",$stage); $state_rule = ereg_replace("[^-_0-9a-zA-Z]","",$state_rule); + $holiday_rule = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_rule); $trunk_restriction = ereg_replace("[^-_0-9a-zA-Z]","",$trunk_restriction); $user = ereg_replace("[^-_0-9a-zA-Z]","",$user); $user_group = ereg_replace("[^-_0-9a-zA-Z]","",$user_group); @@ -2403,9 +2542,17 @@ if ($non_latin < 1) $admin_hide_phone_data = ereg_replace("[^-_0-9a-zA-Z]","",$admin_hide_phone_data); $max_calls_method = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_method); $max_calls_action = ereg_replace("[^-_0-9a-zA-Z]","",$max_calls_action); + $in_group_dial = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial); + $in_group_dial_select = ereg_replace("[^-_0-9a-zA-Z]","",$in_group_dial_select); + $queuemetrics_socket = ereg_replace("[^-_0-9a-zA-Z]","",$queuemetrics_socket); + $holiday_id = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_id); + $holiday_date = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_date); + $holiday_status = ereg_replace("[^-_0-9a-zA-Z]","",$holiday_status); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $amd_inbound_group = ereg_replace("[^-_0-9a-zA-Z]","",$amd_inbound_group); + $amd_callmenu = ereg_replace("[^-_0-9a-zA-Z]","",$amd_callmenu); ### ALPHA-NUMERIC and underscore and dash and slash and dot - $menu_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_prompt); $menu_timeout_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_timeout_prompt); $menu_invalid_prompt = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$menu_invalid_prompt); $after_hours_message_filename = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$after_hours_message_filename); @@ -2444,6 +2591,11 @@ if ($non_latin < 1) $survey_ni_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_ni_audio_file); $survey_third_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_third_audio_file); $survey_fourth_audio_file = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$survey_fourth_audio_file); + $safe_harbor_audio_field = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$safe_harbor_audio_field); + $voicemail_greeting = ereg_replace("[^-\/\|\._0-9a-zA-Z]","",$voicemail_greeting); + + ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma + $menu_prompt = ereg_replace("[^-\/\|\,\._0-9a-zA-Z]","",$menu_prompt); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -2461,7 +2613,7 @@ if ($non_latin < 1) $group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); ### ALPHA-NUMERIC and hash and star and dot and underscore $hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); - $did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); + $did_pattern = ereg_replace("[^\+\*\#\.\_0-9a-zA-Z]","",$did_pattern); $voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); $phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); $phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); @@ -2555,6 +2707,8 @@ if ($non_latin < 1) $group = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$group); $job_title = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$job_title); $location = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$location); + $holiday_name = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_name); + $holiday_comments = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$holiday_comments); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); @@ -2635,6 +2789,14 @@ if ($non_latin < 1) $modify_url = ereg_replace(";","",$modify_url); $modify_url = ereg_replace("\r","",$modify_url); $modify_url = ereg_replace("\"","",$modify_url); + $qualify_sql = ereg_replace("\\\\","",$qualify_sql); + $qualify_sql = ereg_replace(";","",$qualify_sql); + $qualify_sql = ereg_replace("\r","",$qualify_sql); + $qualify_sql = ereg_replace("'",'"',$qualify_sql); + $queuemetrics_socket_url = ereg_replace("\\\\","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace(";","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("\r","",$queuemetrics_socket_url); + $queuemetrics_socket_url = ereg_replace("'",'"',$queuemetrics_socket_url); ### VARIABLES TO BE mysql_real_escape_string ### # $web_form_address # $queuemetrics_url @@ -3046,16 +3208,53 @@ else # 120316-1203 - Fixed DIALBLE counts for completed statuses # 120402-2111 - Added lead loading template and two carrier log reports to the admin utils page # 120409-1136 - Added Search Leads Logs as slave db option +# 120420-1620 - Forked 2.4 to branches, changing trunk to 2.6 +# 120512-0844 - Added In-Group Manual Dial options to campaign screen +# 120514-0936 - Added Dial In-group CID override setting +# 120518-1456 - Added XFTAMM/LTMG special hotkeys for send to answering machine message +# 120526-0827 - Added User Group User Login Report +# 120529-2112 - Added safe_harbor_audio_field campaign option +# 120706-1255 - Added Max stats date range and call menu qualify_sql options +# 120713-2123 - Added max stats download link and extended_vl option +# 120810-1018 - Added Admin List Counts system settings option +# 120820-1104 - Added is_webphone option Y_API_LAUNCH +# 120831-1523 - Added vicidial_dial_log outbound call logging +# 121018-2321 - Added blank option to owner only dialing +# 121019-0520 - Added voicemail greeting audio chooser options to phones and voicemail boxes +# 121025-2339 - Added without-filter output to test filter function, added server option to test call +# 121027-2344 - Added servers versions page +# 121029-0109 - Added pause_after_next_call and owner_populate campaign options +# 121114-1923 - Added Basic Lead Management page link. Added INGROUP as a recording filename option +# 121116-1410 - Added QC functionality +# 121120-0824 - Added queuemetrics_socket functionality to system settings +# 121123-1208 - Added inbound holiday functions +# 121124-1957 - Added List Expiration Date feature and Campaign Other-DNC-List feature +# 121129-2319 - Added enhanced_disconnect_logging option +# 121130-1425 - Fixed user group permissions issue with allowed campaigns modifications of user groups +# 121205-1619 - Added parentheses around filter SQL when in SQL queries +# 121206-0630 - Added inbound lead search feature +# 121212-1529 - Standardization of list_id fields at 19 digits in forms +# 121222-2146 - Added new email features +# 130102-1135 - Small change to admin log viewing for email accounts +# 130124-1721 - Added Inbound Email report link, added Status Display LEADID options(issue #639) +# 130130-1207 - Added new CPD AMD options for In-Groups and CallMenus +# 130221-1736 - Added Level 8 Disable Add option to system settings and new Email Log Report link, DID exten made non-editable +# 130402-2322 - Added user_group script variable +# 130414-1924 - Added report logging and display +# 130424-1601 - Added survey_wait_sec campaign survey option +# 130425-0700 - Added DROP option for survey_no_response_action to go to campaign drop method +# 130503-1509 - Added red color to server table on reports page if asterisk out of sync # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.4-364a'; -$build = '120409-1136'; +$admin_version = '2.6-400a'; +$build = '130503-1509'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); $REPORTdate = date("Y-m-d"); +$EXPtestdate = date("Ymd"); $CIDdate = date("mdHis"); while (strlen($CIDdate) > 9) {$CIDdate = substr("$CIDdate", 1);} @@ -3067,6 +3266,7 @@ $modify_refrescar_set=0; $modify_footer_refrescar=0; $check_time = ($STARTtime - 86400); $SSanswer_transfer_agent = '8368'; +$add_copy_disabled=0; $month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $past_month_date = date("Y-m-d H:i:s",$month_old); @@ -3105,10 +3305,9 @@ if ($force_logout) echo "Voce efetuou logout. Obrigado\n"; exit; } - ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_refrescar,nocache_admin,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_refrescar,nocache_admin,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -3123,6 +3322,7 @@ if ($qm_conf_ct > 0) $SSadmin_modify_refrescar = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; + $SSemail_enabled = $row[8]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -3146,6 +3346,10 @@ if ( ($reports_auth > 0) and ($auth < 1) ) $ADD=999999; $reports_only_user=1; } +############################################## +# Include QC Agents with no other permission # +############################################## +require_once('qc/QC_admin_include02.php'); if ($SSwebroot_writable > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} @@ -3154,7 +3358,7 @@ $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); -if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) ) ) +if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) and ($reports_auth < 1) and ($qc_auth < 1)) ) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); @@ -3162,7 +3366,7 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ( ($auth < 1 ) an exit; } -if ( ($auth > 0) or ($reports_auth > 0) ) +if ( ($auth > 0) or ($reports_auth > 0) or ($qc_auth > 0) ) { $office_no=strtoupper($PHP_AUTH_USER); $password=strtoupper($PHP_AUTH_PW); @@ -3306,6 +3510,9 @@ if ( ($auth > 0) or ($reports_auth > 0) ) { $reports_only_user=1; } + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} } else { @@ -3334,8 +3541,10 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; -echo "\n"; +echo "\n"; echo "\n"; +echo "\n"; +echo "\n"; if ($SSnocache_admin=='1') { echo "\n"; @@ -3366,6 +3575,8 @@ if ($ADD==1411) {$hh='ingroups'; echo "CopiarDID";} if ($ADD==1511) {$hh='ingroups'; echo "Incluir Menu de Chamada";} if ($ADD==1611) {$hh='ingroups'; echo "Copiar Menu de Chamada";} if ($ADD==1711) {$hh='ingroups'; echo "Adicionar Grupo de telefone Filtro";} +if ($ADD==1811) {$hh='ingroups'; echo "Adicionar Novo e-mail em Grupo";} +if ($ADD==1911) {$hh='ingroups'; echo "Copie e-mail em Grupo";} if ($ADD==11111) {$hh='remoteagent'; echo "Incluir Usuário Remoto";} if ($ADD==12111) {$hh='remoteagent'; echo "Adicionar Grupo de Extensão";} if ($ADD==111111) {$hh='usergroups'; echo "Incluir Grupo de Usuários";} @@ -3374,6 +3585,7 @@ if ($ADD==11111111) {$hh='filters'; echo "Incluir Novo Filtro";} if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Novo Horário de Cham.";} if ($ADD==131111111) {$hh='admin'; $sh='shifts'; echo "Incluir Turno";} if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Novo Horário de Cham. por Estado";} +if ($ADD==1211111111) {$hh='admin'; $sh='times'; echo "Adicionar férias";} if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "NOVO RAMAL";} if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "INCLUIR ALIAS DE RAMAL";} if ($ADD==13111111111) {$hh='admin'; $sh='phones'; echo "INCLUIR ALIAS DE GRUPO";} @@ -3409,6 +3621,8 @@ if ($ADD==2411) {$hh='ingroups'; echo "Inclusão de DDR por cópia";} if ($ADD==2511) {$hh='ingroups'; echo "Novo Menu de Chamada";} if ($ADD==2611) {$hh='ingroups'; echo "Novo Menu de Chamada";} if ($ADD==2711) {$hh='ingroups'; echo "Grupo Telefone novo filtro";} +if ($ADD==2811) {$hh='ingroups'; echo "Novo e-mail Grupo Adição";} +if ($ADD==2911) {$hh='ingroups'; echo "New Copiado Email Grupo Adição";} if ($ADD==21111) {$hh='remoteagent'; echo "Novo Agente Remoto";} if ($ADD==22111) {$hh='remoteagent'; echo "Adição de Extensão de Novo Grupo";} if ($ADD==211111) {$hh='usergroups'; echo "Novo Grupo de Usuários";} @@ -3417,6 +3631,7 @@ if ($ADD==21111111) {$hh='filters'; echo "Novo Filtro";} if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Nova Inclusão de Horário de Cham.";} if ($ADD==231111111) {$hh='admin'; $sh='shifts'; echo "Inclusão de Turno";} if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Nova Inclusão de Hor. de Cham. por Estado";} +if ($ADD==2211111111) {$hh='admin'; $sh='times'; echo "Nova adição de férias";} if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "INCLUINDO RAMAL";} if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "INCLUINDO ALIAS DE RAMAL";} if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "INCLUINDO ALIAS DE GRUPO";} @@ -3480,6 +3695,7 @@ if ($ADD==3311) {$hh='ingroups'; echo "AlterarDID";} if ($ADD==3321) {$hh='ingroups'; echo "Modificar DID RA Extensão Substitui";} if ($ADD==3511) {$hh='ingroups'; echo "Alterar Menu de Chamada";} if ($ADD==3711) {$hh='ingroups'; echo "Modificar Grupo Telefone Filtro";} +if ($ADD==3811) {$hh='ingroups'; echo "Modificar e-mail em Grupo";} if ($ADD==31111) {$hh='remoteagent'; echo "Alterar Agentes Remotos";} if ($ADD==32111) {$hh='remoteagent'; echo "Modificar Grupo de Extensão";} if ($ADD==311111) {$hh='usergroups'; echo "Alterar Grupos de Usuários";} @@ -3489,6 +3705,7 @@ if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Alterar um Hor. de Cham."; if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Alterar as configurações de horário de chamada por estado";} if ($ADD==331111111) {$hh='admin'; $sh='shifts'; echo "Alterar Turno";} if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Alterar um horário de chamada por estado";} +if ($ADD==3211111111) {$hh='admin'; $sh='times'; echo "Modificar férias";} if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "ALTERAR RAMAL";} if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "ALTERAR ALIAS DE RAMAL";} if ($ADD==33111111111) {$hh='admin'; $sh='phones'; echo "ALTERAR ALIAS DE GRUPO";} @@ -3524,6 +3741,7 @@ if ($ADD==4111) {$hh='ingroups'; echo "Alterar Groupo de Entrada";} if ($ADD==4311) {$hh='ingroups'; echo "AlterarDID";} if ($ADD==4511) {$hh='ingroups'; echo "Alterar Menu de Chamada";} if ($ADD==4711) {$hh='ingroups'; echo "Modificar Grupo Telefone Filtro";} +if ($ADD==4811) {$hh='ingroups'; echo "AlterarEmail In-Group";} if ($ADD==41111) {$hh='remoteagent'; echo "Alterar Agentes Remotos";} if ($ADD==42111) {$hh='remoteagent'; echo "Modificar Grupo de Extensão";} if ($ADD==411111) {$hh='usergroups'; echo "Alterar Grupos de Usuários";} @@ -3532,6 +3750,7 @@ if ($ADD==41111111) {$hh='filters'; echo "Alterar Filtro";} if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Alterar um Hor. de Cham.";} if ($ADD==431111111) {$hh='admin'; $sh='shifts'; echo "Alterar Turno";} if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Alterar um horário de chamada por estado";} +if ($ADD==4211111111) {$hh='admin'; $sh='times'; echo "Modificar férias";} if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "ALTERAR RAMAL";} if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "ALTERAR ALIAS DE RAMAL";} if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "ALTERAR ALIAS DE GRUPO";} @@ -3567,6 +3786,7 @@ if ($ADD==51111111) {$hh='filters'; echo "Apagar Filtro";} if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "RemoverCall Time";} if ($ADD==531111111) {$hh='admin'; $sh='shifts'; echo "Remover Turno";} if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Apagar Hor. de Cham. por Estado";} +if ($ADD==5211111111) {$hh='admin'; $sh='times'; echo "Eliminar férias";} if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "REMOVER ALIAS DE RAMAL";} if ($ADD==53111111111) {$hh='admin'; $sh='phones'; echo "REMOVER ALIAS DE GRUPO";} @@ -3603,6 +3823,7 @@ if ($ADD==61111111) {$hh='filters'; echo "Apagar Filtro";} if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "RemoverCall Time";} if ($ADD==631111111) {$hh='admin'; $sh='shifts'; echo "Remover Turno";} if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Apagar Hor. de Cham. por Estado";} +if ($ADD==6211111111) {$hh='admin'; $sh='times'; echo "Eliminar férias";} if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "REMOVER ALIAS DE RAMAL";} if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "REMOVER ALIAS DE GRUPO";} @@ -3623,6 +3844,9 @@ if ($ADD==700000000000000) {$hh='reports'; echo "VICIDIAL LOG DE ALT. ADMIN";} if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL LOG DE ALT. DO USUÁRIO ADMIN";} if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL LOG DE ALT. DA SEÇÃO ADMIN";} if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL LOG DE ALT. DE DETALHES ADMIN";} +if ($ADD==800000000000000) {$hh='reports'; echo "VICIDIAL Admin Report LOG";} +if ($ADD==810000000000000) {$hh='reports'; echo "VICIDIAL usuário admin relatório de log";} +if ($ADD==830000000000000) {$hh='reports'; echo "VICIDIAL DETALHE Admin Report LOG";} if ($ADD==0) {$hh='users'; echo "Lista de Usuários";} if ($ADD==8) {$hh='users'; echo "Chamadas Agendadas deste Agente";} if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Chamadas Agendadas nesta Campanha";} @@ -3635,6 +3859,7 @@ if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} if ($ADD==1320) {$hh='ingroups'; echo "Modificar DID RA Extensão Substitui";} if ($ADD==1500) {$hh='ingroups'; echo "Menus de Chamada";} if ($ADD==1700) {$hh='ingroups'; echo "Filtro de Grupos de telefone";} +if ($ADD==1800) {$hh='ingroups'; echo "E-mail em grupos";} if ($ADD==10000) {$hh='remoteagent'; echo "Agentes Remotos";} if ($ADD==12000) {$hh='remoteagent'; echo "Grupos de Extensão";} if ($ADD==100000) {$hh='usergroups'; echo "Grupos de Usuário";} @@ -3643,6 +3868,7 @@ if ($ADD==10000000) {$hh='filters'; echo "Filtros";} if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Horários de Cham.";} if ($ADD==130000000) {$hh='admin'; $sh='shifts'; echo "Turnos";} if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Horários de Chamada por Estado";} +if ($ADD==1200000000) {$hh='admin'; $sh='times'; echo "Férias";} if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "LISTA DE RAMAIS";} if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "LISTA DE ALIAS DE RAMAL";} if ($ADD==13000000000) {$hh='admin'; $sh='phones'; echo "LISTA DE ALIAS DE GRUPOS";} @@ -3656,6 +3882,8 @@ if ($ADD==180000000000) {$hh='admin'; $sh='label'; echo "Lista de rótulos TELA" if ($ADD==190000000000) {$hh='admin'; $sh='cts'; echo "LISTA DE CONTATOS";} if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "LISTA DE CONFERÊNCIAS";} if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL LISTA DE CONFERÊNCIAS";} +##QC +require_once('qc/QC_admin_variables01.php'); if ($ADD==550) {$hh='users'; echo "Formulário de Pesquisa";} if ($ADD==551) {$hh='users'; echo "PESQUISAR RAMAIS";} if ($ADD==660) {$hh='users'; echo "RESULTADOS DA PESQUISA";} @@ -3669,7 +3897,35 @@ if ($ADD==999995) {$hh='reports'; echo "COPYRIGHT LICENÇA MARCA";} if ($ADD==999994) {$hh='reports'; echo "ADMIN UTILITIES";} if ($ADD==999993) {$hh='reports'; echo "STATS RESUMO";} if ($ADD==999992) {$hh='reports'; echo "SYSTEM STATS RESUMO";} +if ($ADD==999991) {$hh='reports'; echo "SERVERS VERSÃOS";} +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + if ($ADD==999993) {$report_name = "STATS RESUMO";} + if ($ADD==999992) {$report_name = "SYSTEM STATS RESUMO";} + if ($ADD==730000000000000) {$report_name = "LOG DE ALT. DE DETALHES ADMIN";} + if ($ADD==830000000000000) {$report_name = "DETAIL Admin Report LOG";} + + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $stage, $report_display_type|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + } if ( ($ADD>9) and ($ADD < 99998) ) { @@ -3869,7 +4125,7 @@ if ( ( (strlen($ADD)>4) and ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($AD ##### BEGIN get inbound groups listing for checkboxes ##### $xfer_groupsSQL=''; - if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and (eregi('list_activation', $stage))) ) + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and ( (eregi('list_activation', $stage)) or (ereg('test_call',$stage)) ) ) ) { $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); @@ -4321,6 +4577,11 @@ if ($ADD==99999)
    Agente com Chamada Manual- Permite que um agente manualmente adicione um novo registro ao sistema e comande a discagem. Isso também permite que seja comandado a discagem de qualquer número na tela do vicidial e a coloque na sua sessão. Use esta opção com cautela. +
    + +
    + Agent Call Email - This option is disabled. +

    @@ -4346,7 +4607,7 @@ if ($ADD==99999)

    - Sobrepor Config. de Gravação do VICIDIAL - Esta opção irá sobrepor qualquer configuração de gravação que esteja na campanha. DISABLED não irá sobrepor a configuração da campanha. NEVER irá desabilitar a gravação no client. ONDEMAND é o padrão e permite ao agente iniciar e parar a gravação conforme necessário. ALLCALLS irá iniciar a gravação no client quando uma chamada é enviada ao agente. ALLFORCE irá iniciar a gravação no client quando uma chamada é enviada para o agente, sem dar a opção de parar a gravação, Para ALLCALLS e ALLFORCE existe uma opção para atrasar a gravação e evitar gravações curtas demais e evitar carga no sistema. + VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Atraso de Gravação to cut down on very short recordings and reduce system load.
    @@ -4361,7 +4622,7 @@ if ($ADD==99999)

    - Agente Override Pesquisa chumbo - Esta definição irá substituir o que a campanha criou para pesquisa de chumbo agente. NOT_ACTIVE usará o cenário de campanha. ENABLED permitirá a pesquisa de chumbo e deficientes não permitirá a pesquisa de chumbo. O padrão é NOT_ACTIVE. + Agente Override Pesquisa chumbo - Esta definição irá substituir o que a campanha criou para pesquisa de chumbo agente. NOT_ACTIVE usará o cenário de campanha. ENABLED permitirá a pesquisa de chumbo e deficientes não permitirá a pesquisa de chumbo. O padrão é NOT_ACTIVE. LIVE_CALL_INBOUND permitirá busca por um tempo de chumbo em apenas uma chamada de entrada. LIVE_CALL_INBOUND_AND_MANUAL permitirá busca por um tempo de chumbo em uma chamada de entrada ou durante a pausa. Quando Pesquisa chumbo é utilizado em uma chamada de entrada ao vivo, a liderança da chamada, quando ele foi para o agente será alterado para um status de LSMERG, e os logs para a chamada será modificado para ligar para o agente de ligação selecionado em vez.
    @@ -4484,6 +4745,18 @@ if ($ADD==99999)
    Modificar Registros - Esta opção quando configurada permite ao usuário modificar registros na página de pesquisa do site admin. + 0) + { + ?> +
    +
    +
    + Modificar Contas de Email - Esta opção se definido como 1 permite ao usuário modificar contas de e-mail na página de gerenciamento de contas de e-mail. + +

    @@ -4707,6 +4980,17 @@ if ($ADD==99999)
    Permitir Finalizadores - Aqui é onde você pode configurar se os usuários dessa campanha poderão ter a opção de enviar a chamada para um finalizador. + 0) + { + ?> +
    +
    +
    + Permitir e-mails - Este é o lugar onde você pode definir se os usuários desta campanha será capaz de receber e-mails de entrada, além de telefonemas. +

    @@ -4928,12 +5212,22 @@ if ($ADD==99999)

    - AMD envia para exten correio de voz- Este menu permite definir se uma mensagem deve ser deixada na secretária eletrônica quando é detectada. A chamada irá imediatamente ser direcionada para a extensão se o AMD estiver ativo e determinar que é uma secretária eletrônica. + AMD enviar à Ação - Esta opção permite definir se uma chamada é enviada para a Ação AMD quando uma secretária eletrônica é detectado. Se estiver definido para N, então a chamada será preso assim que está determinado a ser uma secretária eletrônica. O padrão é N.

    - Ação CPD AMD - Se você estiver usando o software de Detecção Sangoma ParaXip Call Progress então você deve habilitar esta configuração para DISPO que irá finalizar a chamada como AA e desligar se a chamada estiver sendo processada e ainda não foi enviada para um agente ou MESSAGE que irá enviar a chamada para o campo definido como Mensagem de Secretária Eletrônica para esta Campanha. O padrão é DISABLED. + Ação CPD AMD - Se você estiver usando o software de Detecção Sangoma ParaXip Call Progress então você deve habilitar esta configuração para DISPO que irá finalizar a chamada como AA e desligar se a chamada estiver sendo processada e ainda não foi enviada para um agente ou MESSAGE que irá enviar a chamada para o campo definido como Mensagem de Secretária Eletrônica para esta Campanha. O padrão é DISABLED. Ajustando para ingroup irá enviar um atendedor de chamadas a um grupo de entrada. Ajustando para CALLMENU enviará uma secretária eletrônica com um menu de chamadas no sistema. + +
    +
    +
    + AMD Entrada Grupo - Se CPD AMD Ação está definido para ingroup, então este é o grupo de entrada que a chamada será enviada para Se uma secretária eletrônica é detectado. + +
    +
    +
    + Menu de Chamada AMD - Se CPD AMD Ação está definido para CALLMENU, então este é o menu de chamadas que a chamada será enviada para Se uma secretária eletrônica é detectado.
    @@ -4960,6 +5254,11 @@ if ($ADD==99999)
    Áudio Safe Harbor - Este é o arquivo de áudio prompt que é jogado, se a ação de soltar for definido como AUDIO. O padrão é o zumbido. +
    +
    +
    + Safe Harbor Áudio Campo - Esta configuração opcional permite que você defina um campo na lista que o sistema usará como o nome do arquivo de áudio para cada liderança no lugar do arquivo de áudio de Porto Seguro. Se isso for definido como desativado o arquivo de áudio de Porto Seguro será sempre utilizado. O sistema irá fazer nenhuma validação para certificar-se de que o arquivo de áudio existe a não ser para garantir que o valor do campo é de pelo menos um personagem, então se você quiser uma vantagem de usar o padrão de áudio porto seguro, então você apenas definir o valor do campo na liderança para esvaziar. Você pode usar o caractere pipe para conectar vários arquivos de áudio em conjunto no valor de campo para cada ligação. O padrão é desabilitado. Aqui é a lista de campos que podem ser utilizados para esta configuração: vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, alt_phone, email, security_phrase, comments, rank, owner, entry_list_id +

    @@ -4988,7 +5287,12 @@ if ($ADD==99999)

    - Único propietario de marcado - Si esta opción está activada, el agente sólo recibirá las pistas que están dentro de los parámetros de la propiedad. Si esto se establece a usuario entonces el agente debe ser definida por el usuario en la base de datos como el propietario de este lugar. Si esto se establece en territorio que entonces el dueño de la iniciativa debe coincidir con el territorio que figuran en la pantalla de modificación del usuario de este agente. Si esto se establece a USER_GROUP entonces el dueño de la iniciativa debe coincidir con el grupo de usuarios que el agente es un miembro de. Para que esta característica funcione el método de línea se debe establecer en Manual o INBOUND_MAN marcado Hopper y no debe estar activado. El valor predeterminado es NINGUNO para discapacitados. + Único propietario de marcado - Si esta opción está activada, el agente sólo recibirá las pistas que están dentro de los parámetros de la propiedad. Si esto se establece a usuario entonces el agente debe ser definida por el usuario en la base de datos como el propietario de este lugar. Si esto se establece en territorio que entonces el dueño de la iniciativa debe coincidir con el territorio que figuran en la pantalla de modificación del usuario de este agente. Si esto se establece a USER_GROUP entonces el dueño de la iniciativa debe coincidir con el grupo de usuarios que el agente es un miembro de. Para que esta característica funcione el método de línea se debe establecer en Manual o INBOUND_MAN marcado Hopper y no debe estar activado. El valor predeterminado es NINGUNO para discapacitados. Se a opção tem em branco no final, então os usuários podem discar ligações sem proprietário definido, além de proprietário definido leva. + +
    +
    +
    + Proprietário Preencher - Se estiver habilitado eo campo proprietário do chumbo estiver em branco, o campo proprietário para a liderança vai preencher com o ID do usuário do agente que lida com a chamada pela primeira vez. O padrão é desabilitado. 0) @@ -5042,6 +5346,11 @@ if ($ADD==99999)
    Digitos DTMF da Pesquisa - Este campo é onde você define os digitos que um cliente pode digitar como opção para campanha de pesquisa. Digitos válidos são 0123456789*#. Todas as opções, com exceção de Not Interested, Terceiro e Quarto dígito, irão mover a chamada para o método de Pesquisa(Pesquisa). +
    +
    +
    + Inquérito Espere Segundos - Este é o número de segundos no modo de pesquisa o sistema irá aguardar pela entrada da pessoa chamada até que o inquérito ou a ação queda é acionado. Não é aplicada se o método de pesquisa é HANGUP. Padrão é de 10 segundos. +

    @@ -5070,7 +5379,7 @@ if ($ADD==99999)

    - Ação p/ Sem Resposta - Aqui é definido o que acontece se não há resposta para a pergunta da pesquisa. OPTIN só irá enviar a chamada para o método de pesquisa se o cliente apertar algum digito DTMF. OPTOUT irá enviar o cliente para o método mesmo que ele não pressione um dígito. + Ação p/ Sem Resposta - Aqui é definido o que acontece se não há resposta para a pergunta da pesquisa. OPTIN só irá enviar a chamada para o método de pesquisa se o cliente apertar algum digito DTMF. OPTOUT irá enviar o cliente para o método mesmo que ele não pressione um dígito. GOTA vai cair a chamada usando o método da gota campanha, mas ainda registrar a chamada como a PM jogou status da mensagem.
    @@ -5182,12 +5491,12 @@ if ($ADD==99999)

    - Gravação da Campanha - Este menu permite que você escolha o nível de gravação permitido para esta campanha. NEVER irá desabilitar a gravação no client. ONDEMAND é o padrão e permite ao agente iniciar e parar a gravação conforme necessário. ALLCALLS irá iniciar a gravação assim que uma chamada for enviada para o client. ALLFORCE irá iniciar gravação no client assim que uma chamada for enviada ao agente e não dando opção ao agente de parar a gravação. Para ALLCALLS e ALLFORCE existe uma opção para usar o atraso de gravação para evitar gravações curtas e reduzir carga no servidor. + Gravação da Campanha - Este menu permite selecionar qual o nível de gravação é permitido nesta campanha. NEVER irá desabilitar a gravação pele client. ONDEMAND é o padrão e permite que o agente inicie e pare a gravação conforme for preciso. ALLCALLS inicia a gravação pelo client quando uma chamada é enviada para o agente. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Atraso de Gravação to cut down on very short recordings and reduce system load.

    - Nome do Arquivo de Gravação da Campanha - Este campo permite que você personalize o nome da gravação quando a gravação da campanha é OnDemand ou ALLCALLS. As variáveis ​​são permitidos CAMPANHA CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. O padrão é FULLDATE_AGENTE e ficaria assim 20051020-103108_6666. Outro exemplo é CAMPANHA_TINYDATE_CUSTPHONE que ficaria assim TESTCAMP_51020103108_3125551212. 50 char max. + Nome do Arquivo de Gravação da Campanha - Este campo permite que você personalize o nome da gravação quando a gravação da campanha é OnDemand ou ALLCALLS. As variáveis ​​são permitidos CAMPANHA INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. O padrão é FULLDATE_AGENTE e ficaria assim 20051020-103108_6666. Outro exemplo é CAMPANHA_TINYDATE_CUSTPHONE que ficaria assim TESTCAMP_51020103108_3125551212. Te resultando nome do arquivo deve ser inferior a 90 caracteres.
    @@ -5202,7 +5511,7 @@ if ($ADD==99999)

    - Pesquisa de chumbo agente - Definir esta opção como ENABLED permitirá que agentes para procurar pistas e visualizar informações de chumbo durante uma pausa na interface do agente. Além disso, se o Grupo Usuário Agent tem permissão para ver registros de chamadas, em seguida, o agente será capaz de ver as notas de chamada passado por qualquer dica que eles estão vendo informações sobre. O padrão é DISABLED. + Pesquisa de chumbo agente - Definir esta opção como ENABLED permitirá que agentes para procurar pistas e visualizar informações de chumbo durante uma pausa na interface do agente. Além disso, se o Grupo Usuário Agent tem permissão para ver registros de chamadas, em seguida, o agente será capaz de ver as notas de chamada passado por qualquer dica que eles estão vendo informações sobre. O padrão é DISABLED. LIVE_CALL_INBOUND permitirá busca por um tempo de chumbo em apenas uma chamada de entrada. LIVE_CALL_INBOUND_AND_MANUAL permitirá busca por um tempo de chumbo em uma chamada de entrada ou durante a pausa. Quando Pesquisa chumbo é utilizado em uma chamada de entrada ao vivo, a liderança da chamada, quando ele foi para o agente será alterado para um status de LSMERG, e os logs para a chamada será modificado para ligar para o agente de ligação selecionado em vez.
    @@ -5297,7 +5606,7 @@ if ($ADD==99999)

    - Callbacks agendadas Contagem - Esta opção permite que você defina se apenas callbacks VIVOS, pelo usuário apenas retornos de chamada programadas que atingiram a sua data de disparo e de tempo, ou callbacks ALL_ACTIVE, o usuário somente callbacks que estão ativos no sistema, bem como callbacks VIVOS, deve BE3 contados int ele agente seção alerta de retorno de chamada na tela do agente. O padrão é ALL_ACTIVE. + Callbacks agendadas Contagem - These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks. LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered. You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE. Default is ALL_ACTIVE.
    @@ -5359,6 +5668,11 @@ if ($ADD==99999)
    Usar Lista de Bloqueio - Este recurso define se a campanha deve filtrar registros usando a lista de Bloqueio que é específica para esta campanha. Se configurado como Y, o hopper irá procurar cada número na lista específica de Bloqueio antes de colocar o número na lista do hopper. Se estiver em uma lista específica de Bloqueio, então ele irá alterar o status do registro para DNCC para que este registro não seja discado. O padrão é N La opción codigoDeArea es como la opción-y, excepto que se utiliza para filtrar también un código de área en toda América del Norte desde que se está marcando, en este caso mediante la entrada en la lista 201XXXXXXX DNC podría bloquear todas las llamadas a los 201 codigoDeArea si está habilitada. +
    +
    +
    + Outros DNC Campanha - Se a opção de utilizar a lista DNC campanha está ativada, esta opção pode permitir que você use uma lista DNC campanha diferente, basta colocar o ID da campanha da outra campanha neste campo. Se você usar esta opção, a lista original DNC campanha não será mais marcada, apenas a outra lista DNC campanha será usado. Isso não afeta o uso da lista DNC sistema interno. Padrão é vazio. +

    @@ -5439,6 +5753,16 @@ if ($ADD==99999)
    Telefone Mensagem de Alerta Diferença de tempo - Este recurso manual-dial-somente, se ativada, irá mostrar um alerta se o fuso horário para o código postal de chumbo, ou código postal, é diferente do fuso horário do código de área do número de telefone para a liderança. A opção OUTSIDE_CALLTIME_ONLY só irá mostrar a indicação se as duas zonas de tempo são diferentes e uma das zonas de tempo está fora do tempo de permanência seleccionado para a campanha. OUTSIDE_CALLTIME_PHONE só verificar o fuso horário do número de telefone do chumbo e alertar se estiver fora do tempo de chamada local. OUTSIDE_CALLTIME_POSTAL só verificar o fuso horário do código postal do chumbo e alertar se estiver fora do tempo de chamada local. OUTSIDE_CALLTIME_BOTH irá verificar o código postal e número de telefone para estar dentro do tempo de chamada local, mesmo se eles estão no mesmo fuso horário. Esses alertas irá mostrar na informação do registo de chamadas, informações callbacks lista, informações de resultados de pesquisa, quando uma ligação é marcado e quando uma ligação é visualizado. O padrão é DISABLED. +
    +
    +
    + Manual de In-Grupo Dial - Este recurso permite que você ative a capacidade de agentes para colocar marcação chamadas de saída manuais que são registrados como em grupo chama atribuído a um específico grupo. A opção MANUAL_DIAL permite a colocação de chamadas telefônicas através de uma In-Group com o agente efetuar uma chamada. A opção NO_DIAL permite ao agente registar tempo numa chamada que não existe, como se fosse uma chamada real, isto é frequentemente usado para registo de e-mail ou fax tempo. A opção Ambos irão permitir que tanto apelo e sem chamada de marcação em grupo. O padrão é desabilitado. + +
    +
    +
    + No Grupo Discagem Manual Select - Esta opção só está activo se o exposto no Grupo característica Dial manual não está desativado. Esta opção restringe o selecionável In-Grupos que o agente pode colocar no Grupo manual Dial chama completamente. CAMPANHA_SELECTED só aparecem as em grupos que a campanha estabeleceu como permitido em grupos. ALL_USER_GROUP vai mostrar todos os grupos em que são visíveis para os membros do grupo de usuário que o agente pertence. +

    @@ -5626,6 +5950,11 @@ if ($ADD==99999)
    Agente de pausa después de cada llamada - Esta opción si se define como Y hará una pausa en el agente después de cada llamada automáticamente. Por defecto es n. +
    +
    +
    + Pausa agente After Next chamada de vínculo - Esta opção se estiver ativado irá exibir um link na tela do agente que vai deixar o agente entrar em pausa automaticamente depois que pendurar sua próxima chamada. O padrão é desabilitado. +

    @@ -5692,6 +6021,16 @@ if ($ADD==99999)
    Perdí Times - Este campo le permite poner veces, separados por un guión, que esta lista se restablece automáticamente por el sistema. Los tiempos deben estar en formato de 24 horas sin puntuacion, por ejemplo 0800-1700 se restablecer la lista de las 8 AM y las 5 PM todos los días. Por defecto está vacío. +
    +
    +
    + Data de Vencimento - Esta opção permite que você defina a data após a qual lidera esta lista não será permitida a ser auto-discado ou manual-list-discado pelo sistema. O padrão é 2099/12/31. + +
    +
    +
    + Auditoria Comentários - Esta opção permite que comentários sejam transferidos para uma tabela de auditoria. Não é mais editável, mas visível, juntamente com a data e hora-criador de cada comentário. O padrão é N. Esta é uma parte do Controle de Qualidade Add-On. +

    @@ -5889,7 +6228,7 @@ if ($ADD==99999)

    - Transferência de Ação CID - Usado para soltar, após o expediente e nenhum agente-fila não-ações. Este é o número de identificação do chamador que a chamada usa antes de ser transferido para extensões, mensagens, correio de voz ou menus de atendimento. Você pode usar CLIENTE neste campo a ser usado o número de telefone do cliente, ou Campanha para usar a primeira campanha permitiu número identificador de chamadas. O padrão é CLIENTE. + Transferência de Ação CID - Usado para soltar, após o expediente e nenhum agente-fila não-ações. Este é o número de identificação do chamador que a chamada usa antes de ser transferido para extensões, mensagens, correio de voz ou menus de atendimento. Você pode usar CLIENTE neste campo a ser usado o número de telefone do cliente, ou Campanha para usar a primeira campanha permitiu número identificador de chamadas. O padrão é CLIENTE. Se esta é uma chamada que vai para um menu Chamadas e depois voltar para um em grupo, sugerimos que você use CUSTOMERCLOSER neste campo, e você também precisa definir o método de pesquisa In-Group no menu Chamada de CLOSER.
    @@ -6184,7 +6523,7 @@ if ($ADD==99999)

    - In-Group Recording Filename - This field will override the Gravação da Campanha Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPANHA CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. O padrão é FULLDATE_AGENTE e ficaria assim 20051020-103108_6666. Outro exemplo é CAMPANHA_TINYDATE_CUSTPHONE que ficaria assim TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + In-Group Recording Filename - Este campo irá substituir o regime de nomes de arquivos de gravação de campanha, a menos que ela é definida como NONE. As variáveis ​​são permitidas CAMPANHA INGROUP CUSTPHONE FULLDATE TINYDATE EPOCH AGENTE VENDORLEADCODE LEADID. O padrão é FULLDATE_AGENTE e ficaria assim 20051020-103108_6666. Outro exemplo é CAMPANHA_TINYDATE_CUSTPHONE que ficaria assim TESTCAMP_51020103108_3125551212. Te resultando nome do arquivo deve ser inferior a 90 caracteres. Default is NONE. 0) @@ -6251,7 +6590,7 @@ if ($ADD==99999)

    - Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank. + Dispo Call URL - This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time em segundo of the call. Default is blank.
    @@ -6268,6 +6607,11 @@ if ($ADD==99999)
    Alias de Grupo Padrão - Se você permitium Alias de Grupo para a campanha que o agente está logado, então este é o alias de grupo que é selecionado como padrão em uma chamada vindo deste grupo de entrada quando o agente escolhe um alias de grupo para uma chamada manual. O padrão é NONE ou vazio. +
    +
    +
    + Disque No Grupo CID - Se a campanha do agente permite o manual no Grupo de discagem, este número de identificação de chamada será enviada como o CID de saída da chamada de telefone se ele está preenchido, substituindo as configurações de campanha e lista de configuração de substituição CID. O padrão é vazio. +

    @@ -6372,7 +6716,7 @@ if ($ADD==99999)

    - In-Group Call lidar com Método - IN_GROUP Si se selecciona como la Ruta de DID, entonces este es el llamado método de control utilizado para estas llamadas. Cid agregar un registro de conducir nuevo con cada llamada mediante la CallerID como el número de teléfono, CIDLOOKUP intentará buscar el número de teléfono por el CallerID en todo el sistema, CIDLOOKUPRL intentará buscar el número de teléfono por el CallerID en una sola lista especificada , CIDLOOKUPRC intentará buscar el número de teléfono por el CallerID en todas las listas que pertenecen a la campaña especificada, más cerca se especifica para Vicidial Closer llamadas, ANI añadirá un nuevo registro de conducir con cada llamada mediante la ANI como el número de teléfono, ANILOOKUP intentará buscar el número de teléfono de la ANI en todo el sistema, ANILOOKUPRL intentará buscar el número de teléfono de la ANI en una sola lista especificada, XDIGITID pedirá la llamada de un código de dos dígitos X antes de la llamada se pondrá en la cola, VIDPROMPT pedirá la persona que llama por su número de identificación y creará un registro de conducir nuevo con el CallerID como el número de teléfono y el ID como el identificador de proveedor, VIDPROMPTLOOKUP intentará buscar el ID en todo el sistema, VIDPROMPTLOOKUPRL intentará búsqueda del proveedor de identificación de la identificación en una sola lista se especifica, VIDPROMPTLOOKUPRC tratará de buscar el proveedor de identificación de la identificación en todas las listas que pertenecen a la campaña especificado. El valor predeterminado es CID. Se um método é usado com CIDLOOKUP ALT, ele irá procurar o campo alt_phone para o número de telefone, se nenhuma correspondência for encontrada para o número de telefone principal. Se um método é usado com CIDLOOKUP ADDR3, ele irá procurar o campo Endereço3 para o número de telefone, se nenhuma correspondência for encontrada para o número de telefone principal e, opcionalmente, o campo alt_phone. + No Grupo Método identificador de chamada - IN_GROUP Si se selecciona como la Ruta de DID, entonces este es el llamado método de control utilizado para estas llamadas. Cid agregar un registro de conducir nuevo con cada llamada mediante la CallerID como el número de teléfono, CIDLOOKUP intentará buscar el número de teléfono por el CallerID en todo el sistema, CIDLOOKUPRL intentará buscar el número de teléfono por el CallerID en una sola lista especificada , CIDLOOKUPRC intentará buscar el número de teléfono por el CallerID en todas las listas que pertenecen a la campaña especificada, más cerca se especifica para Vicidial Closer llamadas, ANI añadirá un nuevo registro de conducir con cada llamada mediante la ANI como el número de teléfono, ANILOOKUP intentará buscar el número de teléfono de la ANI en todo el sistema, ANILOOKUPRL intentará buscar el número de teléfono de la ANI en una sola lista especificada, XDIGITID pedirá la llamada de un código de dos dígitos X antes de la llamada se pondrá en la cola, VIDPROMPT pedirá la persona que llama por su número de identificación y creará un registro de conducir nuevo con el CallerID como el número de teléfono y el ID como el identificador de proveedor, VIDPROMPTLOOKUP intentará buscar el ID en todo el sistema, VIDPROMPTLOOKUPRL intentará búsqueda del proveedor de identificación de la identificación en una sola lista se especifica, VIDPROMPTLOOKUPRC tratará de buscar el proveedor de identificación de la identificación en todas las listas que pertenecen a la campaña especificado. El valor predeterminado es CID. Se um método é usado com CIDLOOKUP ALT, ele irá procurar o campo alt_phone para o número de telefone, se nenhuma correspondência for encontrada para o número de telefone principal. Se um método é usado com CIDLOOKUP ADDR3, ele irá procurar o campo Endereço3 para o número de telefone, se nenhuma correspondência for encontrada para o número de telefone principal e, opcionalmente, o campo alt_phone.
    @@ -6450,7 +6794,7 @@ if ($ADD==99999)

    - Audio do Menu - Este campo contém o nome do arquivo para o audio que será tocado no inicio do menu. Puede introducir propmts múltiples en este campo y los demás ámbitos del sistema mediante la separación de ellos con un carácter de canalización. + Audio do Menu - Este campo contém o nome do arquivo para o audio que será tocado no inicio do menu. Puede introducir propmts múltiples en este campo y los demás ámbitos del sistema mediante la separación de ellos con un carácter de canalización. Você pode adicionar NOINT diretamente na frente de um nome de arquivo de áudio para fazê-lo assim que a reprodução não pode ser interrompido com uma tecla pressionada pelo chamador, o NOINT não deve ser uma parte do nome do arquivo, é uma bandeira especial para o sistema. Você também pode usar propósito especial. Agi scripts neste campo, bem como o roteiro cm_date.agi, discutir com o administrador para obter mais detalhes.
    @@ -6543,6 +6887,12 @@ if ($ADD==99999)
    Entrada Dialplan personalizado - Este campo le permite entrar en los elementos dialplan que desea para el menú de llamada. +
    +
    +
    + Qualificar SQL - Este campo permite a entrada de SQL - Structured Query Language - fragmentos do banco de dados, como com filtros, para determinar se este menu chamada deve jogar para o chamador ou não. Esta característica só funciona se a chamada tem o conjunto callerIDname antes de ser enviado para este menu de chamada, quer como uma transferência de levantamento de saída, ou através da utilização de um menu de chamada para uma chamada de gota no grupo. Se houver uma coincidência, a chamada será prosseguir normalmente. Se não houver correspondência, a chamada vai para a opção D ou a opção inválida se nenhuma opção D está definido. Você não pode usar aspas simples neste campo, apenas aspas, se eles são necessários. O padrão é vazio para deficientes. + + @@ -6674,7 +7024,7 @@ if ($ADD==99999) VICIDIAL_CAMPANHA_HOTKEYS TABELA


    - Através do uso de atalhos de teclado customizados por campanha, agentes que usam o web-client do vicidial podem desligar e classificar uma chamada pressionando uma tecla do teclado. Existem duas opções de atalhos especiais que você pode usar em conjunto com discagem a Telefones Alternativos, ALTPH2 - Discar para o Tel. Alt. e ADDR3----Discagem rápida do endereço 3, permitem ao agente usar o atalho para desligar a chamada, permanecer no mesmo registro e discar outro telefone do mesmo registro. + Através do uso de atalhos de teclado customizados por campanha, agentes que usam o web-client do vicidial podem desligar e classificar uma chamada pressionando uma tecla do teclado. Existem duas opções de atalhos especiais que você pode usar em conjunto com discagem a Telefones Alternativos, ALTPH2 - Discar para o Tel. Alt. e ADDR3----Discagem rápida do endereço 3, permitem ao agente usar o atalho para desligar a chamada, permanecer no mesmo registro e discar outro telefone do mesmo registro. Você também pode usar LTMG ou XFTAMM como status para desencadear uma transferência automática para a opção Leave-Correio de Voz. @@ -6873,10 +7223,10 @@ if ($ADD==99999)
    - Texto do Script - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + Texto do Script - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id, dialed_number, dialed_label, rank, owner, camp_script, in_script, script_width, script_height, recording_filename, recording_id, user_custom_one, user_custom_two, user_custom_three, user_custom_four, user_custom_five, preset_number_a, preset_number_b, preset_number_c, preset_number_d, preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b, did_id, did_extension, did_pattern, did_description, closecallid, xfercallid, agent_log_id, entry_list_id, call_id, user_group. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables:
    - <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> + <iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&dialed_number=--A--dialed_number--B--&dialed_label=--A--dialed_label--B--&rank=--A--rank--B--&owner=--A--owner--B--&phone=--A--phone--B--&camp_script=--A--camp_script--B--&in_script=--A--in_script--B--&script_width=--A--script_width--B--&script_height=--A--script_height--B--&recording_filename=--A--recording_filename--B--&recording_id=--A--recording_id--B--&user_custom_one=--A--user_custom_one--B--&user_custom_two=--A--user_custom_two--B--&user_custom_three=--A--user_custom_three--B--&user_custom_four=--A--user_custom_four--B--&user_custom_five=--A--user_custom_five--B--&preset_number_a=--A--preset_number_a--B--&preset_number_b=--A--preset_number_b--B--&preset_number_c=--A--preset_number_c--B--&preset_number_d=--A--preset_number_d--B--&preset_number_e=--A--preset_number_e--B--&preset_number_f=--A--preset_number_f--B--&preset_dtmf_a=--A--preset_dtmf_a--B--&preset_dtmf_b=--A--preset_dtmf_b--B--&did_id=--A--did_id--B--&did_extension=--A--did_extension--B--&did_pattern=--A--did_pattern--B--&did_description=--A--did_description--B--&closecallid=--A--closecallid--B--&xfercallid=--A--xfercallid--B--&agent_log_id=--A--agent_log_id--B--&entry_list_id=--A--entry_list_id--B--&call_id=--A--call_id--B--&&user_group=--A--user_group--B--&&" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> </iframe>

    @@ -6965,6 +7315,26 @@ if ($ADD==99999)
    Estado da definição de horário - Código de duas letras para o estado ao qual esta definição foi configurada. Para que funcione corretamente o horário local da campanha deve ter selecionado o horário local deste estado e os registros de clientes devem ter as mesmas letras de estado. + +
    + Férias ID - Este é o nome abreviado de uma definição de férias. Isso precisa ser um identificador exclusivo. Não use espaços ou pontuação para este campo. máximo de 30 caracteres, mínimo de 2 caracteres. + +
    +
    + Nome do feriado - Este é um nome mais descritivo da definição de férias. Este é um breve resumo da definição de férias. máximo de 100 caracteres, mínimo de 2 caracteres. + +
    +
    + Férias Comentários - This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-. max 255 characters. + +
    +
    + Feriado Data - Esta é a data do feriado. + +
    +
    + Férias Estado - Este é o estado da entrada de férias. Estado ACTIVE significa que o feriado será ativado na data do feriado. Estado Inativo significa que o feriado será ignorada até mesmo na data do feriado. Significa que o feriado passou sua data do feriado expirado. O padrão é INATIVOS. + @@ -7107,6 +7477,10 @@ if ($ADD==99999) Eliminar correo de voz después del email - Este ajuste opcional le permite tener los mensajes de correo de voz se elimina del sistema después de haber sido enviado por correo electrónico a cabo. Por defecto es n. +
    +
    + Saudação de correio de voz - Esta configuração opcional permite que você defina um arquivo de áudio de saudação de correio de voz a partir da loja de áudio. O padrão é em branco. +
    Zona Correio de Voz - Esta configuração permite que você defina a zona que esta caixa de correio de voz será definido para quando o tempo é registrado para uma mensagem. O padrão é definido nas configurações do sistema. @@ -7150,6 +7524,8 @@ if ($ADD==99999)
  • Endereço de Email
  • Frase de Segurança
  • Comentários +
  • Rank +
  • Owner
    ATENÇÃO: A funcionalidade de carregar registros usando arquivos EXCEL é permitida por uma série de scripts e precisa estar devidamente configurada no arquivo /etc/astguiclient.conf no servidor web. Também, alguns módulos perl devem ser carregados para que funcione, OLE-Storage_Lite e Spreadsheet-ParseExcel. Você pode verificar erros de tempo de execução neles olhando o arquivo de log do apache. Também, para verificação de duplicados na lista da campanha, a lista com os novos registros precisa existir no sistema antes de iniciar a carga. @@ -7241,7 +7617,7 @@ if ($ADD==99999)

    - Definir como Webphone - Definir esta opção como Y tentará carregar um telefone baseado na web quando o agente registra em sua tela de agente. O padrão é N. + Definir como Webphone - Definir esta opção como Y tentará carregar um telefone baseado na web quando o agente registra em sua tela de agente. O padrão é N. A opção Y_API_LAUNCH pode ser usado com a API para lançar o agente webphone numa janela separada ou Iframe.
    @@ -7292,6 +7668,10 @@ if ($ADD==99999) Eliminar correo de voz después del email - Este ajuste opcional le permite tener los mensajes de correo de voz se elimina del sistema después de haber sido enviado por correo electrónico a cabo. Por defecto es n. +
    +
    + Saudação de correio de voz - Esta configuração opcional permite que você defina um arquivo de áudio de saudação de correio de voz a partir da loja de áudio. O padrão é em branco. +

    @@ -8121,6 +8501,11 @@ if ($ADD==99999)
    Servidor de correo de voz activo - En sistemas multi-servidor, este es el servidor que se encargará de todas las casillas de correo de voz. Este servidor es también donde la línea telefónica en mensajes generados se cargan desde el 8168 grabaciones. +
    +
    +
    + Permitir Correio de Voz saudação Chooser - Se essa configuração for habilitada permitirá que você escolha um arquivo de áudio a partir da loja de áudio para ser jogado como a saudação de correio de voz a uma caixa de correio de voz específico. O padrão é 0 para deficientes. +

    @@ -8186,6 +8571,11 @@ if ($ADD==99999)
    Habilitar Estatísticas lista extensa - Esta configuração permite que duas colunas adicionais a serem exibidos em mais da lista de tabelas de estado de degradação sobre a modificação lista de páginas e de modificação de campanha. A penetração é definido como a percentagem de ligações que são iguais ou superiores ao limite de contagem campanha de chamadas e ou o estado é marcado como concluído. O padrão é 1 para habilitado. +
    +
    +
    + Maior Disconnect Logging - Essa configuração permite o registro de chamadas que recebem um sinal CONGESTIONAMENTO com um código de causa de 1, 19, 21, 34 ou 38. Nós geralmente não é recomendável habilitar esta nos EUA. O padrão é 0 para deficientes. +

    @@ -8202,6 +8592,26 @@ if ($ADD==99999)
    Contactos Habilitado - Esta configuração permite que os contatos sub-seção de administração que permite que um gerente para adicionar modificar ou excluir contatos no sistema que podem ser usados ​​como parte de uma transferência personalizado em uma campanha onde um agente pode procurar contactos por Nome Sobrenome ou escritório número e, em seguida, selecione um dos muitos números associados a esse contato. Este recurso é freqüentemente utilizado pelos operadores ou em funções de telefonistas, onde o usuário teria de transferir uma chamada para um telefone não-agente. O padrão é 0 para deficientes físicos. +
    +
    +
    + Menu de chamada Qualificar Ativado - Esta configuração permite a opção nos menus de chamadas para colocar uma qualificação SQL sobre as pessoas que ouvem esse menu chamada. Para mais informações sobre como esse recurso funciona, consulte a ajuda para menus de atendimento. O padrão é 0 para deficientes. + +
    +
    +
    + Nível 8 Desativar Adicionar - Esta configuração se habilitado irá impedir qualquer nível 8 usuário adicione ou copiar qualquer registro no sistema, não importa o que suas configurações de usuário são. Excluem-se destas restrições são a capacidade de adicionar grupos de números de telefone do DNC e do filtro e uma página nova pista em Adicionar. O padrão é 0 para deficientes. + +
    +
    +
    + Administração das listas Counts - Esta configuração permite que você desabilite a contagem da lista que aparecem na lista Listas e as telas de modificação da campanha. O padrão é 1 para enabled. + +
    +
    +
    + Permitir e-mails - Este é o lugar onde você pode definir se o sistema será capaz de receber e-mails de entrada, além de telefonemas. +

    @@ -8367,6 +8777,16 @@ if ($ADD==99999)
    QueueMetrics Telefone Ambiente Telefone Anexar - Esta opção, se ativada, irá acrescentar o login telefone agente para o registro dados4 na tabela de log fila se a campanha de campo Ambiente Telefone é preenchida. O padrão é 0 para deficientes físicos. +
    +
    +
    + QueueMetrics Soquete Enviar - Esta opção, se estiver ativado, enviará dados QM para uma página web que irá enviá-lo através de um soquete para a exploração madeireira. A opção CONNECT_COMPLETE enviará eventos CONNECT, COMPLETEAGENTE e COMPLETECALLER a url abaixo definido. O padrão é NONE para deficientes. + +
    +
    +
    + QueueMetrics Soquete Enviar URL - Se enviar socket está habilitado acima, este é o URL que é usado para enviar os dados. Padrão é vazio para deficientes. +

    @@ -8450,7 +8870,110 @@ if ($ADD==99999)



    + 0) + { + ?> + Contas de email VICIDIAL

    +
    +
    + The Vicidial Contas de Email management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE. +
    +
    +
    + Email Conta ID - Este é o nome curto da conta de e-mail, não é editável após a apresentação inicial, não deve conter espaços e deve ter entre 2 e 20 caracteres. + +
    +
    +
    + Nome da conta de e-mail - Este é o nome completo da conta de e-mail, deve ser entre 2 e 30 caracteres. + +
    +
    +
    + Ativo - Isso determina se esta conta será verificado se há novas mensagens de e-mail para ser carregado no discador. + +
    +
    +
    + Email Descrição da Conta - This allows for a lengthy description, if needed, of the email account. 255 characters max. + +
    +
    +
    + E-mail Tipo de Conta - Specifies whether the account is used for inbound or outbound email messages. Should be set to INBOUND. + +
    +
    +
    + Grupo de Usuários do Administrador - Este é o grupo de usuário administrativo para esse grupo de entrada, o que permite a visualização de administrador isso no grupo restrito por grupo de usuários. O padrão é - ALL - que permite a qualquer usuário administrador para visualizar esta em grupo. + +
    +
    +
    + Email Conta Protocolo - This is the email protocol used by the account you are setting up access to. Currently only IMAP and POP3 accounts are supported. + +
    +
    +
    + E-mail Endereço de Resposta - The email address of the account you are setting up access to. Replies to email messages from the agent interface will read as coming from this address. + +
    +
    +
    + Email conta do servidor - O servidor de e-mail que a conta está alojado em. + +
    +
    +
    + E-mail de Conta de Usuário - The login used to access this account. Usually it's the portion of the reply-to address before the -at- symbol. + +
    +
    +
    + E-mail a senha da conta - The password used to access this account. This is usually set at the time the email account is created. + +
    +
    +
    + Email Frequency Check Rate (mins) - How often this email account should be checked. The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time. + +
    +
    +
    + No Grupo ID - O In-Group de que as mensagens de e-mail será enviado para. + +
    +
    +
    + Padrão Lista de ID - A lista de ID que leva será inserido, se necessário. + +
    +
    +
    + No Grupo Método identificador de chamada - This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into vicidial_list as a new lead. EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "No Grupo ID Campanha" box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the "No Grupo Lista de ID" box below. + +
    +
    +
    + Agent No Grupo Método de Pesquisa - O método de pesquisa agente a ser utilizado pelo grupo de entrada, LO é com Balanceamento de Carga-Transbordo e vai tentar enviar a chamada para um agente no servidor local antes de tentar enviá-lo a um agente em outro servidor, LB é com Balanceamento de Carga e vai tentar enviar a chamada para o próximo agente não importa o servidor no qual estão, por isso é servidor apenas e só vai tentar enviar as chamadas para os agentes no servidor que o convite veio em diante. O padrão é LB. IS THIS NECESSARY? + +
    +
    +
    + No Grupo Lista de ID - Este é o ID da lista que irá ser utilizado para pesquisar uma correspondência dentro. + +
    +
    +
    + No Grupo ID Campanha - Este é o ID da campanha, que serão utilizados para pesquisar para uma correspondência dentro. + + + + +



    + VICIDIAL CUSTOM TEMPLATE MAKER


    @@ -8497,7 +9020,7 @@ if ($ADD==99999) Máxima do sistema Relatórios Estatísticas


    - Estas estatísticas são totais que são armazenados em cache ao longo de cada dia em tempo real através de processos de back-end. Para chamadas de entrada, as chamadas totais por in-grupo são calculadas para cada chamada que entra no processo que calcula. Para a contagem de todo o sistema, os totais são gerados a partir de entradas de registro, bem como outros totais em grupo e da campanha. Esses totais podem não somar devido às configurações que você tem em seu sistema, bem como quando a chamada é desligada. + Estas estatísticas são totais que são armazenados em cache ao longo de cada dia em tempo real através de processos de back-end. Para chamadas de entrada, as chamadas totais por in-grupo são calculadas para cada chamada que entra no processo que calcula. Para a contagem de todo o sistema, os totais são gerados a partir de entradas de registro, bem como outros totais em grupo e da campanha. Esses totais podem não somar devido às configurações que você tem em seu sistema, bem como quando a chamada é desligada. CÓDIGOS DE STATUS DE CONTROLE DE QUALIDADE


    - The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + The Controle de qualidade-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC status codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. +



    + Relatórios

    + +
    +
    + Agente Tiempo Detalle - In this report you can view how much time agents spent on what.
    + TIME CLOCK = Time the agent been logged in to the time clock.
    + AGENTE TIME = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + PAUSE = Time the agent is in pause mode (LOGIN + LAGGED + ...).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + - The next table is pause codes and their time.
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +
    +
    + Agent Status Detalhes - In this report you can view what and how many statuses has been selected by the agents.
    + CALLS = Total number of calls sent to the user.
    + CIcalls = Total number of call where there was a Resposta Humana which is set under "Admin" -> "System Status".
    + DNC/CI% = How much in percent DNC (Do Not Call) per Resposta Humanas.
    + And the rest is justStatus do Sistemathat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Status".
    + +
    +
    + Agent Performance Detalhes - This is a combination of Agente Tiempo Detalle and Agent Status Detalhes.
    + (Statistics related to handling of calls only)
    + CALLS = Total number of calls sent to the user.
    + TIME = Total time of these (PAUSE + WAIT + TALK + DISPO).
    + PAUSE = Amount of time being paused in related to call handling.
    + AVG means Average so everything -AVG is for example amount of PAUSE-time divided by total number of calls: (PAUSE / CALLS = PAUSAVG)
    + WAIT = Time the agent waits for a call.
    + TALK = Time the agent talks to a customer or is in dead state (DEAD + CUSTOMER).
    + DISPO = Time the agent uses at the disposition screen (where the agent picks NI, SALE etc).
    + DEAD = Time the agent is in a call where the customer has hung up.
    + CUSTOMER = Time the agent is in a live call with a customer.
    + And the rest is justStatus do Sistemathat the agent picked and how many, to find out what they means then head over to "Admin" -> "System Status".
    + - Next table is Códigos de Pausa.
    + TOTAL = Total time on the system (WAIT + TALK + DISPO + PAUSE).
    + NONPAUSE = Everything except pause (WAIT + TALK + DISPO).
    + PAUSE = Only Pause.
    + - The last table is pause codes and their time (like "Agente Tiempo Detalle").
    + LOGIN = The pause code when going from login directly to pause.
    + LAGGED = The time the agent had some network problem or similar.
    + ANDIAL = This pause code triggers if the agent been on dispo screen for longer than 1000 seconds.
    + and empty is undefined pause code.
    + +















    @@ -8582,7 +9158,7 @@ if ($ADD==73) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -8595,11 +9171,19 @@ if ($ADD==73) echo "FILTER: $lead_filter_id
    \n"; echo "CALL LIMIT: $call_count_limit\n"; echo "CALL TIME: $local_call_time

    \n"; + echo "With Filter:\n"; + echo "

    \n"; ### call function to calculate and print dialable leads $single_status=0; dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,$fSQL); + echo "

    \n"; + echo "Without Filter:\n"; + echo "

    \n"; + + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$drop_lockout_time,$call_count_limit,$single_status,''); + echo "

    \n"; echo "\n"; @@ -8691,6 +9275,7 @@ if ($ADD==7111111) $agent_log_id = 'agent_log_id'; $entry_list_id = 'entry_list_id'; $call_id = 'call_id'; + $user_group = 'user_group'; echo "\n"; echo "\n"; @@ -8842,6 +9427,7 @@ if ($ADD==7111111) $script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); $script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); $script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); + $script_text = eregi_replace('--A--user_group--B--',"$user_group",$script_text); $script_text = eregi_replace("\n","
    ",$script_text); @@ -8982,7 +9568,7 @@ if ($ADD=="1A") if ($LOGuser_level==9) {$levelMAX=10;} else {$levelMAX=$LOGuser_level;} - echo "
  • \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) { @@ -9117,6 +9703,7 @@ if ($ADD==11) echo "\n"; + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -9237,7 +9824,7 @@ if ($ADD==111) } else { - echo "\n"; + echo "\n"; } echo "\n"; echo "\n"; @@ -9276,6 +9863,9 @@ if ($ADD==111) if ($ADD==121) { + ### filter for DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers); + echo "
    PERSONLIGA ÅTERUPPNINGNINGAR :
    För att se information på en av de återbesök nedan, klicka på INFO länken. Att ringa kunden tillbaka nu, klicka på RING länken. Om du klickar på en post nedan för att slå det, kommer det att tas bort från listan. +
    PERSONLIGA ÅTERUPPNINGNINGAR :
    För att se information för en av återuppningningarna nedan, klicka på info länken. För att ringa kunden nu, klicka på RING länken. Om du klickar på en post nedan för att ringa det, kommer det att tas bort från listan.

    \n";} + {echo "

    \n";} ?>

      @@ -13566,10 +15113,10 @@ Tillgängliga agenter koppla: -
    NYTT MANUELLT UPPRINGT LEAD FÖR :

    Skriv in informationen för det nya leadet du vill ringa. + - + @@ -13614,7 +15165,7 @@ Tillgängliga agenter koppla:
    NYTT MANUELLT UPPRINGT LEAD FÖR :

    Skriv in informationen för det nya leadet du vill ringa.
    \n"; } @@ -13579,9 +15126,9 @@ Tillgängliga agenter koppla: Landskod
      (Detta är 46 för Sverige)
    Telefon Number: telefonnummer: -   (digits only) +   (endast siffror) @@ -13594,6 +15141,10 @@ Tillgängliga agenter koppla:

        +

    +     +

    +


    Om du vill ringa ett nummer och INTE lägga till det som en ny lead, skriv in det exakta numret i \"Dial override\" nedan.För att avsluta detta samtal måste du öppna SAMTAL I DENNA SESSION i botten av fönstret och klicka på kanallänken där..
     
    INGÅENDE CLOSER GRUPPVAL

    \n";} + {echo "

    \n";} ?> Ingående closer gruppval
    @@ -13633,10 +15184,10 @@ Tillgängliga agenter koppla: -
    territorium SELECTION
    +
    VAL AV OMRÅDEN

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13658,10 +15209,10 @@ Tillgängliga agenter koppla: -
          AGENT SAMTAL LOG:             close [X]
    + @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          agent samtalsloggen:             nära [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13669,42 +15220,42 @@ Tillgängliga agenter koppla: - \n";} ?> - + 0) + {echo "\n";} + ?> +
          Sök efter en kontakt:             close [X]
    +
          SÖK EFTER EN KONTAKT:             nära [X]

    \n";} + {echo "

    \n";} ?>

    - Anteckningar: när du gör en sökning efter en kontakt, är wild card eller partiell söktermer inte tillåtet.
    Kontakt Sök förfrågningar alla inloggade i systemet. + Notera: när du gör en sökning efter en kontakt är ersättningstecken eller ofullständiga söktermer inte tillåtna.
    Kontakt-sökningar är alla loggade i systemet.

    - + - + - + - + - + - + - + - + - +
    Office Number: kontor nummer:
    Förnamn Name: förnamn:
    Efternamn Name: efternamn:
    BU Name: firma:
    Department: avdelning:
    Group Name: gruppnamn:
    Job Titel: jobbtitel:
    Location: plats:

    SKICKA SEARCH             återställa formen

    inkomma sökning             återställ formen


      @@ -13712,10 +15263,10 @@ Tillgängliga agenter koppla:
    - "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH zástupca VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to Manažérsends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, ZAPARKOVAŤ, FROMZAPARKOVAŤ, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("musíte zvoliť zástupcu, ktorý bude prenášať potrebné pri používaní agentdirect"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Prevziať"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Zaparkovaný"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Prevziať"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Zaparkovaný"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Prevziať"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Zaparkovaný"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Prevziať"; - if (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Zaparkovaný"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move na to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (PoslednýCallbackCount < CBcounT) || (PoslednýCallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - PoslednýCallbackCount = CBcounT; - PoslednýCallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (PoslednýCallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - PoslednýCallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          KONTAKTER SÖKRESULTAT:             close [X]
    +
          KONTAKTER SÖKRESULTAT:             nära [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13723,21 +15274,21 @@ Tillgängliga agenter koppla: - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          SÖK Ett LEAD:             close [X]
    + \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          SÖK EFTER ETT LEAD:             nära [X]

    \n";} + {echo "

    \n";} ?>

    - Anteckningar: när du gör en sökning efter en bly, telefonnummer, bly-ID eller är de bästa fält som ska användas.
    Med de övriga fält kan vara långsammare. Bly sökande tillåter inte jokertecken eller delvis sökord.
    Lead sökförfrågningar alla inloggade i systemet. + Anteckningar: när du gör en sökning efter leadet, telefonnummer, lead-ID eller är de bästa fälten att användas.
    Använda de övriga fälten kan vara långsammare. Lead sökande tillåter inte ersättnigstecken eller ufullständiga sökord.
    Lead sökförfrågningar är alla loggade i systemet.

    - + - + - + @@ -13766,7 +15317,7 @@ Tillgängliga agenter koppla: : - +
    Telefon Number: telefonnummer:
    Telefon Number Fields: telefonnummerfält: Huvud telefonnummer Alternativt telefonnummer @@ -13745,7 +15296,7 @@ Tillgängliga agenter koppla:
    Lead ID: leda id:
    :

    SKICKA SEARCH             återställa formen

    inkomma sökning             återställ formen


      @@ -13774,34 +15325,34 @@ Tillgängliga agenter koppla:
    - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          SÖKRESULTAT:             close [X]
    +
          SÖKRESULTAT:             nära [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          RING ANMÄRKNINGAR LOG:             close [X]
    + +
          LOGG FÖR SAMTALSANTECKNINGAR:             nära [X]

    \n";} + {echo "

    \n";} ?> -
    Ring listan över anteckningar
    +
    Lista för samtalsanteckningar


      - Stäng Info Box + Stäng Info Box
    - \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
          Kundinformation:             close [X] +
          Kundinformation:             nära [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13813,7 +15364,7 @@ Tillgängliga agenter koppla:
    VÄLJ PAUSKOD :

    \n";} + {echo "

    \n";} ?> Paus Code Selection @@ -13825,7 +15376,7 @@ Tillgängliga agenter koppla:
    Välj en förinställd :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13836,14 +15387,26 @@ Tillgängliga agenter koppla:
    VÄLJ ETT GRUPPALIAS :

    \n";} + {echo "

    \n";} ?> - GRUPPALIAS val + Gruppalias val

     
    + +
    VÄLJ EN RING IN-GRUPP :
    +
    \n";} + ?> + Ring In-Grupp Selection + +

      +
    +
    +
    ALERT :
        @@ -13851,6 +15414,13 @@ Tillgängliga agenter koppla:
    + +
    annan levande agent session var öppen med ditt användarnamn. det har inaktiverats. Klicka på OK för att fortsätta till agenten skärmen.
    OK --> +
    +
    + + + @@ -13908,4 +15478,4 @@ Tillgängliga agenter koppla: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_se/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_se/voicemail_check.php index c256162e..d2dedee3 100644 --- a/agc_2-X/trunk/LANG_www/agc_se/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_se/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Felaktig Användarnamn/Lösenord: |$user|$pass|\n"; - exit; + echo "Felaktig Användarnamn/Lösenord: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Felaktig server_ip: |$server_ip| or Felaktig session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Lyssna av röstbrevlåda"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Lyssna av röstbrevlåda"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "röstbrevlåda $vmail_box är ej giltig\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_sk/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_sk/active_list_refresh.php index a9da0569..8637d52e 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nesprávny session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Zobraziť zoznamy: "; -if ($ADD==1) {echo "Aktívne pobočky";} -if ($ADD==2) {echo "Obsadené pobočky";} -if ($ADD==3) {echo "Vonkajšie linky";} -if ($ADD==4) {echo "Lokálne pobočky";} -if ($ADD==5) {echo "Konferencie";} -if ($ADD==99999) {echo "POMOC";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Zobraziť zoznamy: "; + if ($ADD==1) {echo "Aktívne pobočky";} + if ($ADD==2) {echo "Obsadené pobočky";} + if ($ADD==3) {echo "Vonkajšie linky";} + if ($ADD==4) {echo "Lokálne pobočky";} + if ($ADD==5) {echo "Konferencie";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_sk/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_sk/astguiclient.php index 30ac35a1..ad5f182d 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "NAHRAŤ"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "NAHRAŤ"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "ŽIVÉ HOVORY NA TOMTO TELEFÓNE:
    "; + var live_calls_HTML = "ŽIVÉ HOVORY NA TOMTO TELEFÓNE:
    #KLIENTSKÝ KANÁLVZDIALENÝ KANÁLRECORDPOLOŹIŤPREPOJIŤZAPARKOVAŤ
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var NAHRAŤbutton = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "Zastavenie nahrávania";} else - {live_calls_HTML = live_calls_HTML + "NAHRAŤ";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1637,7 +1638,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=-1; if (parked_count > 0) { - var park_HTML = "
    #KLIENTSKÝ KANÁLVZDIALENÝ KANÁLRECORDPOLOŹIŤPREPOJIŤPARK
    POLOŹIŤPREPOJIŤZAPARKOVAŤ
    POLOŹIŤPREPOJIŤPARK
    " + var park_HTML = "
    #CHANNEL
      HOVOR ID
    ZAZAPARKOVAŤOVANIE PRE
      ČAS ZAZAPARKOVAŤOVANIA
    POLOŹIŤPREPOJIŤPREVZIAŤ
    " while (loop_ct < parked_count) { loop_ct++; @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "KONFERENCIA " + head_conf + "    Pprihlásenie do: " + head_reg + "   " + reglink + "         Vložiť konferenciu
    Osviežiť     NAHRAŤ         Poslať DTMF         Volanie z konferencie
    "; + var conf_head_HTML = "KONFERENCIA " + head_conf + "    Pprihlásenie do: " + head_reg + "   " + reglink + "         Vložiť konferenciu
    Osviežiť     Record         Poslať DTMF         Volanie z konferencie
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    #CHANNEL
      HOVOR ID
    ZAPARKOVANIE PRE
      ČAS ZAPARKOVANIA
    POLOŹIŤPREPOJIŤPREVZIAŤ
    --> diff --git a/agc_2-X/trunk/LANG_www/agc_sk/vicidial.php b/agc_2-X/trunk/LANG_www/agc_sk/vicidial.php index b5d4ea28..9eda6c39 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/vicidial.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/vicidial.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # Other scripts that this application depends on: # - vdc_db_query.php: Updates information in the database @@ -377,12 +377,35 @@ # 120223-2119 - Removed logging of good login passwords if webroot writable is enabled # 120308-1617 - Added compatibility for DAHDI phones using asterisk version for server > 1.4.21.2 # 120403-1204 - Fixed issue with MANUAL dial method hotkeys, added 1 second delay +# 120420-1621 - Forked 2.4 to branches, changing trunk to 2.6 +# 120427-1718 - Fixed 3-way logging issue +# 120512-0849 - Added In-Group Manual Dial functions +# 120518-1225 - Added transfer call to answering machine message with hotkey (LTMG or XFTAMM) +# 120810-0056 - Added recording api function +# 120819-1747 - Added vicidial_session_data logging for webphone api function +# 120914-1357 - Added group_alias to transfer_conference function +# 121025-2335 - Do not allow AGENTDIRECT transfers without a user defined +# 121029-0122 - Added pause_after_next_call and owner_populate campaign options +# 121114-1759 - Fixed manual dial lead preview script variable issue +# 121114-1937 - Added INGROUP recording option +# 121116-1407 - Added QC functionality +# 121129-2149 - Corrected hotkeys activation conditions +# 121130-0734 - Fixed call notes amphersand issue #612 +# 121206-0634 - Added inbound lead search feature +# 121222-2315 - Added inbound email features +# 130220-1214 - Fixed issue with 3-way call dial timeout +# 130328-0006 - Converted ereg to preg functions +# 130328-0934 - Applied changes from Issue #655 +# 130328-1017 - Added validation for agent manual dial permission on DIAL links +# 130402-2250 - Added user_group variable in scripts, forms and webforms +# 130412-1359 - Added SIP message for failed calls +# 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close # -$version = '2.4-344c'; -$build = '120403-1204'; +$version = '2.6-368c'; +$build = '130417-1937'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=75; +$mysql_log_count=79; $one_mysql_log=0; require("dbconnect.php"); @@ -421,7 +444,7 @@ if (!isset($phone_pass)) if (isset($VD_campaign)) { $VD_campaign = strtoupper($VD_campaign); - $VD_campaign = eregi_replace(" ",'',$VD_campaign); + $VD_campaign = preg_replace("/\s/i",'',$VD_campaign); } if (!isset($flag_channels)) { @@ -430,12 +453,12 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); -$VD_campaign = ereg_replace("[^-_0-9a-zA-Z]","",$VD_campaign); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $forever_stop=0; @@ -465,7 +488,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -487,6 +510,8 @@ if ($qm_conf_ct > 0) $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -498,11 +523,11 @@ if ($qm_conf_ct > 0) # set defaults for hard-coded variables $conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording $dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently -$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$HKuser_level = '1'; # minimum vicidial user_level for HotKeys $campaign_login_list = '1'; # show drop-down list of campaigns at login $manual_dial_preview = '1'; # allow preview lead option when manual dial $multi_line_comments = '1'; # set to 1 to allow multi-line comment box -$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefón login $view_scripts = '1'; # set to 1 to show the SCRIPTS tab $dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo $callholdstatus = '1'; # set to 1 to show calls na hold count @@ -520,7 +545,7 @@ $HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from " $hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Zložiť zákazníka $LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login -$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT VOLAŤ by default if enabled for the campaign +$DefaulTAlTDiaL = '0'; # set to 1 to enable striedavý VOLAŤ by default if enabled for the campaign $AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option $disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link na the agent login screen @@ -550,25 +575,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Titul'; +$label_title = ' Titul'; $label_first_name = 'Prvý'; $label_middle_initial = 'MI'; -$label_last_name = 'Posledný'; +$label_last_name = 'Posledný '; $label_address1 = 'Adresa1'; $label_address2 = 'Adresa2'; $label_address3 = 'Adresa3'; $label_city = 'Mesto'; -$label_state = 'Štát'; +$label_state = ' Štát'; $label_province = 'Kraj'; $label_postal_code = 'PSČ'; $label_vendor_lead_code = 'zákaznícke'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Telefón'; $label_phone_code = 'Volací kód'; $label_alt_phone = 'Alter. číslo'; $label_security_phrase = 'Prezrieť'; $label_email = 'Email'; -$label_comments = 'Komentár'; +$label_comments = ' Komentár'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -608,12 +633,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); +$agcDIR = preg_replace('/vicidial\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -651,10 +676,10 @@ if ($campaign_login_list > 0) $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01003',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } } @@ -684,9 +709,9 @@ if ($campaign_login_list > 0) ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER prepísať OF AGENT SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$MGR_login', ip_address='$ip', event_section='AGENT', event_type='OVERRIDE', record_id='$VD_login', event_code='MANAGER prepísať OF zástupca SHIFT ENFORCEMENT', event_sql=\"$SQL_log\", event_notes='user: $VD_login';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01060',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -710,17 +735,17 @@ if ($campaign_login_list > 0) {$campname = '';} if ($VD_campaign) { - if ( (eregi("$VD_campaign",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) + if ( (preg_match("/$VD_campaign/i",$rowx[0])) and (strlen($VD_campaign) == strlen($rowx[0])) ) {$camp_form_code .= "\n";} else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } } else { - if (!ereg('login_allowable_campaigns',$camp_form_code)) + if (!preg_match('/login_allowable_campaigns/',$camp_form_code)) {$camp_form_code .= "\n";} } $o++; @@ -746,7 +771,7 @@ if ($LogiNAJAX > 0) function browser_dimensions() { \n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    TRUNK HANGUP

    + "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK hangup

    Active Trunks Menu
    Zložiť trunk   |   Capturar Trunk   |   @@ -2786,7 +2787,7 @@ echo "\n"; - - + diff --git a/agc_2-X/trunk/LANG_www/agc_sk/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_sk/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_sk/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_sk/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_sk/call_log_display.php index c628693c..a8b972e2 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nesprávny session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Zobraziť log hovoru"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Zobraziť log hovoru"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten Nie je správny alebo protokol $protocol Nie je správny\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_sk/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_sk/conf_exten_check.php index ce513e4f..5f10bd31 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF zástupca IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Stav: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_sk/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_sk/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_sk/functions.php b/agc_2-X/trunk/LANG_www/agc_sk/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_sk/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_sk/inbound_popup.php index 006fccbe..d98d787f 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "\n"; echo "\n";echo "\n"; echo "
    ZAZAPARKOVAŤOVANIE HOVOROV:
    +
    ZAPARKOVANIE HOVOROV:
    Säť do zakladného okna

    @@ -2799,7 +2800,7 @@ echo "\n";
    HLASOVÁ SCHRÁNKA     NOVÁ:     STARÁ:             RUČNÉ VOLANIE       DIAL
    ZAZAPARKOVAŤOVANIE HOVOROV: 0                VOLANIE LOKÁLNYCH POBOČIEK
    ZAPARKOVANIE HOVOROV: 0                VOLANIE LOKÁLNYCH POBOČIEK
    ODCHODZIE HOVORY:
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_sk/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_sk/live_exten_check.php index 3f2b511b..b82422bd 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "Nesprávny session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Overiť aktívnu pobočku"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Overiť aktívnu pobočku"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten Nie je správny alebo protokol $protocol Nie je správny\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_sk/manager_send.php b/agc_2-X/trunk/LANG_www/agc_sk/manager_send.php index 749da988..29524c9d 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "POMOC";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR Nie je dovolené, aby voľby do iných agent zasadnutí $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate príkaz poslaný pre Exten $exten Kanál $channel na $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='ZAPARKOVAŤED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='ZAPARKOVAŤ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='ZAPARKOVAŤ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='ZAPARKOVAŤ_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRZAPARKOVAŤED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRZAPARKOVAŤ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRZAPARKOVAŤ',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context musí byť nastavené\n"; echo "ext_priority $ext_priority musí byť nastavené\n"; echo "\nRedirect Action neodoslané\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference na $server_ip, Redirect príkaz nebol vložený\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie je možné nájsť prázdnu konferenciu na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Nie je možné nájsť prázdnu konferenciu na $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel nie je živá na $call_server_ip, Redirect príkaz nebol vložený\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel nie je živá na $server_ip, Redirect príkaz nebol vložený\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect príkaz nebol vložený\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX príkaz poslaný pre Kanál $channel na $call_server_ip and \nHungup $extrachannel na $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel na $call_server_ip, Hungup $extrachannel na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel na $call_server_ip, Hungup $extrachannel na $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel na $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority musí byť nastavené\n"; echo "session_id $session_id musí byť nastavené\n"; echo "\nRedirect Action neodoslané\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference na $server_ip, Redirect príkaz nebol vložený\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie je možné nájsť prázdnu konferenciu na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Nie je možné nájsť prázdnu konferenciu na $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel nie je živá na $call_server_ip, Redirect príkaz nebol vložený\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel nie je živá na $server_ip, Redirect príkaz nebol vložený\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra príkaz poslaný pre Kanál $channel and \nExtraChannel $extrachannel\n to $exten na $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten na $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten na $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra príkaz poslaný pre Kanál $channel na $call_server_ip and \nExtraChannel $extrachannel\n to $exten na $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going na in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_sk/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_sk/park_calls_display.php index c78858d2..39094945 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_sk/phone_only.php b/agc_2-X/trunk/LANG_www/agc_sk/phone_only.php index 488c9a00..7a72d3dc 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the telefón login $clientDST = '1'; # set to 1 to check for DST na server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link na the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    Telefón web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Slovensky
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefón-Only Prihlásiť
     
    Meno užívateľa:
    Heslo užívateľa:
      \n"; + echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "Telefón web client: Prihlásenie telefónu\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo "Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English Slovensky
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefón-Only Prihlásiť
     
    Prihlásenie telefónu:
    Heslo telefónu:
      \n"; + echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "Telefón web client: Prihlásenie telefónu\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo "Timeclock
    \n";} - echo "\n"; + {echo "Timeclock
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English Slovensky
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" Telefón-Only Prihlásiť
     
    Prihlásenie telefónu:
    Heslo telefónu:
      \n"; - echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; - echo "
    \n\n"; +echo "
    English Slovensky
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" Telefón-Only Prihlásiť
     
    Prihlásenie telefónu:
    Heslo telefónu:
      \n"; + echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_sk/timeclock.php b/agc_2-X/trunk/LANG_www/agc_sk/timeclock.php index 50919fc8..2f24627c 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_sk/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_sk/vdc_db_query.php index c2a0e789..2d37ddc5 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLeadStav"])) {$CallBackLeadStav=$_GET["CallBackLeadStav"];} - elseif (isset($_POST["CallBackLeadStav"])) {$CallBackLeadStav=$_POST["CallBackLeadStav"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "Nesprávny Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "Adresa Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "Server Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "Server Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF zástupca IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF zástupca IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "ManažérPrihlásiť:
    \n"; $VDdisplayMESSAGE.= "ManažérHeslo:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC ČÍSLO\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC ČÍSLO\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC ČÍSLO\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST HOVOR TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST HOVOR TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP posledný NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN posledný NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP Posledná výzva TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN Posledná výzva TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Komentár + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Komentár + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefón and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefón a poštové smerovacie číslo časové pásmo nesúlad! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append v kampani $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # HOVOROUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # HOVOROUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings v kampani $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " HOVOR NOT PLACED\nDNC ČÍSLO\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " HOVOR NOT PLACED\nDNC ČÍSLO\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " HOVOR NOT PLACED\nČÍSLO NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "LOG NEBOL ZADANÝ\n"; echo "uniqueid $uniqueid or lead_id: $lead_id Nie je správny\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Komentár + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Komentár + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampaň $campaign Nie je správny\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups na vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row na selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send na to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user na $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampaň $campaign Nie je správny or lead_id $lead_id Nie je správny\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited Komentár + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited Komentár + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send na to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user na $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-v kampani as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit Komentár Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - Email feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLeadStav) > 0) {$log_dispo_choice = $CallBackLeadStav;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### HOVORBACK ENTRY + ### callback ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStav');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call Poznámka Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call Poznámka Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' bol zmenený pre ' . $dispo_choice . " Stav\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' bol zmenený pre ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserPORADIE[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuserPORADIE[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuserPORADIE); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuserPORADIE[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -READY      -Incall      -pozastavené  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "Hovorov v zobrazení frontu Zakázané pre túto kampaň\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info na the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "Prejsť       "; + echo " zavrieť "; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     telefón     meno a priezvisko     počkajte     zástupca           HOVOR GROUP     TYPE     skupiny volajúcich     typ  
    TAKE HOVOR  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "Chyba: musíte zadať hľadané výrazy, musí byť jeden z nich je obývaných: olovo id, zákaznícke, telefónne číslo, priezvisko\n"; echo "

    "; echo "Vrátiť späť"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     Dátum\/čas     dĺžka     STAV     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     telefón     meno a priezvisko     kampaň     dovnútra a von     striedavý     hangup     info     VOLAŤ  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL  info VOLAŤ VOLAŤ
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Chyba: tam bol problém s svoje vyhľadávacie termíny\n"; echo "

    "; echo "Vrátiť späť"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "Chyba: musíte zadať hľadané výrazy, musí byť jeden z nich sa vyplní: kancelária číslo, priezvisko, meno\n"; echo "

    "; echo "Vrátiť späť"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "Chyba: tam bol problém s svoje vyhľadávacie termíny\n"; echo "

    "; echo "Vrátiť späť"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no viesť id";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Titul'; + $label_title = ' Titul'; $label_first_name = 'Prvý'; $label_middle_initial = 'MI'; - $label_last_name = 'Posledný'; + $label_last_name = 'Posledný '; $label_address1 = 'Adresa1'; $label_address2 = 'Adresa2'; $label_address3 = 'Adresa3'; $label_city = 'Mesto'; - $label_state = 'Štát'; + $label_state = ' Štát'; $label_province = 'Kraj'; $label_postal_code = 'PSČ'; $label_vendor_lead_code = 'zákaznícke'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Telefón'; $label_phone_code = 'Volací kód'; $label_alt_phone = 'Alter. číslo'; $label_security_phrase = 'Prezrieť'; - $label_email = 'Email'; - $label_comments = 'Komentár'; + $label_email = ' Email'; + $label_comments = ' Komentár'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "Telefón and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "telefón a poštové smerovacie číslo časové pásmo nesúlad! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     meno a priezvisko     telefón     STAV     LAST HOVOR     CITY     STATE     ZIP     INFO     Posledná výzva     město     stav     zips     info     VOLAŤ  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL  info VOLAŤ VOLAŤ Vyberte
      #     FIRST NAME     LAST NAME     posledný NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       umiestnenie: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    Volaný Since Posledný Reset:   $row[4]
    časové pásmo:   $row[3]
    volal od posledného vynulovania:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " VOLAŤ ";} + else + {$INFOout .= " VOLAŤ ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    vytočiť odkaz:   VOLAŤ ";} + else + {$INFOout .= "
    vytočiť odkaz:   VOLAŤ ";} } $INFOout .= "
    vyberte túto vedenie
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " VOLAŤ ";} + else + {$INFOout .= " VOLAŤ ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    Volaný Count:   $row[24]
    Posledný Local Call Time:   $row[25]
    počet hovorov:   $row[24]
    posledný miestnej pohotovosti:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN Email log + if ($allow_emails>0) + { + $NOTESout .= "
    email Prihlásiť sa k tomuto vedeniu:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     Dátum\/čas     zástupca     dĺžka     STAV     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     telefón     kampaň     dovnútra a von     striedavý     hangup  
      FULL NAME     meno a priezvisko  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   Dátum\/čas   zástupca   kampaň   e-mail   Príslušenstvo
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END Email Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: Hovorov v zobrazení frontu Zakázané pre túto kampaň\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "Neznáma príčina hangup kód."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_sk/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_sk/vdc_email_display.php new file mode 100644 index 00000000..912b93bb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_sk/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: Nesprávny File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" na the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    Príslušenstvo:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    Príslušenstvo:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_sk/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_sk/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_notes.php index 9bf022c3..3a2b2bb4 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = 'Titul'; +$label_title = 'Title'; $label_first_name = 'Prvý'; $label_middle_initial = 'MI'; -$label_last_name = 'Posledný'; +$label_last_name = 'Last'; $label_address1 = 'Adresa1'; $label_address2 = 'Adresa2'; $label_address3 = 'Adresa3'; $label_city = 'Mesto'; -$label_state = 'Štát'; +$label_state = 'State'; $label_province = 'Kraj'; $label_postal_code = 'PSČ'; $label_vendor_lead_code = 'zákaznícke'; @@ -265,7 +266,7 @@ $label_phone_code = 'Volací kód'; $label_alt_phone = 'Alter. číslo'; $label_security_phrase = 'Prezrieť'; $label_email = 'Email'; -$label_comments = 'Komentár'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial Poznámka"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *
    Kampaň: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; @@ -907,7 +932,7 @@ echo "
    Kampaň: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; @@ -957,7 +982,7 @@ echo "
    Kampaň: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; @@ -986,14 +1011,14 @@ echo "
    \n"; echo "


    "; echo ""; - echo ""; + echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \"VICIdial\" phone login telefón login
     
    Prihlásenie telefónu:
    Heslo telefónu:
      \n"; + echo "
      \n"; echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; @@ -1071,12 +1096,12 @@ else $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[0]; $shift_enforcement = $row[1]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/i','',$row[2]); + $LOGgroup_shiftsSQL = preg_replace('/\s/i',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; $agent_status_viewable_groups = $row[3]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -1109,8 +1134,8 @@ else if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} - ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### BEGIN - CHECK TO SEE IF zástupca IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -1135,16 +1160,16 @@ else $last_agent_event = $rowx[0]; } if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) { $VDloginDISPLAY=1; $VDdisplayMESSAGE = "Musíte sa prihlásiť do TIMECLOCK PRVEJ
    "; } } - ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + ### END - CHECK TO SEE IF zástupca IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND zástupca IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -1171,7 +1196,7 @@ else $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -1219,10 +1244,10 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "ManažérPrihlásiť:
    \n"; $VDdisplayMESSAGE.= "ManažérHeslo:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } - ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND zástupca IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR if ($WeBRooTWritablE > 0) @@ -1232,7 +1257,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^\./i","",$user_abb); $forever_stop++;} $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); @@ -1240,7 +1265,7 @@ else $row=mysql_fetch_row($rslt); $LOGallowed_campaigns =$row[0]; - if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + if ( (!preg_match("/\s$VD_campaign\s/i",$LOGallowed_campaigns)) and (!preg_match("/ALL-CAMPAIGNS/i",$LOGallowed_campaigns)) ) { echo "Agent web client: Prihlásenie kampane\n"; echo "\n"; @@ -1260,7 +1285,7 @@ echo "
    \n
    "; echo "Heslo:
    \n"; echo "Kampaň: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1374,7 +1399,7 @@ echo "
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1480,6 +1505,10 @@ echo " 0) and (strlen($qm_phone_environment)>0) ) {$qm_phone_environment .= "-$qm_extension";} @@ -1540,7 +1569,7 @@ echo " 0) ) {$disable_dispo_screen=1;} - if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'DISABLED') ) + if ( ($VU_agent_lead_search_override == 'ENABLED') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND') or ($VU_agent_lead_search_override == 'LIVE_CALL_INBOUND_AND_MANUAL') or ($VU_agent_lead_search_override == 'DISABLED') ) {$agent_lead_search = $VU_agent_lead_search_override;} $AllowManualQueueCalls=1; $AllowManualQueueCallsChoice=0; @@ -1603,7 +1632,7 @@ echo " 0) ) + if ( (!preg_match('/DISABLED/',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; echo "\n"; @@ -1719,7 +1748,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // telefón OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    Kampaň: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERZIA: $version       POSTAVENÉ: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    Heslo telefónu:

    VERZIA: $version       POSTAVENÉ: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END telefón login load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; # If a web form address is not set, use the default one if (strlen($web_form_address)>0) @@ -2311,7 +2407,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a NOVÁ record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today na that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "Heslo:
    \n"; echo "Kampaň: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('Január','February','Marec','Apríl','Máj','Jún', +$Cmonths = Array('0','Január','February','Marec','Apríl','Máj','Jún', 'Júl','August','September','Október','November','Decemeber'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLeadStav = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var PoslednýCallCID=''; - var PoslednýCallbackCount=0; - var PoslednýCallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"Pokračovať\""; var DiaLControl_auto_HTML_ready = "\"\"Pokračovať\""; var DiaLControl_auto_HTML_OFF = "\"\"Pokračovať\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "záznam je na"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "upozornenie je vypnuté"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'ZAPARKOVAŤ_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("AgentStavStav").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("AgentStavCalls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("AgentStavDiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,7 +4498,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("Stav: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == 'ZAPARKOVAŤ_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == 'ZAPARKOVAŤ_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == 'ZAPARKOVAŤ_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLeadStav = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbCOMMENTS; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStav + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "Nahrávanie
    px\">\">" + var CB_HTML = "
    # HOVORBACK DATE/TIMEČÍSLOINFONAME STAVCAMPAIGNLAST DÁTUM HOVORU/ČAS VOLAŤ ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - PoslednýCallbackViewed=1; - PoslednýCallbackCount = (PoslednýCallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "Skupina Alias: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "Kliknite tu pre Zvoliť skupinu Alias"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "dial in-skupiny: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "kliknite sem a vyberte voľby v skupine"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     kliknite tu pre aktiváciu"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while na inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited Komentár (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited Komentár + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Posledný hovor:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Preplánovanie hovoru:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Poznámky:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Rýchly"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Rýchly"; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     kliknite tu pre deaktiváciu"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     kliknite tu pre aktiváciu"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " Volaný: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Zaparkovaný"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("Vypršaný čas volania, kontaktujte Vášho systémového administrátora\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Volanie"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Zaparkovať"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"Volať"; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"Volať"; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - PoslednýCallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("ZASOBNIK JE PRAZDNY","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("Nemáte viac kontaktov v zásobníku pre túto kampaň:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("Tento telefón nie je v kampani zoznamy:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("Toto telefónne číslo je mimo miestnej pohotovosti:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Nešpecifikovaná chyba:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"Volať"; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"Pokračovať\"
    \"Volať"; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("ZASOBNIK JE PRAZDNY","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("Nemáte viac kontaktov v zásobníku pre túto kampaň:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("Tento telefón nie je v kampani zoznamy:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("Toto telefónne číslo je mimo miestnej pohotovosti:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Nešpecifikovaná chyba:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"Volať"; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " Volané: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS HOVORBACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "Posledný hovor:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "Preplánovanie hovoru:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "Poznámky:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"Zložiť"; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"Pokračovať\"
    \"Volať"; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited Komentár (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited Komentár + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Volané: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Posledný hovor:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Preplánovanie hovoru:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Poznámky:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"Zložiť"; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,13 +7755,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT VOLAŤ číslo: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: striedavý ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT VOLAŤ číslo: Adresa 3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: Adresa 3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT VOLAŤ číslo: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Telefón Kód a číslo: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + PoslednýCallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - PoslednýCallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " HOVOR NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - PoslednýCallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited Komentár (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited Komentár + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS HOVORBACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "Posledný hovor:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "Preplánovanie hovoru:" + CBcallback_time; @@ -7677,13 +8444,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT VOLAŤ číslo: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: striedavý ";} if (dialed_label == 'ADDR3') - {document.getElementById("CusTInfOSpaN").innerHTML = " ALT VOLAŤ číslo: Adresa 3 ";} + {document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: Adresa 3 ";} var REGalt_dial = new RegExp("X","g"); if (dialed_label.match(REGalt_dial)) { - document.getElementById("CusTInfOSpaN").innerHTML = " ALT VOLAŤ číslo: " + dialed_label + ""; + document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: " + dialed_label + ""; document.getElementById("EAcommentsBoxA").innerHTML = "Telefón Kód a číslo: " + EAphone_code + " " + EAphone_number; var EAactive_link = ''; @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Zaparkovaný"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Príchodzie: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add na all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS HOVOR PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Príchodzie: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS callback "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "Posledný hovor:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "Preplánovanie hovoru:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "Agent:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "Poznámky:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: striedavý ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: Adresa 3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = "  striedavý VOLAŤ číslo: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "Telefón Kód a číslo: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "Zmeniť toto telefónne číslo k NEAKTÍVNYCH";} + else + {EAactive_link = "Zmeniť toto telefónne číslo k aktívnemu";} + + document.getElementById("EAcommentsBoxB").innerHTML = "Aktívne:" + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "Poznámky:" + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Príchodzie: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Zaparkovaný"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"Zložiť"; + + document.getElementById("XferControl").innerHTML = "\"Presmerovanie"; + + document.getElementById("LocalCloser").innerHTML = "\"LOKALNE"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Volať"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"Rýchly"; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"Rýchly"; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"Vlastný"; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"Pokračovať\"
    \"Volať"; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"Web\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"Web\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Príchodzie: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"Web"; } document.getElementById("ParkControl").innerHTML = "\"Zaparkovaný"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCallPoznámkaContent").innerHTML = "
    Výzva Poznámky:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    Výzva Poznámky:
    "; } else { - document.getElementById("PerCallPoznámkaContent").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("MUSÍTE byť pozastavená na vyhľadávanie vodítku"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("MUSÍTE byť pozastavená na vyhľadávanie vodítku"); + alert_box("musíte byť na aktívnom prichádzajúce volania hľadať vedenie"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the dial in-skupiny Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # callback Dátum\/čas ČÍSLO  info  meno a priezvisko STAV  kampaň  posledný DÁTUM HOVORU/ČAS VOLAŤ striedavý
    dial in-skupiny
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "Vrátiť späť"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStav=" + CallBackLeadStav + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLeadStav = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error na this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " minimalizovať "; document.getElementById("DispoSelectHAspan").innerHTML = "Položte znova"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "Ďalšia výzva pauza"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + PoslednýCallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - PoslednýCallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the dial in-skupiny + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "dial in-skupiny: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they zavrieť their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Vaša Shift je nad alebo sa zmenilo, ste boli odhlásený vašej relácie

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or zavrieť the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or zavrieť the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or zavrieť the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("MUSÍTE byť pozastavená na vyhľadávanie vodítku"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // Osviežiť the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalLPoznámkaDisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// Osviežiť the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause na the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "Ďalšia výzva pauza Set"; + } + + // ################################################################################ // Prezrieť the groups selection span function OpeNGrouPSelectioN() @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLeadStav = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLeadStav = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "vytočiť upozornenie:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('Vítame VásBoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalLPoznámkaDisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,17 +13259,19 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('CallPoznámkaButtons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('AgentStavCalls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('AgentStavSpan');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    Ručné Fronta je vypnuté
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_ZAPARKOVAŤ_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentViewStav',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY hangup " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "SKUPINY     \n";} ?> ODHLÁSIŤ\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    ID relácie:     Živý hovor
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; PREZRIET ZOZNAM KONTAKTOV
    ALTER. ČÍSLO TELEFÓNU
    + Ďalšia výzva pauza
    + + Spustiť nahrávanie

    Web formulár
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Zaparkovaný hovor
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    Informácia o zákazníkovi:         HĽADANIE LEAD";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "Výzva Poznámky: "; if ($agent_call_log_view == '1') - {echo "
    zobraziť poznámky ";} + {echo "
    zobraziť poznámky ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "záznam je na";} else - {echo "Alert is OFF";} + {echo "upozornenie je vypnuté";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -NEAKTÍVNE RÝCHLE TLAČIDLÁ - - sekúnd:     @@ -13130,8 +14648,8 @@ $zi=2;
    - -Váš stav:
    Calls Dialing: + +Váš stav:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -Ostatné zástupcovia Stav:  
     
    +Ostatné zástupcovia Status:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +resetovať formulár + + + +refresh @@ -13374,6 +14904,23 @@ Dostupných prostriedkov Transfer:
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +NEAKTÍVNE RÝCHLE TLAČIDLÁ + + + + + px height='px'> + + + + + + +
    zobraziť komentár históriu:
    +
    + @@ -13447,7 +14994,7 @@ Dostupných prostriedkov Transfer: -
    Vaša relácia bola ukončená
    ODHLÁSIŤ

    Vrátiť späť +
    Vaša relácia bola ukončená
    ODHLÁSIŤ

    @@ -13476,18 +15023,18 @@ Dostupných prostriedkov Transfer:
    VYKONANIE HOVORU :       Položte znova       minimalizovať

    \n";} + {echo "

    \n";} ?> - + Ukončenie hovoru vybranej dispozície
    PAUZA VOLAJUCEHO AGENTA
    VYMAZAŤ FORMULÁR | POTVRDIŤ

    - WEB FORM POTVRDIŤ + webové stránky odoslaní formulára

     
    @@ -13496,7 +15043,7 @@ Dostupných prostriedkov Transfer:
    Vyberte dátum preplánovania hovoru :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ Dostupných prostriedkov Transfer:
    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ Dostupných prostriedkov Transfer: -
    NOVÉ manuálne vytáčanie pre zoznam kontaktov :

    Zadajte nižšie uvedené informácie pre nový zoznam kontaktov, ktorý chcete volať. + - + @@ -13613,7 +15164,7 @@ Dostupných prostriedkov Transfer:
    NOVÉ manuálne vytáčanie pre zoznam kontaktov :

    Zadajte nižšie uvedené informácie pre nový zoznam kontaktov, ktorý chcete volať.
    \n"; } @@ -13578,9 +15125,9 @@ Dostupných prostriedkov Transfer: Volať kód:
      (To je obvykle 1 v USA-Kanada)
    Telefón Number: telefónne číslo: -   (digits only) +   (iba číslice) @@ -13593,6 +15140,10 @@ Dostupných prostriedkov Transfer:

        +

    +     +

    +


    Ak chcete vytočiť číslo, a nemáte ho v novom zozname kontaktov, vložte volané číslo , ktoré chcete volať do poľa Prepísať volanie. Pre ukončenie hovoru, budete musieť otvoriť odkaz HOVORY V TEJTO RELÁCII v spodnej časti obrazovky, a ukončiť požadovaný kanál.
     
    Užší výber prichádzajúce skupiny

    \n";} + {echo "

    \n";} ?> Užší výber prichádzajúce skupiny
    @@ -13635,7 +15186,7 @@ Dostupných prostriedkov Transfer:
    VÝBER ÚZEMIA

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ Dostupných prostriedkov Transfer: -
          AGENT HOVOR LOG:             close [X]
    +
          Agent protokolu hovoru:             zavrieť [X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ Dostupných prostriedkov Transfer: -
          Hľadanie kontaktu:             close [X]
    +
          Hľadanie kontaktu:             zavrieť [X]

    \n";} + {echo "

    \n";} ?>

    Poznámky: pri tom hľadaní kontaktu, sú zástupné alebo čiastočné vyhľadávacie termíny nie sú povolené.
    Žiadosti Kontakt vyhľadávania sú prihlásení do systému. @@ -13679,31 +15230,31 @@ Dostupných prostriedkov Transfer: - + - + - + - + - + - + - + - + - +
    Office Number: číslo kancelárie:
    Prvý Name: krstné meno:
    Posledný Name: priezvisko:
    BU Name: obchodné meno:
    Department: oddelenie:
    Group Name: Názov skupiny:
    Job Titul: názov práce:
    Location: umiestnenie:

    POTVRDIŤ SEARCH             resetovať formulár

    Odoslať hľadanie             resetovať formulár


      @@ -13711,10 +15262,10 @@ Dostupných prostriedkov Transfer: - @@ -12991,7 +14512,7 @@ $zi=2; { echo "$label_phone_number: +
          VÝSLEDKY HĽADANIE KONTAKTY:             close [X]
    + \n";} ?> - + 0) + {echo "\n";} + ?> +
          VÝSLEDKY HĽADANIE KONTAKTY:             zavrieť [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ Dostupných prostriedkov Transfer: -
          Hľadanie olova:             close [X]
    + "; + live_conf_HTML = live_conf_HTML + ""; } else { @@ -4848,7 +5013,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send MonitorConf/StopMonitorConf command for recording of conferences - function conf_send_recording(taskconfrectype,taskconfrec,taskconffile) + function conf_send_recording(taskconfrectype,taskconfrec,taskconffile,taskfromapi) { if (inOUT == 'OUT') { @@ -4888,8 +5053,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // var campaign_recording = ''; // var campaign_rec_filename = ''; - // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID + // CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH 代理人 VENDORLEADCODE LEADID var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g"); + var REGrecINGROUP = new RegExp("INGROUP","g"); var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g"); var REGrecFULLDATE = new RegExp("FULLDATE","g"); var REGrecTINYDATE = new RegExp("TINYDATE","g"); @@ -4899,6 +5065,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var REGrecLEADID = new RegExp("LEADID","g"); filename = LIVE_campaign_rec_filename; filename = filename.replace(REGrecCAMPAIGN, campaign); + filename = filename.replace(REGrecINGROUP, VDCL_group_id); filename = filename.replace(REGrecCUSTPHONE, lead_dial_number); filename = filename.replace(REGrecFULLDATE, filedate); filename = filename.replace(REGrecTINYDATE, tinydate); @@ -4935,7 +5102,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("RecorDControl").innerHTML = conf_rec_start_html; } } - confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id; + confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + query_recording_exten + "&ext_context=" + ext_context + "&lead_id=" + document.vicidial_form.lead_id.value + "&ext_priority=1&FROMvdc=YES&uniqueid=" + tmp_vicidial_id + "&FROMapi=" + taskfromapi; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(confmonitor_query); @@ -4980,18 +5147,390 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ // Send Redirect command for live call to 經理sends phone name where call is going to -// Covers the following types: XFER, VMAIL, ENTRY, CONF, 駐留, FROM駐留, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL +// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow,tasklockedquick) { - blind_transfer=1; - var consultativexfer_checked = 0; - if (document.vicidial_form.consultativexfer.checked==true) - {consultativexfer_checked = 1;} - if (taskvar == 'XfeRLOCAL') - {consultativexfer_checked = 0;} + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + var ADvalue = document.vicidial_form.xfernumber.value; + if ( ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRINTERNAL') ) && (XfeR_GrouP.match(/AGENTDIRECT/i)) && (ADvalue.length < 2) ) + { + alert_box("你必須選擇一個代理轉移到使用agentdirect時"); + } + else + { + blind_transfer=1; + var consultativexfer_checked = 0; + if (document.vicidial_form.consultativexfer.checked==true) + {consultativexfer_checked = 1;} + if (taskvar == 'XfeRLOCAL') + {consultativexfer_checked = 0;} + + if (taskxferconf=='EMAIL') // If it's an EMAIL you're transferring, it will work differently from a call, BIG TIME. So a new function was made. + { + var email_row_id=taskserverip; // Change variable name to what it actually is; too confusing otherwise + transfer_email(taskvar, document.vicidial_form.lead_id.value, document.vicidial_form.uniqueid.value, email_row_id); + } + else + { + // conf_dialed=1; + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + var xmlhttpXF=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF = false; + } + } + @end @*/ + if (!xmlhttpXF && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF = new XMLHttpRequest(); + } + if (xmlhttpXF) + { + var redirectvalue = MDchannel; + var redirectserverip = lastcustserverip; + if (redirectvalue.length < 2) + {redirectvalue = lastcustchannel} + if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (tasklockedquick > 0) + {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} + var queryCID = "XBvdcW" + epoch_sec + user_abb; + var blindxferdialstring = document.vicidial_form.xfernumber.value; + var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; + if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) + {blindxferdialstring=blindxferhiddendialstring;} + var regXFvars = new RegExp("XFER","g"); + if (blindxferdialstring.match(regXFvars)) + { + var regAXFvars = new RegExp("AXFER","g"); + if (blindxferdialstring.match(regAXFvars)) + { + var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); + if (Ctasknum.length < 2) + {Ctasknum = '83009';} + var closerxfercamptail = '_L'; + if (closerxfercamptail.length < 3) + {closerxfercamptail = 'IVR';} + blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; + } + } + else + { + if (document.vicidial_form.xferoverride.checked==false) + { + if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} + else {var temp_dial_prefix = three_way_dial_prefix;} + if (omit_phone_code == 'Y') {var temp_phone_code = '';} + else {var temp_phone_code = document.vicidial_form.phone_code.value;} + + if (blindxferdialstring.length > 7) + {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} + } + } + if (API_selected_callmenu.length > 0) + { + var blindxferdialstring = 's'; + var blindxfercontext = document.vicidial_form.xfernumber.value; + } + else + {var blindxfercontext = ext_context;} + no_delete_VDAC=0; + if (taskvar == 'XfeRVMAIL') + { + var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; + no_delete_VDAC=1; + } + if (blindxferdialstring.length<'1') + { + xferredirect_query=''; + taskvar = 'NOTHING'; + alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); + } + else + { + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; + } + } + if (taskvar == 'XfeRINTERNAL') + { + var closerxferinternal = ''; + taskvar = 'XfeRLOCAL'; + } + else + { + var closerxferinternal = '9'; + } + if (taskvar == 'XfeRLOCAL') + { + if (consult_custom_sent < 1) + {CustomerData_update();} + + document.vicidial_form.xfername.value=''; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + if (tasklockedquick > 0) + {XfeR_GrouP = quick_transfer_button_orig;} + var queryCID = "XLvdcW" + epoch_sec + user_abb; + // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; + var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; + + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; + } + if (taskvar == 'XfeR') + { + var queryCID = "LRvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'VMAIL') + { + var queryCID = "LVvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == 'ENTRY') + { + var queryCID = "LEvdcW" + epoch_sec + user_abb; + var redirectdestination = document.vicidial_form.extension_xfer_entry.value; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; + } + if (taskvar == '3WAY') + { + xferredirect_query=''; + + var queryCID = "VXvdcW" + epoch_sec + user_abb; + var redirectdestination = "NEXTAVAILABLE"; + var redirectXTRAvalue = XDchannel; + var redirecttype_test = document.vicidial_form.xfernumber.value; + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + var regRXFvars = new RegExp("CXFER","g"); + if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) + {var redirecttype = 'RedirectXtraCXNeW';} + else + {var redirecttype = 'RedirectXtraNeW';} + DispO3waychannel = redirectvalue; + DispO3wayXtrAchannel = redirectXTRAvalue; + DispO3wayCalLserverip = redirectserverip; + DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; + DispO3wayCalLcamptail = ''; + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + if (taskdebugnote == 'FIRST') + { + document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; + } + } + if (taskvar == 'ParK') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"接起"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParK') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Park"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + if (taskvar == 'ParKivr') + { + if (CalLCID.length < 1) + { + CalLCID = MDnextCID; + } + blind_transfer=0; + var queryCID = "LPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + var parkedby = protocol + "/" + extension; + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"接起"; + if (ivr_park_call=='ENABLED_PARK_ONLY') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + if (ivr_park_call=='ENABLED') + { + document.getElementById("ivrParkControl").innerHTML ="\"Grab"; + } + customerparked=1; + customerparkedcounter=0; + } + if (taskvar == 'FROMParKivr') + { + blind_transfer=0; + var queryCID = "FPvdcW" + epoch_sec + user_abb; + var redirectdestination = taskxferconf; + var redirectdestserverip = taskserverip; + + if( (server_ip == taskserverip) && (taskserverip.length > 6) ) + {var dest_dialstring = session_id;} + else + { + if(taskserverip.length > 6) + {var dest_dialstring = server_ip_dialstring + "" + session_id;} + else + {var dest_dialstring = session_id;} + } + + xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; + + document.getElementById("ParkControl").innerHTML ="\"Park"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + customerparked=0; + customerparkedcounter=0; + } + + var XFRDop = ''; + xmlhttpXF.open('POST', 'manager_send.php'); + xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF.send(xferredirect_query); + xmlhttpXF.onreadystatechange = function() + { + if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) + { + var XfeRRedirecToutput = null; + XfeRRedirecToutput = xmlhttpXF.responseText; + var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); + var XFRDop = XfeRRedirecToutput_array[0]; + if (XFRDop == "NeWSessioN") + { + threeway_end=1; + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + dialedcall_send_hangup(); + + document.vicidial_form.xferchannel.value = ''; + xfercall_send_hangup(); + + session_id = XfeRRedirecToutput_array[1]; + document.getElementById("sessionIDspan").innerHTML = session_id; + + // alert("session_id changed to: " + session_id); + } + // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); + // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; + } + } + delete xmlhttpXF; + } + + // used to send second Redirect for manual dial calls + if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) + { + RedirecTxFEr = 1; + var xmlhttpXF2=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttpXF2 = false; + } + } + @end @*/ + if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') + { + xmlhttpXF2 = new XMLHttpRequest(); + } + if (xmlhttpXF2) + { + xmlhttpXF2.open('POST', 'manager_send.php'); + xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); + xmlhttpXF2.onreadystatechange = function() + { + if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) + { + Nactiveext = null; + Nactiveext = xmlhttpXF2.responseText; + // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); + } + } + delete xmlhttpXF2; + } + } + + if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) + { + if (auto_dial_level == 0) {RedirecTxFEr = 1;} + document.getElementById("callchannel").innerHTML = ''; + document.vicidial_form.callserverip.value = ''; + if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} + // alert(RedirecTxFEr + "|" + auto_dial_level); + dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); + } + } // END ELSE FOR EMAIL CHECK + } + } + +// ################################################################################ +// Transfer an email to an in-group for another rep. +// Currently this behaves as a blind transfer no matter which button you press, but saving the taskvar variable just in case + function transfer_email(EMAILtaskvar, EMAILlead_id, EMAILuniqueid, email_row_id) { - // conf_dialed=1; - if (auto_dial_level == 0) {RedirecTxFEr = 1;} var xmlhttpXF=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) @@ -5015,332 +5554,61 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { var redirectvalue = MDchannel; var redirectserverip = lastcustserverip; + var queryCID=''; + var exten=''; + var ext_context=''; + var redirectXTRAvalue=''; + var redirectdestination=''; + var taskdebugnote=''; if (redirectvalue.length < 2) {redirectvalue = lastcustchannel} - if ( (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (tasklockedquick > 0) - {document.vicidial_form.xfernumber.value = quick_transfer_button_orig;} - var queryCID = "XBvdcW" + epoch_sec + user_abb; - var blindxferdialstring = document.vicidial_form.xfernumber.value; - var blindxferhiddendialstring = document.vicidial_form.xfernumhidden.value; - if ( (blindxferdialstring.length < 1) && (blindxferhiddendialstring.length > 0) ) - {blindxferdialstring=blindxferhiddendialstring;} - var regXFvars = new RegExp("XFER","g"); - if (blindxferdialstring.match(regXFvars)) - { - var regAXFvars = new RegExp("AXFER","g"); - if (blindxferdialstring.match(regAXFvars)) - { - var Ctasknum = blindxferdialstring.replace(regAXFvars, ''); - if (Ctasknum.length < 2) - {Ctasknum = '83009';} - var closerxfercamptail = '_L'; - if (closerxfercamptail.length < 3) - {closerxfercamptail = 'IVR';} - blindxferdialstring = Ctasknum + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value + '*' + campaign + '*' + closerxfercamptail + '*' + user + '**' + VD_live_call_secondS + '*'; - } - } - else - { - if (document.vicidial_form.xferoverride.checked==false) - { - if (three_way_dial_prefix == 'X') {var temp_dial_prefix = '';} - else {var temp_dial_prefix = three_way_dial_prefix;} - if (omit_phone_code == 'Y') {var temp_phone_code = '';} - else {var temp_phone_code = document.vicidial_form.phone_code.value;} - - if (blindxferdialstring.length > 7) - {blindxferdialstring = temp_dial_prefix + "" + temp_phone_code + "" + blindxferdialstring;} - } - } - if (API_selected_callmenu.length > 0) - { - var blindxferdialstring = 's'; - var blindxfercontext = document.vicidial_form.xfernumber.value; - } - else - {var blindxfercontext = ext_context;} - no_delete_VDAC=0; - if (taskvar == 'XfeRVMAIL') - { - var blindxferdialstring = campaign_am_message_exten + '*' + campaign + '*' + document.vicidial_form.phone_code.value + '*' + document.vicidial_form.phone_number.value + '*' + document.vicidial_form.lead_id.value; - no_delete_VDAC=1; - } - if (blindxferdialstring.length<'1') - { - xferredirect_query=''; - taskvar = 'NOTHING'; - alert_box("Transfer number must have at least 1 digit:" + blindxferdialstring); - } - else - { - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + blindxferdialstring + "&ext_context=" + blindxfercontext + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id + "&nodeletevdac=" + no_delete_VDAC + "&preset_name=" + document.vicidial_form.xfername.value; - } - } - if (taskvar == 'XfeRINTERNAL') - { - var closerxferinternal = ''; - taskvar = 'XfeRLOCAL'; - } - else - { - var closerxferinternal = '9'; - } - if (taskvar == 'XfeRLOCAL') - { - if (consult_custom_sent < 1) - {CustomerData_update();} - - document.vicidial_form.xfername.value=''; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - if (tasklockedquick > 0) - {XfeR_GrouP = quick_transfer_button_orig;} - var queryCID = "XLvdcW" + epoch_sec + user_abb; - // "90009*$group**$lead_id**$phone_number*$user*$agent_only*"; - var redirectdestination = closerxferinternal + '90009*' + XfeR_GrouP + '**' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + document.vicidial_form.xfernumber.value + '*'; - - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectVD&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&auto_dial_level=" + auto_dial_level + "&campaign=" + campaign + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&secondS=" + VD_live_call_secondS + "&session_id=" + session_id; - } - if (taskvar == 'XfeR') - { - var queryCID = "LRvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectName&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'VMAIL') - { - var queryCID = "LVvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectNameVmail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + voicemail_dump_exten + "&extenName=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == 'ENTRY') - { - var queryCID = "LEvdcW" + epoch_sec + user_abb; - var redirectdestination = document.vicidial_form.extension_xfer_entry.value; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Redirect&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id; - } - if (taskvar == '3WAY') - { - xferredirect_query=''; - - var queryCID = "VXvdcW" + epoch_sec + user_abb; - var redirectdestination = "NEXTAVAILABLE"; - var redirectXTRAvalue = XDchannel; - var redirecttype_test = document.vicidial_form.xfernumber.value; - var XfeRSelecT = document.getElementById("XfeRGrouP"); - var XfeR_GrouP = XfeRSelecT.value; - if (API_selected_xfergroup.length > 1) - {var XfeR_GrouP = API_selected_xfergroup;} - var regRXFvars = new RegExp("CXFER","g"); - if ( ( (redirecttype_test.match(regRXFvars)) || (consultativexfer_checked > 0) ) && (local_consult_xfers > 0) ) - {var redirecttype = 'RedirectXtraCXNeW';} - else - {var redirecttype = 'RedirectXtraNeW';} - DispO3waychannel = redirectvalue; - DispO3wayXtrAchannel = redirectXTRAvalue; - DispO3wayCalLserverip = redirectserverip; - DispO3wayCalLxfernumber = document.vicidial_form.xfernumber.value; - DispO3wayCalLcamptail = ''; - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + redirecttype + "&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; - - if (taskdebugnote == 'FIRST') - { - document.getElementById("DispoSelectHAspan").innerHTML = "Leave 3Way Call Again"; - } - } - if (taskvar == 'ParK') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"接起"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_駐留_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParK') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromPark&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Park"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_駐留_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - if (taskvar == 'ParKivr') - { - if (CalLCID.length < 1) - { - CalLCID = MDnextCID; - } - blind_transfer=0; - var queryCID = "LPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - var parkedby = protocol + "/" + extension; - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"接起"; - if (ivr_park_call=='ENABLED_駐留_ONLY') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - if (ivr_park_call=='ENABLED') - { - document.getElementById("ivrParkControl").innerHTML ="\"Grab"; - } - customerparked=1; - customerparkedcounter=0; - } - if (taskvar == 'FROMParKivr') - { - blind_transfer=0; - var queryCID = "FPvdcW" + epoch_sec + user_abb; - var redirectdestination = taskxferconf; - var redirectdestserverip = taskserverip; - - if( (server_ip == taskserverip) && (taskserverip.length > 6) ) - {var dest_dialstring = session_id;} - else - { - if(taskserverip.length > 6) - {var dest_dialstring = server_ip_dialstring + "" + session_id;} - else - {var dest_dialstring = session_id;} - } - - xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkIVR&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + CalLCID + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign; - - document.getElementById("ParkControl").innerHTML ="\"Park"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_駐留_ONLY') ) - { - document.getElementById("ivrParkControl").innerHTML ="\"IVR"; - } - customerparked=0; - customerparkedcounter=0; - } - var XFRDop = ''; - xmlhttpXF.open('POST', 'manager_send.php'); + var XfeRSelecT = document.getElementById("XfeRGrouP"); + var XfeR_GrouP = XfeRSelecT.value; + if (API_selected_xfergroup.length > 1) + {var XfeR_GrouP = API_selected_xfergroup;} + // + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level + "&list_id=" + document.vicidial_form.list_id.value + "&email_row_id=" + email_row_id; + //alert(xferemail_query); + + xmlhttpXF.open('POST', 'vdc_db_query.php'); xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF.send(xferredirect_query); + xmlhttpXF.send(xferemail_query); xmlhttpXF.onreadystatechange = function() { if (xmlhttpXF.readyState == 4 && xmlhttpXF.status == 200) { var XfeRRedirecToutput = null; XfeRRedirecToutput = xmlhttpXF.responseText; + // alert(XfeRRedirecToutput); var XfeRRedirecToutput_array=XfeRRedirecToutput.split("|"); var XFRDop = XfeRRedirecToutput_array[0]; - if (XFRDop == "NeWSessioN") + if (XFRDop == 1) { threeway_end=1; document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; - dialedcall_send_hangup(); + dialedcall_send_hangup(); // Put this in the transfer_email function - document.vicidial_form.xferchannel.value = ''; - xfercall_send_hangup(); + //* document.vicidial_form.xferchannel.value = ''; + //* xfercall_send_hangup(); - session_id = XfeRRedirecToutput_array[1]; - document.getElementById("sessionIDspan").innerHTML = session_id; + //* session_id = XfeRRedirecToutput_array[1]; + //* document.getElementById("sessionIDspan").innerHTML = session_id; // alert("session_id changed to: " + session_id); } + else + { + // + } // alert(xferredirect_query + "\n" + xmlhttpXF.responseText); // document.getElementById("debugbottomspan").innerHTML = xferredirect_query + "\n" + xmlhttpXF.responseText; } } delete xmlhttpXF; } - - // used to send second Redirect for manual dial calls - if ( (auto_dial_level == 0) && (taskvar != '3WAY') ) - { - RedirecTxFEr = 1; - var xmlhttpXF2=false; - /*@cc_on @*/ - /*@if (@_jscript_version >= 5) - // JScript gives us Conditional compilation, we can cope with old IE versions. - // and security blocked creation of the objects. - try { - xmlhttpXF2 = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - xmlhttpXF2 = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (E) { - xmlhttpXF2 = false; - } - } - @end @*/ - if (!xmlhttpXF2 && typeof XMLHttpRequest!='undefined') - { - xmlhttpXF2 = new XMLHttpRequest(); - } - if (xmlhttpXF2) - { - xmlhttpXF2.open('POST', 'manager_send.php'); - xmlhttpXF2.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - xmlhttpXF2.send(xferredirect_query + "&stage=2NDXfeR"); - xmlhttpXF2.onreadystatechange = function() - { - if (xmlhttpXF2.readyState == 4 && xmlhttpXF2.status == 200) - { - Nactiveext = null; - Nactiveext = xmlhttpXF2.responseText; - // alert(RedirecTxFEr + "|" + xmlhttpXF2.responseText); - } - } - delete xmlhttpXF2; - } - } - - if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) - { - if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.getElementById("callchannel").innerHTML = ''; - document.vicidial_form.callserverip.value = ''; - if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} - // alert(RedirecTxFEr + "|" + auto_dial_level); - dialedcall_send_hangup(taskdispowindow,'','',no_delete_VDAC); - } - - } + } // ################################################################################ // Finish the alternate dialing and move on to disposition the call @@ -5563,16 +5831,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { var CBprint = CBcounT; - if ( (姓CallbackCount < CBcounT) || (姓CallbackCount > CBcounT) ) + if ( (LastCallbackCount < CBcounT) || (LastCallbackCount > CBcounT) ) { - 姓CallbackCount = CBcounT; - 姓CallbackViewed=0; + LastCallbackCount = CBcounT; + LastCallbackViewed=0; } if ( (scheduled_callbacks_alert == 'RED_DEFER') || (scheduled_callbacks_alert == 'BLINK_DEFER') || (scheduled_callbacks_alert == 'BLINK_RED_DEFER') ) {Defer=1;} - if ( (姓CallbackViewed > 0) && (Defer > 0) ) + if ( (LastCallbackViewed > 0) && (Defer > 0) ) {var do_nothing=1;} else { @@ -5621,7 +5889,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (move_on == 1) { - 姓CallbackViewed=1; + LastCallbackViewed=1; showDiv('CallBacKsLisTBox'); @@ -5661,7 +5929,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "
          Hľadanie olova:             zavrieť [X]

    \n";} + {echo "

    \n";} ?>

    Poznámky: pri tom hľadaní na vedenie, telefónne číslo, vedie ID alebo sú najlepšie polia na použitie.
    Použitie iných oblastiach môže byť pomalší. Vedúci vyhľadávania neumožňuje zástupných alebo čiastočnú vyhľadávacie termíny.
    Olovo hľadanie požiadavky sú zaznamenané v systéme. @@ -13733,10 +15284,10 @@ Dostupných prostriedkov Transfer: - + - + - + @@ -13765,7 +15316,7 @@ Dostupných prostriedkov Transfer: : - +
    Telefón Number: telefónne číslo:
    Telefón Number Fields: Pole telefónne číslo: Hlavné telefónne číslo Alternatívne telefónne číslo @@ -13744,7 +15295,7 @@ Dostupných prostriedkov Transfer:
    Lead ID: viesť id:
    :

    POTVRDIŤ SEARCH             resetovať formulár

    Odoslať hľadanie             resetovať formulár


      @@ -13773,34 +15324,34 @@ Dostupných prostriedkov Transfer: -
          VÝSLEDKY HĽADANIE:             close [X]
    +
          VÝSLEDKY HĽADANIE:             zavrieť [X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - "; $CCAL_OUT .= ""; $CCAL_OUT .= ""; @@ -2994,12 +3106,13 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} - $CCAL_OUT .= "
          VÝZVA NOTES LOG:             close [X]
    + +
          VÝZVA NOTES LOG:             zavrieť [X]

    \n";} + {echo "

    \n";} ?> -
    Výzva Poznámky Zoznam
    +
    Výzva Poznámky Zoznam


      - Zavrieť Info Box + Zavrieť Info Box
    - \n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
          Informácia o zákazníkovi:             close [X] +
          Informácia o zákazníkovi:             zavrieť [X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ Dostupných prostriedkov Transfer:
    VYBRAŤ KÓD PAUZY :

    \n";} + {echo "

    \n";} ?> Pauza Code Selection @@ -13824,7 +15375,7 @@ Dostupných prostriedkov Transfer:
    SELECT PRESET :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ Dostupných prostriedkov Transfer:
    VYBER GROUP ALIAS :

    \n";} + {echo "

    \n";} ?> Skupina Alias Výber @@ -13843,6 +15394,18 @@ Dostupných prostriedkov Transfer:
    + +
    vyberte voľby v skupine :
    +
    \n";} + ?> + dial in-skupiny Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ Dostupných prostriedkov Transfer:
    + +
    ďalšie živé agenta relácia bola otvorená pod svojím užívateľským menom. bola zakázaná. kliknite na tlačidlo OK a pokračujte na obrazovke agenta.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ Dostupných prostriedkov Transfer: \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_sk/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_sk/voicemail_check.php index 29a65913..a019caaf 100644 --- a/agc_2-X/trunk/LANG_www/agc_sk/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_sk/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; - exit; + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "Overiť hlasovú schránku"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Overiť hlasovú schránku"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "hlasová schránka $vmail_box Nie je správny\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_tw/active_list_refresh.php b/agc_2-X/trunk/LANG_www/agc_tw/active_list_refresh.php index 59a82090..9fff6f75 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/active_list_refresh.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/active_list_refresh.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to serve updates of the live data to the display scripts # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -39,6 +39,7 @@ # 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1118 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0029 - Converted ereg to preg functions # require("dbconnect.php"); @@ -82,22 +83,22 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $ADD=ereg_replace("[^0-9]","",$ADD); - $order=ereg_replace("[^0-9a-zA-Z]","",$order); - $format=ereg_replace("[^0-9a-zA-Z]","",$format); - $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); - $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); - $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); - $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); - $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); - $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); - $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); - $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); - $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); - $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); - $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $ADD=preg_replace("/[^0-9]/","",$ADD); + $order=preg_replace("/[^0-9a-zA-Z]/","",$order); + $format=preg_replace("/[^0-9a-zA-Z]/","",$format); + $bgcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$bgcolor); + $txtcolor=preg_replace("/[^\#0-9a-zA-Z]/","",$txtcolor); + $txtsize=preg_replace("/[^0-9a-zA-Z]/","",$txtsize); + $selectsize=preg_replace("/[^0-9a-zA-Z]/","",$selectsize); + $selectfontsize=preg_replace("/[^0-9a-zA-Z]/","",$selectfontsize); + $selectedext=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedext); + $selectedtrunk=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedtrunk); + $selectedlocal=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$selectedlocal); + $textareaheight=preg_replace("/[^0-9a-zA-Z]/","",$textareaheight); + $textareawidth=preg_replace("/[^0-9a-zA-Z]/","",$textareawidth); + $field_name=preg_replace("/[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]/","",$field_name); # default optional vars if not set if (!isset($ADD)) {$ADD="1";} @@ -111,8 +112,8 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.8'; -$build = '60619-1118'; +$version = '0.0.10'; +$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -124,14 +125,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "無效 Username/密碼: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無效 server_ip: |$server_ip| or 無效 session_name: |$session_name|\n"; @@ -144,12 +144,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "無效 session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -157,21 +157,21 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='table') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "清單顯示: "; -if ($ADD==1) {echo "進線分機";} -if ($ADD==2) {echo "忙線分機";} -if ($ADD==3) {echo "外線";} -if ($ADD==4) {echo "區域分機";} -if ($ADD==5) {echo "會議";} -if ($ADD==99999) {echo "協助";} -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "清單顯示: "; + if ($ADD==1) {echo "進線分機";} + if ($ADD==2) {echo "忙線分機";} + if ($ADD==3) {echo "外線";} + if ($ADD==4) {echo "區域分機";} + if ($ADD==5) {echo "會議";} + if ($ADD==99999) {echo "HELP";} + echo "\n"; + echo "\n"; + echo "\n"; + } @@ -181,7 +181,7 @@ echo " # ADD=1 display all live extensions on a server ###################### if ($ADD==1) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'extension';} if ($format=='table') {echo "\n";} @@ -200,7 +200,8 @@ if ($ADD==1) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -221,13 +222,13 @@ if ($ADD==1) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -239,7 +240,7 @@ if ($ADD==1) # ADD=2 display all busy extensions on a server ###################### if ($ADD==2) -{ + { if (!$field_name) {$field_name = 'busyext';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -295,7 +297,7 @@ if ($ADD==2) # ADD=3 display all busy outside lines(trunks) on a server ###################### if ($ADD==3) -{ + { if (!$field_name) {$field_name = 'trunk';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -351,7 +354,7 @@ if ($ADD==3) # ADD=4 display all busy Local lines on a server ###################### if ($ADD==4) -{ + { if (!$field_name) {$field_name = 'local';} if ($format=='table') {echo "\n";} if ($format=='menu') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} + } @@ -407,7 +411,7 @@ if ($ADD==4) # ADD=5 display all agc-usable conferences on a server ###################### if ($ADD==5) -{ + { $pt='pt'; if (!$field_name) {$field_name = 'conferences';} if ($format=='table') {echo "\n";} @@ -426,7 +430,8 @@ if ($ADD==5) $rslt=mysql_query($stmt, $link); if ($rslt) {$phones_to_print = mysql_num_rows($rslt);} $o=0; - while ($phones_to_print > $o) { + while ($phones_to_print > $o) + { $row=mysql_fetch_row($rslt); if ($format=='table') { @@ -447,21 +452,13 @@ if ($ADD==5) echo "\n"; } $o++; - } + } if ($format=='table') {echo "
    \n";} if ($format=='menu') {echo "\n";} if ($format=='selectlist') {echo "\n";} if ($format=='textarea') {echo "\n";} -} - - - - - - - - + } @@ -477,7 +474,3 @@ exit; ?> - - - - diff --git a/agc_2-X/trunk/LANG_www/agc_tw/astguiclient.php b/agc_2-X/trunk/LANG_www/agc_tw/astguiclient.php index f1c42b6e..d279fb01 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/astguiclient.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/astguiclient.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # make sure you have added a user to the vicidial_users MySQL table with at least # user_level 1 or greater to access this page. Also you need to have the login @@ -59,6 +59,7 @@ # 90508-0727 - Changed to PHP long tags # 91129-2211 - Replaced SELECT STAR in SQL query # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130328-0017 - Converted ereg to preg functions # require("dbconnect.php"); @@ -88,17 +89,17 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.4-1'; -$build = '120223-2124'; +$version = '2.2.6-1'; +$build = '130328-0017'; ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); if ($force_logout) @@ -134,13 +135,13 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; $agcDIR = $agcPAGE; -$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); +$agcDIR = preg_replace('/astguiclient\.php/i','',$agcDIR); if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) { @@ -346,7 +347,7 @@ else $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); - $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + $session_ext = preg_replace("/[^a-z0-9]/i", "", $extension); if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtime$US$session_ext$session_rand"; @@ -372,7 +373,7 @@ else $row=mysql_fetch_row($rslt); $favorites_list=$row[0]; $h=0; - $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites_listX = preg_replace("/\'/i",'',$favorites_list); $favorites = explode(',',$favorites_listX); $favorites_count = count($favorites); $favorites_listX=''; @@ -1208,7 +1209,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} recLIST = recLIST.replace(regy, ''); filename = taskfile; - var rec_stop_html = "錄音"; + var rec_stop_html = "Record"; document.getElementById(taskspan).innerHTML = rec_stop_html; } livemonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + monitorvalue + "&format=text&channel=" + monitorchannelvalue + "&queryCID=" + queryCID + "&filename=" + filename + "&exten=" + protocol + "/" + extension; @@ -1271,7 +1272,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} filename = taskconffile; var channelrec = "Local/" + taskconfrec + "@" + ext_context; - var conf_rec_start_html = "錄音"; + var conf_rec_start_html = "Record"; document.getElementById(taskconfspan).innerHTML = conf_rec_start_html; } confmonitor_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=" + taskconfrectype + "&format=text&channel=" + channelrec + "&filename=" + filename + "&exten=" + recording_exten + "&ext_context=" + ext_context + "&ext_priority=1"; @@ -1387,7 +1388,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=3; if (live_calls > 0) { - var live_calls_HTML = "通話號碼清單:
    "; + var live_calls_HTML = "通話號碼清單:
    #進端通道遠端通道RECORD掛斷駐留
    "; if ( (LCAcount > live_calls) || (LCAcount < live_calls) ) { LCAe[0]=''; LCAe[1]=''; LCAe[2]=''; LCAe[3]=''; LCAe[4]=''; LCAe[5]=''; @@ -1403,7 +1404,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} {var row_color = '#DDDDFF';} else {var row_color = '#CCCCFF';} - var 錄音button = 'Monitor'; + var Recordbutton = 'Monitor'; var conv_ct = (loop_ct + conv_start); var conversation_array = check_live_array[conv_ct].split(" ~"); var channelfieldA_array = conversation_array[1].split(": "); @@ -1415,9 +1416,9 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} if (recLIST.match(regx)) {live_calls_HTML = live_calls_HTML + "停止錄音";} else - {live_calls_HTML = live_calls_HTML + "錄音";} + {live_calls_HTML = live_calls_HTML + "Record";} - live_calls_HTML = live_calls_HTML + ""; + live_calls_HTML = live_calls_HTML + ""; if (LCAe[ARY_ct].length < 1) {LCAe[ARY_ct] = channelfieldA_array[1]; LCAcontent_change++; LCAalter++;} @@ -1637,7 +1638,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} var conv_start=-1; if (parked_count > 0) { - var park_HTML = "
    #進端通道遠端通道RECORD掛斷PARK
    掛斷駐留
    掛斷PARK
    " + var park_HTML = "
    #CHANNEL
      撥號 ID
    駐留ED BY
      駐留ED TIME
    掛斷接起
    " while (loop_ct < parked_count) { loop_ct++; @@ -1765,7 +1766,7 @@ if ($enable_fast_refresh < 1) {echo "var refresh_interval = 1000;\n";} show_reglink=1; reglink = "Register"; } - var conf_head_HTML = "會議 " + head_conf + "    註冊至: " + head_reg + "   " + reglink + "         進入電話會議
    更新     錄音         傳送 DTMF         由電話會議中撥號
    "; + var conf_head_HTML = "會議 " + head_conf + "    註冊至: " + head_reg + "   " + reglink + "         進入電話會議
    更新     Record         傳送 DTMF         由電話會議中撥號
    "; document.getElementById("ConfereNceHeaderContent").innerHTML = conf_head_HTML; check_for_conf_calls(head_conf,taskrefresh); @@ -2735,7 +2736,7 @@ echo "\n"; -
    #CHANNEL
      撥號 ID
    PARKED BY
      PARKED TIME
    掛斷接起
    --> @@ -518,7 +519,7 @@ $URLsubmit = $URLarray[0]; --> \n"; @@ -1719,7 +1748,7 @@ echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    TRUNK HANGUP

    + "; @@ -8196,7 +10312,7 @@ if ($ACTION == 'AGENTSview') echo "
    TRUNK 掛斷

    Active Trunks Menu
    掛斷 Trunk   |   介入 Trunk   |   @@ -2786,7 +2787,7 @@ echo "\n"; - - + diff --git a/agc_2-X/trunk/LANG_www/agc_tw/audit_comments.php b/agc_2-X/trunk/LANG_www/agc_tw/audit_comments.php new file mode 100644 index 00000000..141ef589 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_tw/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentsERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComments5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComments:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComments',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComments $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComments UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComments Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/agc_tw/call_log_display.php b/agc_2-X/trunk/LANG_www/agc_tw/call_log_display.php index 209df112..aaf08b0a 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/call_log_display.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/call_log_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the inbound and outbound calls for a specific phone # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -29,6 +29,7 @@ # 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1202 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0028 - Converted ereg to preg functions # require("dbconnect.php"); @@ -49,8 +50,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -59,8 +60,8 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.8'; -$build = '60619-1202'; +$version = '0.0.10'; +$build = '130328-0028'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -72,14 +73,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "無效 Username/密碼: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無效 server_ip: |$server_ip| or 無效 session_name: |$session_name|\n"; @@ -92,12 +92,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "無效 session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -105,26 +105,26 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "通話記錄顯示"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "通話記錄顯示"; + echo "\n"; + echo "\n"; + echo "\n"; + } $row=''; $rowx=''; $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten 是無效的 或協定 $protocol 是無效的\n"; exit; } - else +else { ##### print outbound calls from the call_log table $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; @@ -133,7 +133,7 @@ echo " if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} echo "$out_calls_count|"; $loop_count=0; - while ($out_calls_count>$loop_count) + while ($out_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -159,7 +159,7 @@ echo " if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} echo "$in_calls_count|"; $loop_count=0; - while ($in_calls_count>$loop_count) + while ($in_calls_count>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -179,7 +179,6 @@ echo " echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; } echo "\n"; - } diff --git a/agc_2-X/trunk/LANG_www/agc_tw/conf_exten_check.php b/agc_2-X/trunk/LANG_www/agc_tw/conf_exten_check.php index f63a6b9d..3d2dbaf9 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/conf_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/conf_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the meetme conference has live channels connected and which they are # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -55,12 +55,15 @@ # 101123-1105 - Added api manual dial queue feature to external_dial function # 101208-0308 - Moved the Calls in Queue count and other counts outside of the autodial section (issue 406) # 110610-0059 - Small fix for manual dial calls lasting more than 100 minutes in real-time report +# 120809-2353 - Added external_recording function +# 121028-2305 - Added extra check on session_name to validate agent screen requests +# 130328-0011 - Converted ereg to preg functions # -$version = '2.4-30'; -$build = '110610-0059'; +$version = '2.6-33'; +$build = '130328-0011'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=38; +$mysql_log_count=39; $one_mysql_log=0; $DB=0; @@ -114,13 +117,13 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); + $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); + $pass=preg_replace("/[^\-_0-9a-zA-Z]/i","",$pass); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } # default optional vars if not set @@ -207,6 +210,7 @@ if ($ACTION == 'refresh') if ($client == 'vdc') { $Acount=0; + $Scount=0; $AexternalDEAD=0; $Aagent_log_id=''; $Acallerid=''; @@ -222,6 +226,14 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $Acount=$row[0]; + ### see if the agent has a record in the vicidial_session_data table + $stmt="SELECT count(*) from vicidial_session_data where user='$user' and server_ip='$server_ip' and session_name='$session_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Scount=$row[0]; + if ($Acount > 0) { $stmt="SELECT status,callerid,agent_log_id,campaign_id,lead_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; @@ -265,11 +277,11 @@ if ($ACTION == 'refresh') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s\-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/i','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -325,7 +337,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) and (preg_match("/^M/",$Acallerid)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -334,7 +346,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03038',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -387,7 +399,7 @@ if ($ACTION == 'refresh') $row=mysql_fetch_row($rslt); $AcalleridCOUNT=$row[0]; - if ( ($AcalleridCOUNT > 0) and (eregi("INCALL",$Astatus)) ) + if ( ($AcalleridCOUNT > 0) and (preg_match("/INCALL/i",$Astatus)) ) { $updateNOW_TIME = date("Y-m-d H:i:s"); $stmt="UPDATE vicidial_auto_calls set last_update_time='$updateNOW_TIME' where callerid='$Acallerid';"; @@ -396,7 +408,7 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03037',$user,$server_ip,$session_name,$one_mysql_log);} } - if ( ($AcalleridCOUNT < 1) and (eregi("INCALL",$Astatus)) and (strlen($Aagent_log_id) > 0) ) + if ( ($AcalleridCOUNT < 1) and (preg_match("/INCALL/i",$Astatus)) and (strlen($Aagent_log_id) > 0) ) { $DEADcustomer++; ### find whether the agent log record has already logged DEAD @@ -426,7 +438,7 @@ if ($ACTION == 'refresh') } ### grab the API hangup and API dispo fields in vicidial_live_agents - $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + $stmt="SELECT external_hangup,external_status,external_pause,external_dial,external_update_fields,external_update_fields_data,external_timer_action,external_timer_action_message,external_timer_action_seconds,external_dtmf,external_transferconf,external_park,external_timer_action_destination,external_recording from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} @@ -444,6 +456,7 @@ if ($ACTION == 'refresh') $external_transferconf = $row[10]; $external_park = $row[11]; $timer_action_destination = $row[12]; + $external_recording = $row[13]; $MDQ_count=0; if ( ($api_manual_dial=='QUEUE') or ($api_manual_dial=='QUEUE_AND_AUTOCALL') ) @@ -585,13 +598,13 @@ if ($ACTION == 'refresh') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $shift_enforcement = $row[0]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[1]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + ### CHECK TO SEE IF 代理人 IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR $Ashift_logout=0; - if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + if ( ( (preg_match("/ALL/",$shift_enforcement)) and (!preg_match("/OFF|START/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if (strlen($LOGgroup_shiftsSQL) < 3) @@ -615,7 +628,7 @@ if ($ACTION == 'refresh') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -650,9 +663,9 @@ if ($ACTION == 'refresh') } - if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (preg_match("/0\$/i",$StarTtime)) ) {$Alogin='TIME_SYNC';} - if ($Acount < 1) + if ( ($Acount < 1) or ($Scount < 1) ) {$Alogin='DEAD_VLA';} if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} @@ -664,7 +677,7 @@ if ($ACTION == 'refresh') $external_pause=''; } - echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|狀態: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . "\n"; + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . '|DEADcall: ' . $DEADcustomer . '|InGroupChange: ' . $InGroupChangeDetails . '|APIFields: ' . $external_update_fields . '|APIFieldsData: ' . $external_update_fields_data . '|APITimerAction: ' . $timer_action . '|APITimerMessage: ' . $timer_action_message . '|APITimerSeconds: ' . $timer_action_seconds . '|APIdtmf: ' . $external_dtmf . '|APItransferconf: ' . $external_transferconf . '|APIpark: ' . $external_park . '|APITimerDestination: ' . $timer_action_destination . '|APIManualDialQueue: ' . $MDQ_count . '|APIRecording: ' . $external_recording . "\n"; if (strlen($timer_action) > 3) { diff --git a/agc_2-X/trunk/LANG_www/agc_tw/dbconnect.php b/agc_2-X/trunk/LANG_www/agc_tw/dbconnect.php index e02ca392..eb8b602c 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/dbconnect.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/dbconnect.php @@ -1,32 +1,36 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: +# 130328-0022 - Converted ereg to preg functions +# + if ( file_exists("/etc/astguiclient.conf") ) { $DBCagc = file("/etc/astguiclient.conf"); foreach ($DBCagc as $DBCline) { $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); - if (ereg("^PATHlogs", $DBCline)) + if (preg_match("/^PATHlogs/", $DBCline)) {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} - if (ereg("^PATHweb", $DBCline)) + if (preg_match("/^PATHweb/", $DBCline)) {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} - if (ereg("^VARserver_ip", $DBCline)) + if (preg_match("/^VARserver_ip/", $DBCline)) {$WEBserver_ip = $DBCline; $WEBserver_ip = preg_replace("/.*=/","",$WEBserver_ip);} - if (ereg("^VARDB_server", $DBCline)) + if (preg_match("/^VARDB_server/", $DBCline)) {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} - if (ereg("^VARDB_database", $DBCline)) + if (preg_match("/^VARDB_database/", $DBCline)) {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} - if (ereg("^VARDB_user", $DBCline)) + if (preg_match("/^VARDB_user/", $DBCline)) {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} - if (ereg("^VARDB_pass", $DBCline)) + if (preg_match("/^VARDB_pass/", $DBCline)) {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} - if (ereg("^VARDB_port", $DBCline)) + if (preg_match("/^VARDB_port/", $DBCline)) {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} } } diff --git a/agc_2-X/trunk/LANG_www/agc_tw/functions.php b/agc_2-X/trunk/LANG_www/agc_tw/functions.php index cc866913..e9ccc6a8 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/functions.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/functions.php @@ -1,10 +1,10 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES: @@ -14,6 +14,7 @@ # 110719-0858 - Added HIDEBLOB field type # 110730-2336 - Added call_id variable # 120213-1709 - Commented out default of READONLY fields since they cannot change +# 130328-0018 - Converted ereg to preg functions # @@ -356,7 +357,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) ##### BEGIN parsing for vicidial variables ##### if (preg_match("/--A--/",$CFoutput)) { - if ( (eregi('--A--user_custom_',$CFoutput)) or (eregi('--A--fullname',$CFoutput)) ) + if ( (preg_match('/--A--user_custom_/i',$CFoutput)) or (preg_match('/--A--fullname/i',$CFoutput)) ) { $stmt = "select custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -375,7 +376,7 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) } } - if (eregi('--A--dialed_',$CFoutput)) + if (preg_match('/--A--dialed_/i',$CFoutput)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -435,69 +436,69 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user) $owner = trim($row[33]); } - $CFoutput = eregi_replace('--A--lead_id--B--',"$lead_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_id--B--',"$vendor_id",$CFoutput); - $CFoutput = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$CFoutput); - $CFoutput = eregi_replace('--A--list_id--B--',"$list_id",$CFoutput); - $CFoutput = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$CFoutput); - $CFoutput = eregi_replace('--A--phone_code--B--',"$phone_code",$CFoutput); - $CFoutput = eregi_replace('--A--phone_number--B--',"$phone_number",$CFoutput); - $CFoutput = eregi_replace('--A--title--B--',"$title",$CFoutput); - $CFoutput = eregi_replace('--A--first_name--B--',"$first_name",$CFoutput); - $CFoutput = eregi_replace('--A--middle_initial--B--',"$middle_initial",$CFoutput); - $CFoutput = eregi_replace('--A--last_name--B--',"$last_name",$CFoutput); - $CFoutput = eregi_replace('--A--address1--B--',"$address1",$CFoutput); - $CFoutput = eregi_replace('--A--address2--B--',"$address2",$CFoutput); - $CFoutput = eregi_replace('--A--address3--B--',"$address3",$CFoutput); - $CFoutput = eregi_replace('--A--city--B--',"$city",$CFoutput); - $CFoutput = eregi_replace('--A--state--B--',"$state",$CFoutput); - $CFoutput = eregi_replace('--A--province--B--',"$province",$CFoutput); - $CFoutput = eregi_replace('--A--postal_code--B--',"$postal_code",$CFoutput); - $CFoutput = eregi_replace('--A--country_code--B--',"$country_code",$CFoutput); - $CFoutput = eregi_replace('--A--gender--B--',"$gender",$CFoutput); - $CFoutput = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$CFoutput); - $CFoutput = eregi_replace('--A--alt_phone--B--',"$alt_phone",$CFoutput); - $CFoutput = eregi_replace('--A--email--B--',"$email",$CFoutput); - $CFoutput = eregi_replace('--A--security_phrase--B--',"$security_phrase",$CFoutput); - $CFoutput = eregi_replace('--A--comments--B--',"$comments",$CFoutput); - $CFoutput = eregi_replace('--A--user--B--',"$user",$CFoutput); - $CFoutput = eregi_replace('--A--pass--B--',"$pass",$CFoutput); - $CFoutput = eregi_replace('--A--campaign--B--',"$campaign",$CFoutput); - $CFoutput = eregi_replace('--A--server_ip--B--',"$server_ip",$CFoutput); - $CFoutput = eregi_replace('--A--session_id--B--',"$session_id",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_number--B--',"$dialed_number",$CFoutput); - $CFoutput = eregi_replace('--A--dialed_label--B--',"$dialed_label",$CFoutput); - $CFoutput = eregi_replace('--A--source_id--B--',"$source_id",$CFoutput); - $CFoutput = eregi_replace('--A--rank--B--',"$rank",$CFoutput); - $CFoutput = eregi_replace('--A--owner--B--',"$owner",$CFoutput); - $CFoutput = eregi_replace('--A--fullname--B--',"$fullname",$CFoutput); - $CFoutput = eregi_replace('--A--uniqueid--B--',"$uniqueid",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$CFoutput); - $CFoutput = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$CFoutput); - $CFoutput = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$CFoutput); - $CFoutput = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$CFoutput); - $CFoutput = eregi_replace('--A--did_id--B--',"$did_id",$CFoutput); - $CFoutput = eregi_replace('--A--did_extension--B--',"$did_extension",$CFoutput); - $CFoutput = eregi_replace('--A--did_pattern--B--',"$did_pattern",$CFoutput); - $CFoutput = eregi_replace('--A--did_description--B--',"$did_description",$CFoutput); - $CFoutput = eregi_replace('--A--closecallid--B--',"$closecallid",$CFoutput); - $CFoutput = eregi_replace('--A--xfercallid--B--',"$xfercallid",$CFoutput); - $CFoutput = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$CFoutput); - $CFoutput = eregi_replace('--A--call_id--B--',"$call_id",$CFoutput); + $CFoutput = preg_replace('/--A--lead_id--B--/i',"$lead_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$CFoutput); + $CFoutput = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$CFoutput); + $CFoutput = preg_replace('/--A--list_id--B--/i',"$list_id",$CFoutput); + $CFoutput = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$CFoutput); + $CFoutput = preg_replace('/--A--phone_code--B--/i',"$phone_code",$CFoutput); + $CFoutput = preg_replace('/--A--phone_number--B--/i',"$phone_number",$CFoutput); + $CFoutput = preg_replace('/--A--title--B--/i',"$title",$CFoutput); + $CFoutput = preg_replace('/--A--first_name--B--/i',"$first_name",$CFoutput); + $CFoutput = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$CFoutput); + $CFoutput = preg_replace('/--A--last_name--B--/i',"$last_name",$CFoutput); + $CFoutput = preg_replace('/--A--address1--B--/i',"$address1",$CFoutput); + $CFoutput = preg_replace('/--A--address2--B--/i',"$address2",$CFoutput); + $CFoutput = preg_replace('/--A--address3--B--/i',"$address3",$CFoutput); + $CFoutput = preg_replace('/--A--city--B--/i',"$city",$CFoutput); + $CFoutput = preg_replace('/--A--state--B--/i',"$state",$CFoutput); + $CFoutput = preg_replace('/--A--province--B--/i',"$province",$CFoutput); + $CFoutput = preg_replace('/--A--postal_code--B--/i',"$postal_code",$CFoutput); + $CFoutput = preg_replace('/--A--country_code--B--/i',"$country_code",$CFoutput); + $CFoutput = preg_replace('/--A--gender--B--/i',"$gender",$CFoutput); + $CFoutput = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$CFoutput); + $CFoutput = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$CFoutput); + $CFoutput = preg_replace('/--A--email--B--/i',"$email",$CFoutput); + $CFoutput = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$CFoutput); + $CFoutput = preg_replace('/--A--comments--B--/i',"$comments",$CFoutput); + $CFoutput = preg_replace('/--A--user--B--/i',"$user",$CFoutput); + $CFoutput = preg_replace('/--A--pass--B--/i',"$pass",$CFoutput); + $CFoutput = preg_replace('/--A--campaign--B--/i',"$campaign",$CFoutput); + $CFoutput = preg_replace('/--A--server_ip--B--/i',"$server_ip",$CFoutput); + $CFoutput = preg_replace('/--A--session_id--B--/i',"$session_id",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$CFoutput); + $CFoutput = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$CFoutput); + $CFoutput = preg_replace('/--A--source_id--B--/i',"$source_id",$CFoutput); + $CFoutput = preg_replace('/--A--rank--B--/i',"$rank",$CFoutput); + $CFoutput = preg_replace('/--A--owner--B--/i',"$owner",$CFoutput); + $CFoutput = preg_replace('/--A--fullname--B--/i',"$fullname",$CFoutput); + $CFoutput = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$CFoutput); + $CFoutput = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$CFoutput); + $CFoutput = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$CFoutput); + $CFoutput = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$CFoutput); + $CFoutput = preg_replace('/--A--did_id--B--/i',"$did_id",$CFoutput); + $CFoutput = preg_replace('/--A--did_extension--B--/i',"$did_extension",$CFoutput); + $CFoutput = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$CFoutput); + $CFoutput = preg_replace('/--A--did_description--B--/i',"$did_description",$CFoutput); + $CFoutput = preg_replace('/--A--closecallid--B--/i',"$closecallid",$CFoutput); + $CFoutput = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$CFoutput); + $CFoutput = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$CFoutput); + $CFoutput = preg_replace('/--A--call_id--B--/i',"$call_id",$CFoutput); # custom fields replacement $o=0; while ($fields_to_print > $o) { - $CFoutput = eregi_replace("--A--$A_field_label[$o]--B--","$A_field_value[$o]",$CFoutput); + $CFoutput = preg_replace("/--A--$A_field_label[$o]--B--/i","$A_field_value[$o]",$CFoutput); $o++; } @@ -520,7 +521,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ require("dbconnect.php"); $postalgmt_found=0; - if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + if ( (preg_match("/POSTAL/i",$postalgmt)) && (strlen($postal_code)>4) ) { if (preg_match('/^1$/', $phone_code)) { @@ -530,7 +531,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[2]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[3]; $dst_range = $row[4]; $PC_processed++; @@ -551,7 +552,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -566,7 +567,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -581,7 +582,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; @@ -597,7 +598,7 @@ function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$ if ($pc_recs > 0) { $row=mysql_fetch_row($rslt); - $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $gmt_offset = $row[4]; $gmt_offset = preg_replace("/\+/i","",$gmt_offset); $dst = $row[5]; $dst_range = $row[6]; $PC_processed++; diff --git a/agc_2-X/trunk/LANG_www/agc_tw/inbound_popup.php b/agc_2-X/trunk/LANG_www/agc_tw/inbound_popup.php index 007e2990..9913fa4a 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/inbound_popup.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/inbound_popup.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to open up when a live_inbound call comes in giving the user # options of what to do with the call or options to lookup the callerID on various web sites @@ -31,6 +31,7 @@ # 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -63,20 +64,20 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.6'; -$build = '60619-1205'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; -if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} +if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; if ($DB) {echo "|$stmt|\n";} @@ -121,7 +122,7 @@ if ($format=='debug') $forever_stop=0; $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} echo "\n"; echo "\n"; @@ -286,8 +287,8 @@ else echo "\n"; echo "\n";echo "\n"; echo "
    駐留ED 撥號S:
    +
    PARKED 撥號S:
    回主畫面

    @@ -2799,7 +2800,7 @@ echo "\n";
    語音信箱     新:     舊:             人工撥號       DIAL
    駐留ED 撥號S: 0                LOCAL撥打分機
    PARKED 撥號S: 0                LOCAL撥打分機
    外撥電話:
    CallerID: $row[3]
    \n"; - $phone = eregi_replace(".*\<","",$row[3]); - $phone = eregi_replace("\>.*","",$phone); + $phone = preg_replace("/.*\.*/i","",$phone); $NPA = substr($phone, 0, 3); $NXX = substr($phone, 3, 3); $XXXX = substr($phone, 6, 4); diff --git a/agc_2-X/trunk/LANG_www/agc_tw/live_exten_check.php b/agc_2-X/trunk/LANG_www/agc_tw/live_exten_check.php index 55b9134a..c7d6bf83 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/live_exten_check.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/live_exten_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send whether the client channel is live and to what channel it is connected # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -30,6 +30,7 @@ # 60619-1203 - Added variable filters to close security holes for login form # 60825-1029 - Fixed translation variable issue ChannelA # 90508-0727 - Changed to PHP long tags +# 130328-0027 - Converted ereg to preg functions # require("dbconnect.php"); @@ -54,14 +55,14 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.0.1'; -$build = '60825-1029'; +$version = '2.6-13'; +$build = '130328-0027'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -73,14 +74,13 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $row=mysql_fetch_row($rslt); $auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { echo "無效 Username/密碼: |$user|$pass|\n"; exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無效 server_ip: |$server_ip| or 無效 session_name: |$session_name|\n"; @@ -93,12 +93,12 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $SNauth=$row[0]; - if($SNauth==0) + if($SNauth==0) { echo "無效 session_name: |$session_name|$server_ip|\n"; exit; } - else + else { # do nothing for now } @@ -106,15 +106,15 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "使用中分機確認"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "使用中分機確認"; + echo "\n"; + echo "\n"; + echo "\n"; + } echo "DateTime: $NOW_TIME|"; @@ -126,16 +126,16 @@ $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); echo "$row[0]|"; - $MT[0]=''; - $row=''; $rowx=''; - $channel_live=1; - if ( (strlen($exten)<1) or (strlen($protocol)<3) ) +$MT[0]=''; +$row=''; $rowx=''; +$channel_live=1; +if ( (strlen($exten)<1) or (strlen($protocol)<3) ) { $channel_live=0; echo "Exten $exten 是無效的 或協定 $protocol 是無效的\n"; exit; } - else +else { $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; if ($format=='debug') {echo "\n";} @@ -143,7 +143,7 @@ echo "$row[0]|"; if ($rslt) {$channels_list = mysql_num_rows($rslt);} echo "$channels_list|"; $loop_count=0; - while ($channels_list>$loop_count) + while ($channels_list>$loop_count) { $loop_count++; $row=mysql_fetch_row($rslt); @@ -153,15 +153,15 @@ echo "$row[0]|"; } } - $counter=0; - while($loop_count > $counter) +$counter=0; +while($loop_count > $counter) { $counter++; $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -169,13 +169,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -183,13 +183,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -197,13 +197,13 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$trunk_count = mysql_num_rows($rslt);} - if ($trunk_count>0) + if ($trunk_count>0) { $row=mysql_fetch_row($rslt); echo "Conversation: $counter ~"; @@ -211,7 +211,7 @@ echo "$row[0]|"; echo "ChannelB: $ChanneLB[$counter] ~"; echo "ChannelBtrunk: $row[0]|"; } - else + else { echo "Conversation: $counter ~"; echo "ChannelA: $ChanneLA[$counter] ~"; @@ -230,7 +230,7 @@ $stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($rslt) {$channels_list = mysql_num_rows($rslt);} - if ($channels_list>0) +if ($channels_list>0) { $row=mysql_fetch_row($rslt); $LIuniqueid = "$row[0]"; diff --git a/agc_2-X/trunk/LANG_www/agc_tw/manager_send.php b/agc_2-X/trunk/LANG_www/agc_tw/manager_send.php index 0a6c16bf..b90bb457 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/manager_send.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -109,11 +109,17 @@ # 101125-1018 - Added call_variables Originate variables # 110224-1710 - Added compatibility with QM phone environment logging # 110626-2320 - Added qm_extension +# 120810-0030 - Added external_recording +# 120831-1458 - Added vicidial_dial_log outbound call logging +# 121120-0848 - Added QM socket-send functionality +# 130108-1641 - Change for Asterisk 1.8 compatibility +# 130328-0008 - Converted ereg to preg functions +# -$version = '2.4-56'; -$build = '110626-2320'; +$version = '2.6-61'; +$build = '130328-0008'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=116; +$mysql_log_count=119; $one_mysql_log=0; require("dbconnect.php"); @@ -232,14 +238,14 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $secondS = ereg_replace("[^0-9]","",$secondS); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $secondS = preg_replace("/[^0-9]/","",$secondS); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -305,7 +311,7 @@ if ($format=='debug') if ($ACTION=="RedirectName") {echo "RedirectName";} if ($ACTION=="Hangup") {echo "Hangup";} if ($ACTION=="Command") {echo "Command";} - if ($ACTION==99999) {echo "協助";} + if ($ACTION==99999) {echo "HELP";} echo "\n"; echo "\n"; echo "\n"; @@ -414,7 +420,7 @@ if ($ACTION=="OriginateNameVmail") if ($ACTION=="OriginateVDRelogin") { - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $CIDdate = date("ymdHis"); $DS='-'; @@ -435,7 +441,7 @@ if ($ACTION=="Originate") } else { - if ( (eregi('MANUAL',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) + if ( (preg_match('/MANUAL/i',$agent_dialed_type)) and ( (preg_match("/^\d860\d\d\d\d$/i",$exten)) or (preg_match("/^860\d\d\d\d$/i",$exten)) ) ) { echo "ERROR 你不能撥入其他代理商會議 $exten\n"; exit; @@ -461,6 +467,12 @@ if ($ACTION=="Originate") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} echo "Originate 指令發送 Exten $exten 渠道 $channel on $server_ip |$account|$variable|\n"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$queryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$exten',channel='$channel',timeout='0',outbound_cid='$outCID',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02119',$user,$server_ip,$session_name,$one_mysql_log);} + if ($agent_dialed_number > 0) { if (strlen($lead_id)<1) {$lead_id='0';} @@ -529,7 +541,7 @@ if ($ACTION=="HangupConfDial") $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; $ACTION="Hangup"; - $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + $queryCID = preg_replace("/^./i","G",$queryCID); # GTvdcW... } } } @@ -637,7 +649,7 @@ if ($ACTION=="Hangup") { ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n";} @@ -653,6 +665,8 @@ if ($ACTION=="Hangup") $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; $i++; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### @@ -728,6 +742,7 @@ if ($ACTION=="Hangup") {$secondS = ($StarTtime - $time_id);} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$log_campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02116',$user,$server_ip,$session_name,$one_mysql_log);} @@ -740,6 +755,7 @@ if ($ACTION=="Hangup") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } if ($format=='debug') {echo "\n";} @@ -748,6 +764,18 @@ if ($ACTION=="Hangup") if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); if ($format=='debug') {echo "\n";} + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$CalLCID&queue=$CLcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$secondS&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -869,7 +897,7 @@ if ($ACTION=="RedirectToPark") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='駐留ED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='PARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02098',$user,$server_ip,$session_name,$one_mysql_log);} @@ -919,7 +947,7 @@ if ($ACTION=="RedirectToPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='駐留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02101',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1019,7 +1047,7 @@ if ($ACTION=="RedirectFromPark") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='駐留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='PARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02106',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1059,12 +1087,12 @@ if ($ACTION=="RedirectToParkIVR") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} $ACTION="Redirect"; - $stmt = "UPDATE vicidial_auto_calls SET extension='駐留_IVR' where callerid='$CalLCID' limit 1;"; + $stmt = "UPDATE vicidial_auto_calls SET extension='PARK_IVR' where callerid='$CalLCID' limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02088',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVR駐留ED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; + $stmt = "INSERT INTO park_log SET uniqueid='$uniqueid',status='IVRPARKED',channel='$channel',channel_group='$campaign',server_ip='$server_ip',parked_time='$NOW_TIME',parked_sec=0,extension='$CalLCID',user='$user',lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02107',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1113,7 +1141,7 @@ if ($ACTION=="RedirectToParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVR駐留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLERONHOLD',data1='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02110',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1217,7 +1245,7 @@ if ($ACTION=="RedirectFromParkIVR") if ($VAC_eq_ct > 0) { - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVR駐留',serverid='$queuemetrics_log_id';"; + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$queue',agent='Agent/$user',verb='CALLEROFFHOLD',data1='$parked_sec',data2='IVRPARK',serverid='$queuemetrics_log_id';"; $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02115',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); @@ -1304,7 +1332,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1316,7 +1344,7 @@ if ($ACTION=="RedirectXtraCXNeW") echo "ext_context $ext_context 需被設定\n"; echo "ext_priority $ext_priority 需被設定\n"; echo "\nRedirect Action 未送出\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1328,7 +1356,7 @@ if ($ACTION=="RedirectXtraCXNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1349,7 +1377,7 @@ if ($ACTION=="RedirectXtraCXNeW") $row=mysql_fetch_row($rslt); $exten = $row[0]; - if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + if ( (preg_match("/^8300/i",$extension)) and ($protocol == 'Local') ) { $extension = "$extension$user"; } @@ -1396,7 +1424,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference on $server_ip, Redirect 指令未插入\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "找不到空會議 on $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "找不到空會議 on $server_ip";} } } @@ -1418,7 +1446,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveX=0; echo "Channel $channel 非可用 on $call_server_ip, Redirect 指令未插入\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel 非可用 on $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel 非可用 on $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1437,7 +1465,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "Channel $channel 非可用 on $server_ip, Redirect 指令未插入\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel 非可用 on $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel 非可用 on $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1451,7 +1479,7 @@ if ($ACTION=="RedirectXtraCXNeW") { $channel_liveY=0; echo "No Local agent to send call to, Redirect 指令未插入\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "No Local agent to send call to";} } else { @@ -1487,7 +1515,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtraCX 指令發送 渠道 $channel on $call_server_ip and \nHungup $extrachannel on $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel on $call_server_ip, Hungup $extrachannel on $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel on $call_server_ip, Hungup $extrachannel on $server_ip";} } } else @@ -1496,10 +1524,10 @@ if ($ACTION=="RedirectXtraCXNeW") {$ACTION="Redirect"; $server_ip = $call_server_ip;} if ($channel_liveY==1) {$ACTION="Redirect"; $channel=$extrachannel;} - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel on $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "Changed to Redirect: $channel on $server_ip";} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1529,7 +1557,7 @@ if ($ACTION=="RedirectXtraNeW") $row=''; $rowx=''; $channel_liveX=1; $channel_liveY=1; - if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!preg_match("/NEXTAVAILABLE/",$exten)) ) ) { $channel_liveX=0; $channel_liveY=0; @@ -1542,7 +1570,7 @@ if ($ACTION=="RedirectXtraNeW") echo "ext_priority $ext_priority 需被設定\n"; echo "session_id $session_id 需被設定\n"; echo "\nRedirect Action 未送出\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1554,7 +1582,7 @@ if ($ACTION=="RedirectXtraNeW") } else { - if (ereg("NEXTAVAILABLE",$exten)) + if (preg_match("/NEXTAVAILABLE/",$exten)) { $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; if ($format=='debug') {echo "\n";} @@ -1613,7 +1641,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Cannot find empty vicidial_conference on $server_ip, Redirect 指令未插入\n|$stmt|"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "找不到空會議 on $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "找不到空會議 on $server_ip";} } } @@ -1624,7 +1652,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; if ($format=='debug') {echo "\n";} @@ -1635,7 +1663,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveX=0; echo "Channel $channel 非可用 on $call_server_ip, Redirect 指令未插入\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel 非可用 on $call_server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel 非可用 on $call_server_ip";} } } $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; @@ -1643,7 +1671,7 @@ if ($ACTION=="RedirectXtraNeW") $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - if ( ($row[0]==0) and (!ereg("SECOND",$filename)) ) + if ( ($row[0]==0) and (!preg_match("/SECOND/",$filename)) ) { $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; if ($format=='debug') {echo "\n";} @@ -1654,7 +1682,7 @@ if ($ACTION=="RedirectXtraNeW") { $channel_liveY=0; echo "Channel $channel 非可用 on $server_ip, Redirect 指令未插入\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel 非可用 on $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel 非可用 on $server_ip";} } } if ( ($channel_liveX==1) and ($channel_liveY==1) ) @@ -1667,7 +1695,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra 指令發送 渠道 $channel and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten on $server_ip";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel and $extrachannel to $exten on $server_ip";} } else { @@ -1694,7 +1722,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} echo "RedirectXtra 指令發送 渠道 $channel on $call_server_ip and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; - if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} } } else @@ -1705,7 +1733,7 @@ if ($ACTION=="RedirectXtraNeW") {$ACTION="Redirect"; $channel=$extrachannel;} } - if (ereg("SECOND|FIRST|DEBUG",$filename)) + if (preg_match("/SECOND|FIRST|DEBUG/",$filename)) { if ($WeBRooTWritablE > 0) { @@ -1744,8 +1772,8 @@ if ($ACTION=="Redirect") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); $channel=$rowx[0]; - $channel = eregi_replace("1$","2",$channel); - $queryCID = eregi_replace("^.","Q",$queryCID); + $channel = preg_replace("/1$/i","2",$channel); + $queryCID = preg_replace("/^./i","Q",$queryCID); } } @@ -1924,6 +1952,12 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if ($FROMvdc=='YES') { + ##### update vla record with recording_id + $stmt = "UPDATE vicidial_live_agents SET external_recording='$recording_id' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02117',$user,$server_ip,$session_name,$one_mysql_log);} + ##### get call type from vicidial_live_agents table $VLA_inOUT='NONE'; $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; @@ -1988,6 +2022,15 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) if (strlen($uniqueid) > 8) {$uniqueidSQL = ",vicidial_id='$uniqueid'";} } + + if ($FROMvdc=='YES') + { + ##### update vla recording record to blank + $stmt = "UPDATE vicidial_live_agents SET external_recording='' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02118',$user,$server_ip,$session_name,$one_mysql_log);} + } $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; $rslt=mysql_query($stmt, $link); @@ -2010,7 +2053,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) } # find and hang up all recordings going on in this conference # and extension = '$exten' - $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and (channel LIKE \"%,1\" or channel LIKE \"%;1\");"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2053,10 +2096,10 @@ if ($ACTION=="VolumeControl") else { $participant_number='XXYYXXYYXXYYXX'; - if (eregi('UP',$stage)) {$vol_prefix='4';} - if (eregi('DOWN',$stage)) {$vol_prefix='3';} - if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} - if (eregi('MUTING',$stage)) {$vol_prefix='1';} + if (preg_match('/UP/i',$stage)) {$vol_prefix='4';} + if (preg_match('/DOWN/i',$stage)) {$vol_prefix='3';} + if (preg_match('/UNMUTE/i',$stage)) {$vol_prefix='2';} + if (preg_match('/MUTING/i',$stage)) {$vol_prefix='1';} $local_DEF = 'Local/'; $local_AMP = '@'; $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; diff --git a/agc_2-X/trunk/LANG_www/agc_tw/park_calls_display.php b/agc_2-X/trunk/LANG_www/agc_tw/park_calls_display.php index 804e8b8e..cb889a7e 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/park_calls_display.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/park_calls_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to send the details on the parked calls on the server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1205 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0024 - Converted ereg to preg functions # require("dbconnect.php"); @@ -43,8 +44,8 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/LANG_www/agc_tw/phone_only.php b/agc_2-X/trunk/LANG_www/agc_tw/phone_only.php index 02891375..b460a96e 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/phone_only.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/phone_only.php @@ -1,18 +1,20 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 110511-1336 - First Build # 110526-1757 - Added webphone_auto_answer option # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130123-1923 - Added ability to use user-login-first options.php option +# 130328-0005 - Converted ereg to preg functions # -$version = '2.4-3p'; -$build = '120223-2124'; +$version = '2.6-5p'; +$build = '130328-0005'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=72; +$mysql_log_count=73; $one_mysql_log=0; require("dbconnect.php"); @@ -47,11 +49,11 @@ if (!isset($flag_channels)) } ### security strip all non-alphanumeric characters out of the variables ### -$DB=ereg_replace("[^0-9a-z]","",$DB); -$phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); -$phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); -$VD_login=ereg_replace("[^-_0-9a-zA-Z]","",$VD_login); -$VD_pass=ereg_replace("[^-_0-9a-zA-Z]","",$VD_pass); +$DB=preg_replace("[^0-9a-z]","",$DB); +$phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); +$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); $forever_stop=0; @@ -111,6 +113,7 @@ if ($qm_conf_ct > 0) ########################################### # set defaults for hard-coded variables +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the 手機登錄 $clientDST = '1'; # set to 1 to check for DST on server for agent time $PhonESComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login $hide_timeclock_link = '0'; # set to 1 to hide the timeclock link on the agent login screen @@ -144,12 +147,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('phone_only.php','',$agcPAGE); +$agcDIR = preg_replace('/phone_only\.php/i','',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} @@ -212,32 +215,108 @@ echo "
    電話 web client: Login\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English 中文繁體
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" 電話-Only 登入
     
    使用者登入:
    使用者密碼:
      \n"; + echo "

    版本: $version       版次: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09073',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) + { + echo "電話 web client: 登入分機\n"; + echo "\n"; + echo "\n"; + if ($hide_timeclock_link < 1) + {echo " Timeclock
    \n";} + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
    English 中文繁體
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" 電話-Only 登入
     
    登入分機:
    分機密碼:
      \n"; + echo "

    版本: $version       版次: $build
    \n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + } + } + } +if ( (strlen($phone_login) < 1) or (strlen($phone_pass) < 1) ) { echo "電話 web client: 登入分機\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($hide_timeclock_link < 1) - {echo " Timeclock
    \n";} - echo "\n"; + {echo " Timeclock
    \n";} + echo "
    \n"; echo "\n"; -echo "\n";echo "\n"; echo "
    English 中文繁體
    \n"; - echo "
    \n"; - echo "\n"; - echo "


    "; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo "\n"; - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
    \"VICIdial\" 電話-Only 登入
     
    登入分機:
    分機密碼:
      \n"; - echo "

    版本: $version       版次: $build
    \n"; - echo "
    \n\n"; +echo "
    English 中文繁體
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \"VICIdial\" 電話-Only 登入
     
    登入分機:
    分機密碼:
      \n"; + echo "

    版本: $version       版次: $build
    \n"; + echo "
    \n\n"; echo "\n\n"; echo "\n\n"; exit; @@ -293,7 +372,7 @@ else } $user_abb = "$VD_login$VD_login$VD_login$VD_login"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) - {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + {$user_abb = preg_replace("/^./i","",$user_abb); $forever_stop++;} } else @@ -372,7 +451,7 @@ echo "
    2) ) + if ( (preg_match('/,/',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -431,7 +510,7 @@ echo " 0) { $pb=0; @@ -613,13 +692,13 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -719,7 +798,7 @@ echo " "; } - if (ereg('MSIE',$browser)) + if (preg_match('/MSIE/',$browser)) { $useIE=1; echo "\n"; diff --git a/agc_2-X/trunk/LANG_www/agc_tw/timeclock.php b/agc_2-X/trunk/LANG_www/agc_tw/timeclock.php index 9675bb4d..bb033295 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/timeclock.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/timeclock.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGELOG # 80523-0134 - First Build @@ -10,10 +10,11 @@ # 80602-0641 - Fixed status update bug # 90508-0727 - Changed to PHP long tags # 100621-1023 - Added admin_web_directory variable +# 130328-0021 - Converted ereg to preg functions # -$version = '2.2.0-6'; -$build = '100621-1023'; +$version = '2.6-7'; +$build = '130328-0021'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -29,12 +30,12 @@ $browser = getenv("HTTP_USER_AGENT"); $script_name = getenv("SCRIPT_NAME"); $server_name = getenv("SERVER_NAME"); $server_port = getenv("SERVER_PORT"); -if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} +if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} else {$server_port = "$CL$server_port";} $agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; -$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); +$agcDIR = preg_replace('/timeclock\.php/i','',$agcPAGE); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} @@ -72,17 +73,17 @@ if (!isset($phone_pass)) } ### security strip all non-alphanumeric characters out of the variables ### - $DB=ereg_replace("[^0-9a-z]","",$DB); - $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); - $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); - $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); - $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); - $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); - $user=ereg_replace("[^0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); - $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); - $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); - $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + $DB=preg_replace("/[^0-9a-z]/","",$DB); + $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); + $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); + $VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); + $VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); + $user=preg_replace("/[^0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); + $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); + $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); require("dbconnect.php"); diff --git a/agc_2-X/trunk/LANG_www/agc_tw/vdc_db_query.php b/agc_2-X/trunk/LANG_www/agc_tw/vdc_db_query.php index b9d9a64d..46b5c0a7 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/vdc_db_query.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/vdc_db_query.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed to exchange information between vicidial.php and the database server for various actions # @@ -93,6 +93,8 @@ # - $disable_alter_custphone = ('N','Y','HIDE') # - $old_CID = ('M06301413000000002',...) # - $qm_dispo_code +# - $dial_ingroup +# - $nocall_dial_flag # # # CHANGELOG: @@ -304,12 +306,34 @@ # 120104-2031 - Fixed missing fullname variable before dispo and start URLs # 120213-1700 - Added vendor_lead_code to all vicidial_hopper inserts # 120221-2125 - Manual dials update lastcalldate, and other small changes +# 120427-1717 - Fixed 3-way logging issue +# 120513-0045 - Added Dial In-group and No-Dial compatibility +# 120514-0934 - Added Dial In-group cid-override +# 120619-0616 - Corrected xfer_log logging of manual preview dialed calls +# 120731-1205 - Small fix for vendor_lead_code population on new lead during manual dial +# 120831-1438 - Added vicidial_dial_log logging of outbound phone calls +# 121018-2320 - Added blank option to owner only dialing +# 121029-0159 - Added owner_populate campaign option +# 121114-1749 - Fixed manual dial lead preview script variable issue +# 121116-1409 - Added QC functionality +# 121120-0838 - Added QM socket-send functionality +# 121124-2357 - Added Other Campaign DNC option +# 121130-0740 - Added call notes option to dispo call url +# 121205-1620 - Added parentheses around filter SQL when in SQL queries +# 121206-0635 - Added inbound lead search feature +# 121214-2208 - Added inbound email features +# 121223-1627 - Fixed issue with manual alt dial manual dial filter +# 130328-0009 - Converted ereg to preg functions +# 130328-1015 - Added validation for agent manual dial permission on DIAL links +# 130402-2242 - Added user_group variable to _call_url functions +# 130412-1348 - Added SIP cause code display on failed calls +# 130414-2142 - Small fix for multi-server inbound setups and did options in url functions # -$version = '2.4-204'; -$build = '120221-2125'; +$version = '2.6-226'; +$build = '130414-2142'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=438; +$mysql_log_count=533; $one_mysql_log=0; require("dbconnect.php"); @@ -498,8 +522,8 @@ if (isset($_GET["qm_phone"])) {$qm_phone=$_GET["qm_phone"];} elseif (isset($_POST["qm_phone"])) {$qm_phone=$_POST["qm_phone"];} if (isset($_GET["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_GET["manual_dial_call_time_check"];} elseif (isset($_POST["manual_dial_call_time_check"])) {$manual_dial_call_time_check=$_POST["manual_dial_call_time_check"];} -if (isset($_GET["CallBackLead狀態"])) {$CallBackLead狀態=$_GET["CallBackLead狀態"];} - elseif (isset($_POST["CallBackLead狀態"])) {$CallBackLead狀態=$_POST["CallBackLead狀態"];} +if (isset($_GET["CallBackLeadStatus"])) {$CallBackLeadStatus=$_GET["CallBackLeadStatus"];} + elseif (isset($_POST["CallBackLeadStatus"])) {$CallBackLeadStatus=$_POST["CallBackLeadStatus"];} if (isset($_GET["call_notes"])) {$call_notes=$_GET["call_notes"];} elseif (isset($_POST["call_notes"])) {$call_notes=$_POST["call_notes"];} if (isset($_GET["search"])) {$search=$_GET["search"];} @@ -524,6 +548,18 @@ if (isset($_GET["old_CID"])) {$old_CID=$_GET["old_CID"];} elseif (isset($_POST["old_CID"])) {$old_CID=$_POST["old_CID"];} if (isset($_GET["qm_dispo_code"])) {$qm_dispo_code=$_GET["qm_dispo_code"];} elseif (isset($_POST["qm_dispo_code"])) {$qm_dispo_code=$_POST["qm_dispo_code"];} +if (isset($_GET["dial_ingroup"])) {$dial_ingroup=$_GET["dial_ingroup"];} + elseif (isset($_POST["dial_ingroup"])) {$dial_ingroup=$_POST["dial_ingroup"];} +if (isset($_GET["nocall_dial_flag"])) {$nocall_dial_flag=$_GET["nocall_dial_flag"];} + elseif (isset($_POST["nocall_dial_flag"])) {$nocall_dial_flag=$_POST["nocall_dial_flag"];} +if (isset($_GET["inbound_lead_search"])) {$inbound_lead_search=$_GET["inbound_lead_search"];} + elseif (isset($_POST["inbound_lead_search"])) {$inbound_lead_search=$_POST["inbound_lead_search"];} +if (isset($_GET["email_enabled"])) {$email_enabled=$_GET["email_enabled"];} + elseif (isset($_POST["email_enabled"])) {$email_enabled=$_POST["email_enabled"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["inbound_email_groups"])) {$inbound_email_groups=$_GET["inbound_email_groups"];} + elseif (isset($_POST["inbound_email_groups"])) {$inbound_email_groups=$_POST["inbound_email_groups"];} header ("Content-type: text/html; charset=utf-8"); @@ -571,7 +607,7 @@ if ($gmt_recs > 0) else { $SERVER_GMT = date("O"); - $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = preg_replace("/\+/i","",$SERVER_GMT); $SERVER_GMT = ($SERVER_GMT + 0); $SERVER_GMT = ($SERVER_GMT / 100); } @@ -632,10 +668,70 @@ $hangup_cause_dictionary = array( 127 => "Interworking, unspecified." ); +##### SIP Hangup Cause Dictionary ##### +$sip_hangup_cause_dictionary = array( +400 => "Bad Request.", +401 => "Unauthorized.", +402 => "Payment Required.", +403 => "Forbidden.", +404 => "Not Found.", +405 => "Method Not Allowed.", +406 => "Not Acceptable.", +407 => "Proxy Authentication Required.", +408 => "Request Timeout.", +409 => "Conflict.", +410 => "Gone.", +411 => "Length Required.", +412 => "Conditional Request Failed.", +413 => "Request Entity Too Large.", +414 => "Request-URI Too Long.", +415 => "Unsupported Media Type.", +416 => "Unsupported URI Scheme.", +417 => "Unknown Resource-Priority.", +420 => "Bad Extension.", +421 => "Extension Required.", +422 => "Session Interval Too Small.", +423 => "Interval Too Brief.", +424 => "Bad Location Information.", +428 => "Use Identity Header.", +429 => "Provide Referrer Identity.", +433 => "Anonymity Disallowed.", +436 => "Bad Identity-Info.", +437 => "Unsupported Certificate.", +438 => "無效 Identity Header.", +470 => "Consent Needed.", +480 => "Temporarily Unavailable.", +481 => "Call/Transaction Does Not Exist.", +482 => "Loop Detected..", +483 => "Too Many Hops.", +484 => "地址 Incomplete.", +485 => "Ambiguous.", +486 => "Busy Here.", +487 => "Request Terminated.", +488 => "Not Acceptable Here.", +489 => "Bad Event.", +491 => "Request Pending.", +493 => "Undecipherable.", +494 => "Security Agreement Required.", +500 => "主機 Internal Error.", +501 => "Not Implemented.", +502 => "Bad Gateway.", +503 => "Service Unavailable.", +504 => "主機 Time-out.", +505 => "Version Not Supported.", +513 => "Message Too Large.", +580 => "Precondition Failure.", +600 => "Busy Everywhere.", +603 => "Decline.", +604 => "Does Not Exist Anywhere.", +606 => "Not Acceptable." +); + + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -651,26 +747,30 @@ if ($qm_conf_ct > 0) $alt_log_login = $row[5]; $alt_log_pass = $row[6]; $tables_use_alt_log_db = $row[7]; + $qc_features_active = $row[8]; + $allow_emails = $row[9]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9a-zA-Z]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9a-zA-Z]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } -$session_name = ereg_replace("'|\"|\\\\|;","",$session_name); -$server_ip = ereg_replace("'|\"|\\\\|;","",$server_ip); +$session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); +$server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); +$alt_phone = preg_replace("/\s/","",$alt_phone); +$phone_number = preg_replace("/\s/","",$phone_number); # default optional vars if not set if (!isset($format)) {$format="text";} @@ -771,19 +871,19 @@ if ($ACTION == 'LogiNCamPaigns') $row=mysql_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); - $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; - if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) { - $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); - $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = preg_replace('/\s-/i','',$row[0]); + $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } $show_campaign_list=1; - ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR - if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + ### CHECK TO SEE IF 代理人 IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { $last_agent_event=''; $HHMM = date("Hi"); @@ -808,13 +908,13 @@ if ($ACTION == 'LogiNCamPaigns') $rowx=mysql_fetch_row($rslt); $last_agent_event = $rowx[0]; } - if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } } - ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR - if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + ### CHECK TO SEE IF 代理人 IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (preg_match("/START|ALL/",$shift_enforcement)) and (!preg_match("/OFF/",$VU_agent_shift_enforcement_override)) ) or (preg_match("/START|ALL/",$VU_agent_shift_enforcement_override)) ) { $shift_ok=0; if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) @@ -841,7 +941,7 @@ if ($ACTION == 'LogiNCamPaigns') $shift_length = $rowx[2]; $shift_weekdays = $rowx[3]; - if (eregi("$wday",$shift_weekdays)) + if (preg_match("/$wday/i",$shift_weekdays)) { $HHshift_length = substr($shift_length,0,2); $MMshift_length = substr($shift_length,3,2); @@ -887,7 +987,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "經理登入:
    \n"; $VDdisplayMESSAGE.= "經理密碼:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -1171,6 +1271,14 @@ if ($ACTION == 'UpdateFields') { $rowx=mysql_fetch_row($rslt); if ($rowx[0] > 0) {$lead_id = $rowx[0];} + ### ADDED BY POUNDTEAM FOR AUDITED COMMENTS! acquire audited comment count for this lead + $stmt="SELECT count(comment_id) as comment_count FROM vicidial_comments where lead_id='$lead_id' and hidden is null"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00275',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_comment_count = trim("$row[0]"); + ##### grab the data from vicidial_list for the lead_id $stmt="SELECT vendor_lead_code,source_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,rank,owner FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -1206,8 +1314,8 @@ if ($ACTION == 'UpdateFields') $rank = trim("$row[23]"); $owner = trim("$row[24]"); - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = "GOOD\n"; $LeaD_InfO .= $vendor_id . "\n"; @@ -1235,6 +1343,7 @@ if ($ACTION == 'UpdateFields') $LeaD_InfO .= $comments . "\n"; $LeaD_InfO .= $rank . "\n"; $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $lead_comment_count . "\n"; $LeaD_InfO .= "\n"; echo $LeaD_InfO; @@ -1262,7 +1371,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=''; $rowx=''; $override_dial_number=''; $channel_live=1; - $lead_id = ereg_replace("[^0-9]","",$lead_id); + $lead_id = preg_replace("/[^0-9]/","",$lead_id); if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) { $channel_live=0; @@ -1326,7 +1435,7 @@ if ($ACTION == 'manDiaLnextCaLL') { if (strlen($phone_number)>3) { - if (ereg("ENABLED",$manual_dial_call_time_check)) + if (preg_match("/ENABLED/",$manual_dial_call_time_check)) { $secX = date("U"); $hour = date("H"); @@ -1373,7 +1482,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($dialable < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1391,9 +1500,9 @@ if ($ACTION == 'manDiaLnextCaLL') } } - if (ereg("DNC",$manual_dial_filter)) + if (preg_match("/DNC/",$manual_dial_filter)) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $phone_number_areacode = substr($phone_number, 0, 3); $phone_number_areacode .= "XXXXXXX"; @@ -1407,7 +1516,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1423,38 +1532,49 @@ if ($ACTION == 'manDiaLnextCaLL') echo "DNC 號碼\n"; exit; } - if (ereg("AREACODE",$use_campaign_dnc)) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - $phone_number_areacode = substr($phone_number, 0, 3); - $phone_number_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$campaign';"; - } - else - {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - ### insert a new lead in the system with this phone number - $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; - if ($DB) {echo "$stmt\n";} + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} - $VMDQaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00445',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} - $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; - if ($DB) {echo "$stmt\n";} + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} - $VLAEDaffected_rows = mysql_affected_rows($link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00358',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysql_affected_rows($link); - echo "DNC 號碼\n"; - exit; + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00359',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysql_affected_rows($link); + + echo "DNC 號碼\n"; + exit; + } } } - if (ereg("CAMPLISTS",$manual_dial_filter)) + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) { $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; $rslt=mysql_query($stmt, $link); @@ -1465,20 +1585,20 @@ if ($ACTION == 'manDiaLnextCaLL') while ($lists_to_parse > $o) { $rowx=mysql_fetch_row($rslt); - if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} - if (ereg("ALL",$manual_dial_filter)) + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} } else { - if (ereg("N", $rowx[1])) + if (preg_match("/N/", $rowx[1])) {$inactive_lists++;} } $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; $rslt=mysql_query($stmt, $link); @@ -1488,7 +1608,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($row[0] < 1) { - ### insert a new lead in the system with this phone number + ### purge from the dial queue and api $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -1547,7 +1667,7 @@ if ($ACTION == 'manDiaLnextCaLL') else { ### insert a new lead in the system with this phone number - $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1578,7 +1698,7 @@ if ($ACTION == 'manDiaLnextCaLL') $lead_order_secondary = $row[8]; $call_count_limit = $row[9]; } - if (eregi("N",$no_hopper_dialing)) + if (preg_match("/N/i",$no_hopper_dialing)) { ### grab the next lead in the hopper for this campaign and reserve it for the user $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; @@ -1621,23 +1741,23 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00237',$user,$server_ip,$session_name,$one_mysql_log);} $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; $ct_states = ''; $ct_state_gmt_SQL = ''; @@ -1656,24 +1776,24 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00238',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; + $Gstate_call_time_id = $row[0]; + $Gstate_call_time_state = $row[1]; + $Gsct_default_start = $row[4]; + $Gsct_default_stop = $row[5]; + $Gsct_sunday_start = $row[6]; + $Gsct_sunday_stop = $row[7]; + $Gsct_monday_start = $row[8]; + $Gsct_monday_stop = $row[9]; + $Gsct_tuesday_start = $row[10]; + $Gsct_tuesday_stop = $row[11]; + $Gsct_wednesday_start = $row[12]; + $Gsct_wednesday_stop = $row[13]; + $Gsct_thursday_start = $row[14]; + $Gsct_thursday_stop = $row[15]; + $Gsct_friday_start = $row[16]; + $Gsct_friday_stop = $row[17]; + $Gsct_saturday_start = $row[18]; + $Gsct_saturday_stop = $row[19]; $ct_states .="'$Gstate_call_time_state',"; @@ -1782,7 +1902,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if (strlen($ct_states)>2) { - $ct_states = eregi_replace(",$",'',$ct_states); + $ct_states = preg_replace("/,$/i",'',$ct_states); $ct_statesSQL = "and state NOT IN($ct_states)"; } else @@ -1927,7 +2047,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($filtersql_ct > 0) { $row=mysql_fetch_row($rslt); - $fSQL = "and $row[0]"; + $fSQL = "and ($row[0])"; $fSQL = preg_replace('/\\\\/','',$fSQL); } @@ -1944,7 +2064,7 @@ if ($ACTION == 'manDiaLnextCaLL') $camp_lists .= "'$row[0]',"; $k++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); if (strlen($camp_lists) < 4) {$camp_lists="''";} $stmt="SELECT user_group,territory FROM vicidial_users where user='$user';"; @@ -1960,7 +2080,7 @@ if ($ACTION == 'manDiaLnextCaLL') } $adooSQL = ''; - if (eregi("TERRITORY",$agent_dial_owner_only)) + if (preg_match("/TERRITORY/i",$agent_dial_owner_only)) { $agent_territories=''; $agent_choose_territories=0; @@ -2010,8 +2130,14 @@ if ($ACTION == 'manDiaLnextCaLL') $adooSQL = $searchownerSQL; } - if (eregi("USER",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} - if (eregi("USER_GROUP",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/USER/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user'";} + if (preg_match("/USER_GROUP/i",$agent_dial_owner_only)) {$adooSQL = "and owner='$user_group'";} + if (preg_match("/_BLANK/",$agent_dial_owner_only)) + { + $adooSQLa = preg_replace("/^and /",'',$adooSQL); + $blankSQL = "and ( ($adooSQLa) or (owner='') or (owner is NULL) )"; + $adooSQL = $blankSQL; + } if ($lead_order_randomize == 'Y') {$last_order = "RAND()";} else @@ -2024,23 +2150,23 @@ if ($ACTION == 'manDiaLnextCaLL') } $order_stmt = ''; - if (eregi("DOWN",$lead_order)){$order_stmt = 'order by lead_id asc';} - if (eregi("UP",$lead_order)){$order_stmt = 'order by lead_id desc';} - if (eregi("UP LAST NAME",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} - if (eregi("DOWN LAST NAME",$lead_order)){$order_stmt = "order by last_name, $last_order";} - if (eregi("UP PHONE",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} - if (eregi("DOWN PHONE",$lead_order)){$order_stmt = "order by phone_number, $last_order";} - if (eregi("UP COUNT",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} - if (eregi("DOWN COUNT",$lead_order)){$order_stmt = "order by called_count, $last_order";} - if (eregi("UP LAST 撥號 TIME",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} - if (eregi("DOWN LAST 撥號 TIME",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} - if (eregi("RANDOM",$lead_order)){$order_stmt = "order by RAND()";} - if (eregi("UP RANK",$lead_order)){$order_stmt = "order by rank desc, $last_order";} - if (eregi("DOWN RANK",$lead_order)){$order_stmt = "order by rank, $last_order";} - if (eregi("UP OWNER",$lead_order)){$order_stmt = "order by owner desc, $last_order";} - if (eregi("DOWN OWNER",$lead_order)){$order_stmt = "order by owner, $last_order";} - if (eregi("UP TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} - if (eregi("DOWN TIMEZONE",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} + if (preg_match("/DOWN/i",$lead_order)){$order_stmt = 'order by lead_id asc';} + if (preg_match("/UP/i",$lead_order)){$order_stmt = 'order by lead_id desc';} + if (preg_match("/UP 最後 NAME/i",$lead_order)){$order_stmt = "order by last_name desc, $last_order";} + if (preg_match("/DOWN 最後 NAME/i",$lead_order)){$order_stmt = "order by last_name, $last_order";} + if (preg_match("/UP PHONE/i",$lead_order)){$order_stmt = "order by phone_number desc, $last_order";} + if (preg_match("/DOWN PHONE/i",$lead_order)){$order_stmt = "order by phone_number, $last_order";} + if (preg_match("/UP COUNT/i",$lead_order)){$order_stmt = "order by called_count desc, $last_order";} + if (preg_match("/DOWN COUNT/i",$lead_order)){$order_stmt = "order by called_count, $last_order";} + if (preg_match("/UP 最後一次通話 TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time desc, $last_order";} + if (preg_match("/DOWN 最後一次通話 TIME/i",$lead_order)){$order_stmt = "order by last_local_call_time, $last_order";} + if (preg_match("/RANDOM/i",$lead_order)){$order_stmt = "order by RAND()";} + if (preg_match("/UP RANK/i",$lead_order)){$order_stmt = "order by rank desc, $last_order";} + if (preg_match("/DOWN RANK/i",$lead_order)){$order_stmt = "order by rank, $last_order";} + if (preg_match("/UP OWNER/i",$lead_order)){$order_stmt = "order by owner desc, $last_order";} + if (preg_match("/DOWN OWNER/i",$lead_order)){$order_stmt = "order by owner, $last_order";} + if (preg_match("/UP TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now desc, $last_order";} + if (preg_match("/DOWN TIMEZONE/i",$lead_order)){$order_stmt = "order by gmt_offset_now, $last_order";} $stmt="UPDATE vicidial_list SET user='QUEUE$user' where called_since_last_reset='N' and user NOT LIKE \"QUEUE%\" and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $adooSQL $order_stmt LIMIT 1;"; if ($DB) {echo "$stmt\n";} @@ -2145,6 +2271,23 @@ if ($ACTION == 'manDiaLnextCaLL') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited 備註 + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited 備註 + } $called_count++; @@ -2165,7 +2308,7 @@ if ($ACTION == 'manDiaLnextCaLL') ##### BEGIN check for postal_code and phone time zones if alert enabled $post_phone_time_diff_alert_message=''; - $stmt="SELECT post_phone_time_diff_alert,local_call_time FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT post_phone_time_diff_alert,local_call_time,owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00414',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2175,6 +2318,7 @@ if ($ACTION == 'manDiaLnextCaLL') $row=mysql_fetch_row($rslt); $post_phone_time_diff_alert = $row[0]; $local_call_time = $row[1]; + $owner_populate = $row[2]; } if ( ($post_phone_time_diff_alert == 'ENABLED') or (preg_match("/OUTSIDE_CALLTIME/",$post_phone_time_diff_alert)) ) { @@ -2193,7 +2337,7 @@ if ($ACTION == 'manDiaLnextCaLL') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "電話 and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "電話及郵政編碼時區不匹配! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -2221,33 +2365,6 @@ if ($ACTION == 'manDiaLnextCaLL') ##### END check for postal_code and phone time zones if alert enabled - ##### check if system is set to generate logfile for transfers - $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $enable_agc_xfer_log_ct = mysql_num_rows($rslt); - if ($enable_agc_xfer_log_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_agc_xfer_log =$row[0]; - } - - if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) - { - # generate callerID for unique identifier in xfer_log file - $PADlead_id = sprintf("%010s", $lead_id); - while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; - - # DATETIME|campaign|lead_id|phone_number|user|type - # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M - $fp = fopen ("./xfer_log.txt", "a"); - fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); - fclose($fp); - } - ##### if lead is a callback, grab the callback comments $CBentry_time = ''; $CBcallback_time = ''; @@ -2310,16 +2427,22 @@ if ($ACTION == 'manDiaLnextCaLL') $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); - if (ereg('Y',$called_since_last_reset)) + if (preg_match('/Y/',$called_since_last_reset)) { - $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + $called_since_last_reset = preg_replace('/Y/','',$called_since_last_reset); if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} $called_since_last_reset++; $called_since_last_reset = "Y$called_since_last_reset"; } else {$called_since_last_reset = 'Y';} + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### flag the lead as called and change it's status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE'$ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} @@ -2341,7 +2464,7 @@ if ($ACTION == 'manDiaLnextCaLL') $stmt="UPDATE vicidial_lists set list_lastcalldate=NOW() where list_id='$list_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00439',$user,$server_ip,$session_name,$one_mysql_log);} $campaign_cid_override=''; $LISTweb_form_address=''; @@ -2364,7 +2487,7 @@ if ($ACTION == 'manDiaLnextCaLL') } ### if preview dialing, do not send the call - if ( (strlen($preview)<1) || ($preview == 'NO') ) + if ( (strlen($preview)<1) or ($preview == 'NO') or (strlen($dial_ingroup) > 1) ) { ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; @@ -2416,12 +2539,12 @@ if ($ACTION == 'manDiaLnextCaLL') {$CCID = "$temp_CID"; $CCID_on++;} } - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $PADlead_id = sprintf("%010s", $lead_id); while (strlen($PADlead_id) > 10) {$PADlead_id = substr("$PADlead_id", 1);} - ### check for extension append in campaign + ### check for extension append 在競選 $use_eac=0; $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); @@ -2435,18 +2558,16 @@ if ($ACTION == 'manDiaLnextCaLL') } # Create unique calleridname to track the call: MmddhhmmssLLLLLLLLLL - $MqueryCID = "M$CIDdate$PADlead_id"; + $MqueryCID = "M$CIDdate$PADlead_id"; $EAC=''; if ($use_eac > 0) { $eac_extension = preg_replace("/SIP\/|IAX2\/|Zap\/|DAHDI\/|Local\//",'',$eac_phone); $EAC=" $eac_extension"; } - if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} - else {$CIDstring = "$MqueryCID$EAC";} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$agent_dialed_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$agent_dialed_number";} @@ -2460,17 +2581,72 @@ if ($ACTION == 'manDiaLnextCaLL') else {$account=''; $variable='';} + $dial_channel = "$local_DEF$conf_exten$local_AMP$ext_context$Local_persist"; + + $preset_name=''; + if (strlen($dial_ingroup) > 1) + { + ### look for a dial-ingroup cid + $dial_ingroup_cid=''; + $stmt = "SELECT dial_ingroup_cid FROM vicidial_inbound_groups where group_id='$dial_ingroup';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00440',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $digcid_ct = mysql_num_rows($rslt); + if ($digcid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dial_ingroup_cid = $row[0]; + } + if (strlen($dial_ingroup_cid) > 6) {$CCID = "$dial_ingroup_cid"; $CCID_on++;} + + $preset_name='DIG'; + $MqueryCID = "Y$CIDdate$PADlead_id"; + + $loop_ingroup_dial_prefix = '8305888888888888'; + $dial_wait_seconds = '4'; # 1 digit only + if ($nocall_dial_flag == 'ENABLED') + { + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds" . "999"; + $preset_name='DIG_NODIAL'; + } + else + {$Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$Ndialstring";} + + # $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + # $dial_channel = "$local_DEF$dial_ingroup_dialstring$local_AMP$ext_context$Local_persist"; + + $dial_channel = "$local_DEF$Ndialstring$local_AMP$ext_context$Local_persist"; + + $dial_wait_seconds = '0'; # 1 digit only + $dial_ingroup_dialstring = "90009*$dial_ingroup" . "**$lead_id" . "**$agent_dialed_number" . "*$user" . "*$user" . "**1*$conf_exten"; + $Ndialstring = "$loop_ingroup_dial_prefix$dial_wait_seconds$dial_ingroup_dialstring"; + } + + if ($CCID_on) {$CIDstring = "\"$MqueryCID$EAC\" <$CCID>";} + else {$CIDstring = "$MqueryCID$EAC";} + ### insert the call action into the vicidial_manager table to initiate the call # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; - $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $dial_channel','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$dial_channel', timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00442',$user,$server_ip,$session_name,$one_mysql_log);} + + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) + { + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$agent_dialed_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + } ### update the agent status to INCALL in vicidial_live_agents $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; @@ -2484,123 +2660,162 @@ if ($ACTION == 'manDiaLnextCaLL') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} - # #### update vicidial_agent_log if not MANUAL dial_method - # if ($dial_method != 'MANUAL') - # { - # $pause_sec=0; - # $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch,agent_log_id from vicidial_agent_log where agent_log_id >= '$agent_log_id' and user='$user' order by agent_log_id desc limit 1;"; - # if ($DB) {echo "$stmt\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00302',$user,$server_ip,$session_name,$one_mysql_log);} - # $VDpr_ct = mysql_num_rows($rslt); - # if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) - # { - # $row=mysql_fetch_row($rslt); - # $agent_log_id = $row[5]; - # $pause_sec = (($StarTtime - $row[0]) + $row[1]); - # - # $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - # if ($format=='debug') {echo "\n";} - # $rslt=mysql_query($stmt, $link); - # if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00303',$user,$server_ip,$session_name,$one_mysql_log);} - # } - # } - - - $val_pause_epoch=0; - $val_pause_sec=0; - $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $vald_ct = mysql_num_rows($rslt); - if ($vald_ct > 0) - { - $row=mysql_fetch_row($rslt); - $val_pause_epoch = $row[0]; - $val_pause_sec = ($StarTtime - $val_pause_epoch); - } - - $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - - if ($agent_dialed_number > 0) { - $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id,preset_name) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$agent_dialed_number','$Ndialstring','$lead_id','$CCID','$RAWaccount','$preset_name')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} } - ############################################# - ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} - if ($DB) {echo "$stmt\n";} - $qm_conf_ct = mysql_num_rows($rslt); - if ($qm_conf_ct > 0) + ### Skip logging and list overrides if dial in-group is used + if (strlen($dial_ingroup) < 1) { - $row=mysql_fetch_row($rslt); - $enable_queuemetrics_logging = $row[0]; - $queuemetrics_server_ip = $row[1]; - $queuemetrics_dbname = $row[2]; - $queuemetrics_login = $row[3]; - $queuemetrics_pass = $row[4]; - $queuemetrics_log_id = $row[5]; - $queuemetrics_pe_phone_append = $row[6]; - } - ##### END QUEUEMETRICS LOGGING LOOKUP ##### - ########################################### - if ($enable_queuemetrics_logging > 0) - { - $data4SQL=''; - $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $val_pause_epoch=0; + $val_pause_sec=0; + $stmt = "SELECT pause_epoch FROM vicidial_agent_log where agent_log_id='$agent_log_id';"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00323',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $cqpe_ct = mysql_num_rows($rslt); - if ($cqpe_ct > 0) + $vald_ct = mysql_num_rows($rslt); + if ($vald_ct > 0) { $row=mysql_fetch_row($rslt); - $pe_append=''; - if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) - {$pe_append = "-$qm_extension";} - $data4SQL = ",data4='$row[0]$pe_append'"; + $val_pause_epoch = $row[0]; + $val_pause_sec = ($StarTtime - $val_pause_epoch); } - $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); - mysql_select_db("$queuemetrics_dbname", $linkB); + $stmt="UPDATE vicidial_agent_log set pause_sec='$val_pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00324',$user,$server_ip,$session_name,$one_mysql_log);} - # UNPAUSEALL - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### - # 撥號OUTBOUND (formerly ENTERQUEUE) - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + if ($enable_queuemetrics_logging > 0) + { + $data4SQL=''; + $data4SS=''; + $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00389',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cqpe_ct = mysql_num_rows($rslt); + if ($cqpe_ct > 0) + { + $row=mysql_fetch_row($rslt); + $pe_append=''; + if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) + {$pe_append = "-$qm_extension";} + $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; + } - # CONNECT - $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkB); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} - $affected_rows = mysql_affected_rows($linkB); + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # 撥號OUTBOUND (formerly ENTERQUEUE) + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='CALLOUTBOUND',data2='$agent_dialed_number',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id' $data4SQL;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } - mysql_close($linkB); } + ### Check for List ID override settings + $VDCL_xferconf_a_number=''; + $VDCL_xferconf_b_number=''; + $VDCL_xferconf_c_number=''; + $VDCL_xferconf_d_number=''; + $VDCL_xferconf_e_number=''; + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} + $VC_preset_ct = mysql_num_rows($rslt); + if ($VC_preset_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_xferconf_a_number = $row[0]; + $VDCL_xferconf_b_number = $row[1]; + $VDCL_xferconf_c_number = $row[2]; + $VDCL_xferconf_d_number = $row[3]; + $VDCL_xferconf_e_number = $row[4]; + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$agent_dialed_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } + ##### find if script contains recording fields $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; $rslt=mysql_query($stmt, $link); @@ -2627,27 +2842,6 @@ if ($ACTION == 'manDiaLnextCaLL') } } - ### Check for List ID override settings - $VDCL_xferconf_a_number=''; - $VDCL_xferconf_b_number=''; - $VDCL_xferconf_c_number=''; - $VDCL_xferconf_d_number=''; - $VDCL_xferconf_e_number=''; - $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_campaigns where campaign_id='$campaign';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00277',$user,$server_ip,$session_name,$one_mysql_log);} - $VC_preset_ct = mysql_num_rows($rslt); - if ($VC_preset_ct > 0) - { - $row=mysql_fetch_row($rslt); - $VDCL_xferconf_a_number = $row[0]; - $VDCL_xferconf_b_number = $row[1]; - $VDCL_xferconf_c_number = $row[2]; - $VDCL_xferconf_d_number = $row[3]; - $VDCL_xferconf_e_number = $row[4]; - } - if (strlen($list_id)>0) { $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';"; @@ -2692,7 +2886,7 @@ if ($ACTION == 'manDiaLnextCaLL') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -2716,8 +2910,8 @@ if ($ACTION == 'manDiaLnextCaLL') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $MqueryCID . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -2770,6 +2964,8 @@ if ($ACTION == 'manDiaLnextCaLL') $LeaD_InfO .= $LISTweb_form_address . "\n"; $LeaD_InfO .= $LISTweb_form_address_two . "\n"; $LeaD_InfO .= $post_phone_time_diff_alert_message . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; } @@ -2824,7 +3020,7 @@ if ($ACTION == 'AlertControl') } else { - if (ereg('ON',$stage)) {$stage = '1';} + if (preg_match('/ON/',$stage)) {$stage = '1';} else {$stage = '0';} $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; @@ -2921,19 +3117,117 @@ if ($ACTION == 'manDiaLonly') {$calls_today ='0';} $calls_today++; - ### check for extension append in campaign + + ### check for manual dial filter and extension append settings 在競選 $use_eac=0; - $stmt = "SELECT count(*) FROM vicidial_campaigns where extension_appended_cidname='Y' and campaign_id='$campaign';"; + $use_custom_cid=0; + $stmt = "SELECT manual_dial_filter,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc,extension_appended_cidname FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00325',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} - $eacid_ct = mysql_num_rows($rslt); - if ($eacid_ct > 0) + $vcstgs_ct = mysql_num_rows($rslt); + if ($vcstgs_ct > 0) { $row=mysql_fetch_row($rslt); - $use_eac = $row[0]; + $manual_dial_filter = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; + $extension_appended_cidname = $row[4]; + if ($extension_appended_cidname == 'Y') + {$use_eac++;} } + ### BEGIN check phone filtering for DNC or camplists if enabled ### + if (preg_match("/DNC/",$manual_dial_filter)) + { + if (preg_match("/AREACODE/",$use_internal_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_dnc where phone_number IN('$phone_number','$phone_number_areacode');"; + } + else + {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00529',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " 撥號 NOT PLACED\nDNC 號碼\n"; + exit; + } + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) + { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00530',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + + if (preg_match("/AREACODE/",$use_campaign_dnc)) + { + $phone_number_areacode = substr($phone_number, 0, 3); + $phone_number_areacode .= "XXXXXXX"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_number_areacode') and campaign_id='$temp_campaign_id';"; + } + else + {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00531',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo " 撥號 NOT PLACED\nDNC 號碼\n"; + exit; + } + } + } + if (preg_match("/CAMPLISTS/",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00532',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (preg_match("/Y/", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (preg_match("/ALL/",$manual_dial_filter)) + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++; $camp_lists .= "'$rowx[0]',";} + } + else + { + if (preg_match("/N/", $rowx[1])) + {$inactive_lists++;} + } + $o++; + } + $camp_lists = preg_replace("/.$/i","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00533',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo " 撥號 NOT PLACED\n號碼 NOT IN CAMPLISTS\n"; + exit; + } + } + ### END check phone filtering for DNC or camplists if enabled ### + + ### prepare variables to place manual call from VICIDiaL $CCID_on=0; $CCID=''; $LISTweb_form_address=''; @@ -2947,13 +3241,13 @@ if ($ACTION == 'manDiaLonly') $Local_dial_timeout = ($Local_dial_timeout * 1000); if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} - if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + if (preg_match("/x/i",$dial_prefix)) {$Local_out_prefix = '';} $campaign_cid_override=''; ### check if there is a list_id override if (strlen($lead_id) > 1) { $list_id=''; - $stmt = "SELECT list_id FROM vicidial_list where lead_id='$lead_id';"; + $stmt = "SELECT list_id,province FROM vicidial_list where lead_id='$lead_id';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00246',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -2962,6 +3256,7 @@ if ($ACTION == 'manDiaLonly') { $row=mysql_fetch_row($rslt); $list_id = $row[0]; + $province = $row[1]; if (strlen($list_id) > 1) { @@ -3042,7 +3337,7 @@ if ($ACTION == 'manDiaLonly') {$account=''; $variable='';} ### whether to omit phone_code or not - if (eregi('Y',$omit_phone_code)) + if (preg_match('/Y/i',$omit_phone_code)) {$Ndialstring = "$Local_out_prefix$phone_number";} else {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} @@ -3053,6 +3348,12 @@ if ($ACTION == 'manDiaLonly') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + ### log outbound call in the dial log + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$MqueryCID',lead_id='$lead_id',server_ip='$server_ip',call_date='$NOW_TIME',extension='$Ndialstring',channel='$local_DEF$conf_exten$local_AMP$ext_context$Local_persist',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00443',$user,$server_ip,$session_name,$one_mysql_log);} + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); @@ -3177,7 +3478,7 @@ if ($ACTION == 'manDiaLonly') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3192,12 +3493,15 @@ if ($ACTION == 'manDiaLonly') $queuemetrics_pass = $row[4]; $queuemetrics_log_id = $row[5]; $queuemetrics_pe_phone_append = $row[6]; + $queuemetrics_socket = $row[7]; + $queuemetrics_socket_url = $row[8]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### if ($enable_queuemetrics_logging > 0) { $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00390',$user,$server_ip,$session_name,$one_mysql_log);} @@ -3210,6 +3514,7 @@ if ($ACTION == 'manDiaLonly') if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); @@ -3237,8 +3542,38 @@ if ($ACTION == 'manDiaLonly') $affected_rows = mysql_affected_rows($linkB); mysql_close($linkB); - } + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MqueryCID&queue=$campaign&agent=Agent/$user&verb=CONNECT&data1=0$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } + } + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00441',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID||$province\n"); + fclose($fp); + } } } @@ -3292,7 +3627,7 @@ if ($ACTION == 'manDiaLlookCaLL') $end_epoch = $row[2]; ### Check carrier log for error - $stmt="SELECT dialstatus,hangup_cause FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; + $stmt="SELECT dialstatus,hangup_cause,sip_hangup_cause,sip_hangup_reason FROM vicidial_carrier_log where uniqueid='$uniqueid' and server_ip='$server_ip' and channel='$channel' and dialstatus IN('BUSY','CHANUNAVAIL','CONGESTION') LIMIT 1;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00292',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3300,13 +3635,24 @@ if ($ACTION == 'manDiaLlookCaLL') if ($CL_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $dialstatus =$row[0]; - $hangup_cause =$row[1]; - + $dialstatus = $row[0]; + $hangup_cause = $row[1]; + $sip_hangup_cause = $row[2]; + $sip_hangup_reason = $row[3]; + $channel = $dialstatus; $hangup_cause_msg = "Cause: " . $hangup_cause . " - " . hangup_cause_description($hangup_cause); + $sip_hangup_cause_msg=''; + if (strlen($sip_hangup_cause) > 1) + { + $sip_hangup_cause_msg = "SIP: " . $sip_hangup_cause . " - "; + if (strlen($sip_hangup_reason) < 2) + {$sip_hangup_cause_msg .= sip_hangup_cause_description($sip_hangup_cause);} + else + {$sip_hangup_cause_msg .= $sip_hangup_reason;} + } - $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg; + $call_output = "$uniqueid\n$channel\nERROR\n" . $hangup_cause_msg . "\n
    " . $sip_hangup_cause_msg; $call_good++; ### Delete call record @@ -3326,31 +3672,33 @@ if ($ACTION == 'manDiaLlookCaLL') if ($call_good > 0) { - $wait_sec=0; - $dead_epochSQL = ''; - $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} - $VDpr_ct = mysql_num_rows($rslt); - if ($VDpr_ct > 0) + if ($stage != "YES") { - $row=mysql_fetch_row($rslt); - $wait_sec = (($StarTtime - $row[0]) + $row[1]); - $now_dead_epoch = $row[2]; - if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) - {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + $wait_sec=0; + $dead_epochSQL = ''; + $stmt = "SELECT wait_epoch,wait_sec,dead_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + $now_dead_epoch = $row[2]; + if ( ($now_dead_epoch > 1000) and ($now_dead_epoch < $StarTtime) ) + {$dead_epochSQL = ",dead_epoch='$StarTtime'";} + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' $dead_epochSQL where agent_log_id='$agent_log_id';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} - - $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; - if ($format=='debug') {echo "\n";} - $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} - $stmt="UPDATE call_log set uniqueid='$uniqueid',channel='$channel' where caller_code='$MDnextCID';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); @@ -3483,6 +3831,7 @@ if ($stage == "start") if ($stage == "end") { $status_dispo = 'DISPO'; + $log_no_enter=0; if ($alt_num_status > 0) {$status_dispo = 'ALTNUM';} ##### get call type from vicidial_live_agents table @@ -3509,7 +3858,7 @@ if ($stage == "end") { echo "LOG未輸入\n"; echo "uniqueid $uniqueid or lead_id: $lead_id 是無效的\n"; - exit; + $log_no_enter=1; } else { @@ -3609,7 +3958,7 @@ if ($stage == "end") ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3626,6 +3975,8 @@ if ($stage == "end") $queuemetrics_log_id = $row[5]; $queuemetrics_dispo_pause = $row[6]; $queuemetrics_pe_phone_append = $row[7]; + $queuemetrics_socket = $row[8]; + $queuemetrics_socket_url = $row[9]; if ($enable_queuemetrics_logging > 0) { @@ -3639,7 +3990,7 @@ if ($stage == "end") if ($auto_dial_level > 0) { ### check to see if campaign has alt_dial enabled - $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial,use_internal_dnc,use_campaign_dnc,use_other_campaign_dnc FROM vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3647,12 +3998,13 @@ if ($stage == "end") if ($VAC_mancall_ct > 0) { $row=mysql_fetch_row($rslt); - $auto_alt_dial = $row[0]; - $use_internal_dnc = $row[1]; - $use_campaign_dnc = $row[2]; + $auto_alt_dial = $row[0]; + $use_internal_dnc = $row[1]; + $use_campaign_dnc = $row[2]; + $use_other_campaign_dnc = $row[3]; } else {$auto_alt_dial = 'NONE';} - if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + if (preg_match("/(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)/i",$auto_alt_dial)) { ### check to see if lead should be alt_dialed if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} @@ -3674,7 +4026,7 @@ if ($stage == "end") } } - if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + if ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) { $alt_dial_skip=0; $stmt="SELECT alt_phone,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3686,7 +4038,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $alt_phone = $row[0]; - $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $alt_phone = preg_replace("/[^0-9]/i","",$alt_phone); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3694,9 +4046,9 @@ if ($stage == "end") else {$alt_phone = '';} if (strlen($alt_phone)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; @@ -3715,16 +4067,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $alt_phone_areacode = substr($alt_phone, 0, 3); $alt_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3752,7 +4106,7 @@ if ($stage == "end") {$alt_dial='ALT';} } - if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + if ( ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/ALT_AND_ADDR3/i",$auto_alt_dial)) ) or ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/ADDR3_ONLY/i",$auto_alt_dial)) ) ) { $addr3_dial_skip=0; $stmt="SELECT address3,gmt_offset_now,state,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';"; @@ -3764,7 +4118,7 @@ if ($stage == "end") { $row=mysql_fetch_row($rslt); $address3 = $row[0]; - $address3 = eregi_replace("[^0-9]","",$address3); + $address3 = preg_replace("/[^0-9]/i","",$address3); $gmt_offset_now = $row[1]; $state = $row[2]; $vendor_lead_code = $row[3]; @@ -3772,9 +4126,9 @@ if ($stage == "end") else {$address3 = '';} if (strlen($address3)>5) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; @@ -3793,16 +4147,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $addr3_phone_areacode = substr($address3, 0, 3); $addr3_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -3834,11 +4190,11 @@ if ($stage == "end") # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); # fclose($fp); - if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + if ( ( ( (preg_match("/(NONE|MAIN)/i",$alt_dial)) and (preg_match("/EXTENDED_ONLY/i",$auto_alt_dial)) ) or ( (preg_match("/(ALT)/i",$alt_dial)) and (preg_match("/(ALT_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(ADDR3)/i",$alt_dial)) and (preg_match("/(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)/i",$auto_alt_dial)) ) or ( (preg_match("/(X)/i",$alt_dial)) and (preg_match("/EXTENDED/i",$auto_alt_dial)) ) ) and (!preg_match("/LAST/i",$alt_dial)) ) { - if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + if (preg_match("/(ADDR3)/i",$alt_dial)) {$Xlast=0;} else - {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + {$Xlast = preg_replace("/[^0-9]/","",$alt_dial);} if (strlen($Xlast)<1) {$Xlast=0;} $VD_altdialx=''; @@ -3886,11 +4242,11 @@ if ($stage == "end") else {$Xlast=9999999999;} - if (ereg("Y",$VD_altdial_active)) + if (preg_match("/Y/",$VD_altdial_active)) { - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; @@ -3909,16 +4265,18 @@ if ($stage == "end") } } else {$VD_alt_dnc_count=0;} - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3); $vdap_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -4077,6 +4435,7 @@ if ($stage == "end") if ($CLstage < 0.25) {$CLstage=0;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00392',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4089,6 +4448,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$CLqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4096,6 +4456,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$CLqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } if ($nodeletevdac < 1) @@ -4139,7 +4511,7 @@ if ($stage == "end") { $SQLterm = "term_reason='$term_reason',"; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### check to see if lead should be alt_dialed $stmt="SELECT term_reason,uniqueid,status from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; @@ -4154,7 +4526,7 @@ if ($stage == "end") $VDstatus = $row[2]; $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4235,7 +4607,7 @@ if ($stage == "end") $SQLterm = "term_reason='$term_reason'"; $QL_term=''; - if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + if ( (preg_match("/NONE/",$term_reason)) or (preg_match("/NONE/",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) { ### find out who hung up the call $stmt="SELECT term_reason,closecallid,queue_position from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; @@ -4250,7 +4622,7 @@ if ($stage == "end") $VDqueue_position = $row[2]; $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; } - if (ereg("CALLER",$VDterm_reason)) + if (preg_match("/CALLER/",$VDterm_reason)) { $SQLterm = ""; } @@ -4304,6 +4676,7 @@ if ($stage == "end") {$VDqueue_position=1;} $data4SQL=''; + $data4SS=''; $stmt="SELECT queuemetrics_phone_environment FROM vicidial_campaigns where campaign_id='$campaign' and queuemetrics_phone_environment!='';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00393',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4316,6 +4689,7 @@ if ($stage == "end") if ( ($queuemetrics_pe_phone_append > 0) and (strlen($row[0])>0) ) {$pe_append = "-$qm_extension";} $data4SQL = ",data4='$row[0]$pe_append'"; + $data4SS = "&data4=$row[0]$pe_append"; } $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='$VDqueue_position',serverid='$queuemetrics_log_id' $data4SQL;"; @@ -4323,6 +4697,18 @@ if ($stage == "end") $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$StarTtime&call_id=$MDnextCID&queue=$VDcampaign_id&agent=Agent/$user&verb=COMPLETEAGENT&data1=$CLstage&data2=$length_in_sec&data3=$VDqueue_position$data4SS"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } } } @@ -4357,7 +4743,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4388,7 +4774,7 @@ if ($stage == "end") else { # if (preg_match("/$agentchannel/i",$row[0])) - if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + if ( ($agentchannel == "$row[0]") or (preg_match('/ASTblind/',$row[0])) ) { $donothing=1; } @@ -4471,9 +4857,9 @@ if ($stage == "end") {$vidSQL = ",vicidial_id='$VDvicidial_id'";} else { - if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + if ( (preg_match('/\./',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) { - if (!ereg('.',$VDvicidial_id)) + if (!preg_match('/\./',$VDvicidial_id)) {$vidSQL = ",vicidial_id='$VDvicidial_id'";} if ($WeBRooTWritablE > 0) @@ -4508,6 +4894,14 @@ if ($stage == "end") } } + if ($log_no_enter > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|DIAL_LOG_1N|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$MDnextCID|$agentchannel|$loop_count|$total_rec|$total_hangup|$VDstop_rec_after_each_call\n"); + fclose($fp); + + exit; + } $talk_sec=0; $talk_epochSQL=''; @@ -4522,12 +4916,12 @@ if ($stage == "end") if ($VDpr_ct > 0) { $row=mysql_fetch_row($rslt); - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $talk_epochSQL=",talk_epoch='$StarTtime'"; $row[0]=$row[3]; } - if ( (!eregi("NULL",$row[6])) and ($row[6] > 1000) ) + if ( (!preg_match("/NULL/i",$row[6])) and ($row[6] > 1000) ) { $dead_sec = ($StarTtime - $row[6]); if ($dead_sec < 0) {$dead_sec=0;} @@ -4536,11 +4930,11 @@ if ($stage == "end") $talk_sec = (($StarTtime - $row[0]) + $row[1]); if ( ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -4739,6 +5133,23 @@ if ($ACTION == 'VDADcheckINCOMING') $entry_list_id = trim("$row[34]"); if ($entry_list_id < 100) {$entry_list_id = $list_id;} } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited 備註 + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited 備註 + } ##### if lead is a callback, grab the callback comments $CBentry_time = ''; @@ -4786,9 +5197,25 @@ if ($ACTION == 'VDADcheckINCOMING') $CBcomments = trim("$row[3]"); } } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00444',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } ### update the lead status to INCALL - $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} @@ -4806,7 +5233,7 @@ if ($ACTION == 'VDADcheckINCOMING') $custom_call_id = $row[0]; } - ### update the log status to INCALL + ### gather user_group and full_name of agent $user_group=''; $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; $rslt=mysql_query($stmt, $link); @@ -4980,15 +5407,15 @@ if ($ACTION == 'VDADcheckINCOMING') echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|||||$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number||||$VDCL_timer_action_destination||||||\n|\n"; - if (ereg('X',$dialed_label)) + if (preg_match('/X/',$dialed_label)) { - if (ereg('LAST',$dialed_label)) + if (preg_match('/LAST/',$dialed_label)) { $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; } else { - $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $Talt_dial = preg_replace("/[^0-9]/","",$dialed_label); $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; } @@ -5126,7 +5553,7 @@ if ($ACTION == 'VDADcheckINCOMING') if (strlen($VDCL_timer_action_destination) < 1) {$VDCL_timer_action_destination = $row[14];} - if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) { $VDCL_ingroup_script = $row[0]; $script_recording_delay=0; @@ -5278,7 +5705,7 @@ if ($ACTION == 'VDADcheckINCOMING') $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00337',$user,$server_ip,$session_name,$one_mysql_log);} @@ -5368,7 +5795,7 @@ if ($ACTION == 'VDADcheckINCOMING') } if ($cffn_ct > 0) { - $custom_field_names_SQL = eregi_replace(".$","",$custom_field_names_SQL); + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); ### find the values of the named custom fields $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -5391,8 +5818,8 @@ if ($ACTION == 'VDADcheckINCOMING') } - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); $LeaD_InfO = $callerid . "\n"; $LeaD_InfO .= $lead_id . "\n"; @@ -5441,6 +5868,10 @@ if ($ACTION == 'VDADcheckINCOMING') $LeaD_InfO .= $custom_field_names . "\n"; $LeaD_InfO .= $custom_field_values . "\n"; $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; echo $LeaD_InfO; @@ -5489,7 +5920,7 @@ if ($ACTION == 'VDADcheckINCOMING') $CBstatus = $row[0]; } } - if ( ($CBstatus > 0) or (eregi("CALLBK|CBHOLD", $dispo)) ) + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) { $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; if ($format=='debug') {echo "\n";} @@ -5521,7 +5952,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### Issue Start Call URL if defined if (strlen($VDCL_start_call_url) > 7) { - if (eregi('--A--user_custom_',$VDCL_start_call_url)) + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) { $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} @@ -5539,76 +5970,77 @@ if ($ACTION == 'VDADcheckINCOMING') } } $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--lead_id--B--',urlencode(trim($lead_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_id--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--vendor_lead_code--B--',urlencode(trim($vendor_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--list_id--B--',urlencode(trim($list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gmt_offset_now--B--',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_code--B--',urlencode(trim($phone_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_number--B--',urlencode(trim($phone_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--title--B--',urlencode(trim($title)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--first_name--B--',urlencode(trim($first_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--middle_initial--B--',urlencode(trim($middle_initial)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--last_name--B--',urlencode(trim($last_name)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address1--B--',urlencode(trim($address1)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address2--B--',urlencode(trim($address2)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--address3--B--',urlencode(trim($address3)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--city--B--',urlencode(trim($city)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--state--B--',urlencode(trim($state)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--province--B--',urlencode(trim($province)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--postal_code--B--',urlencode(trim($postal_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--country_code--B--',urlencode(trim($country_code)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--gender--B--',urlencode(trim($gender)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--date_of_birth--B--',urlencode(trim($date_of_birth)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--alt_phone--B--',urlencode(trim($alt_phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--email--B--',urlencode(trim($email)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--security_phrase--B--',urlencode(trim($security_phrase)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--comments--B--',urlencode(trim($comments)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user--B--',urlencode(trim($user)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--pass--B--',urlencode(trim($pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--campaign--B--',urlencode(trim($campaign)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_login--B--',urlencode(trim($phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--original_phone_login--B--',urlencode(trim($original_phone_login)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone_pass--B--',urlencode(trim($phone_pass)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fronter--B--',urlencode(trim($fronter)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closer--B--',urlencode(trim($closer)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--channel_group--B--',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SQLdate--B--',urlencode(trim($SQLdate)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--epoch--B--',urlencode(trim($epoch)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--uniqueid--B--',urlencode(trim($uniqueid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_zap_channel--B--',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--customer_server_ip--B--',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--server_ip--B--',urlencode(trim($server_ip)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--SIPexten--B--',urlencode(trim($SIPexten)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--session_id--B--',urlencode(trim($session_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--phone--B--',urlencode(trim($phone)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--parked_by--B--',urlencode(trim($parked_by)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dispo--B--',urlencode(trim($dispo)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_number--B--',urlencode(trim($dialed_number)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--dialed_label--B--',urlencode(trim($dialed_label)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--source_id--B--',urlencode(trim($source_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--rank--B--',urlencode(trim($rank)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--owner--B--',urlencode(trim($owner)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--camp_script--B--',urlencode(trim($camp_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--in_script--B--',urlencode(trim($in_script)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--fullname--B--',urlencode(trim($fullname)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_one--B--',urlencode(trim($user_custom_one)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_two--B--',urlencode(trim($user_custom_two)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_three--B--',urlencode(trim($user_custom_three)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_four--B--',urlencode(trim($user_custom_four)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--user_custom_five--B--',urlencode(trim($user_custom_five)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--talk_time_min--B--',"0",$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--entry_list_id--B--',urlencode(trim($entry_list_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--agent_log_id--B--',urlencode(trim($agent_log_id)),$VDCL_start_call_url); - $VDCL_start_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); if (strlen($custom_field_names)>2) { @@ -5633,7 +6065,7 @@ if ($ACTION == 'VDADcheckINCOMING') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $VDCL_start_call_url = eregi_replace("$field_name_tag","$form_field_value",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); $o++; } } @@ -5647,7 +6079,7 @@ if ($ACTION == 'VDADcheckINCOMING') ### insert a new url log entry $SQL_log = "$VDCL_start_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -5667,7 +6099,7 @@ if ($ACTION == 'VDADcheckINCOMING') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -5686,7 +6118,7 @@ if ($ACTION == 'VDADcheckINCOMING') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ( ($enable_vtiger_integration > 0) and (ereg('callxfer',$VDCL_start_call_url)) and (ereg('contactwsid',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -5765,6 +6197,1644 @@ if ($ACTION == 'VDADcheckINCOMING') } } } +####################################################################################### +### XFERemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'XFERemail') + { + # xferemail_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=XFERemail&format=text&channel=" + redirectvalue + "&call_server_ip=" + redirectserverip + "&queryCID=" + queryCID + "&exten=" + redirectdestination + "&ext_context=" + ext_context + "&ext_priority=1&extrachannel=" + redirectXTRAvalue + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&phone_number=" + document.vicidial_form.phone_number.value + "&filename=" + taskdebugnote + "&campaign=" + XfeR_GrouP + "&session_id=" + session_id + "&agentchannel=" + agentchannel + "&protocol=" + protocol + "&extension=" + extension + "&auto_dial_level=" + auto_dial_level; + + $ins_stmt="INSERT INTO vicidial_xfer_log (lead_id,list_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$lead_id','$list_id','$campaign','$NOW_TIME','$phone_code','$phone_number','$user','EMAIL_XFER')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00485',$user,$server_ip,$session_name,$one_mysql_log);} + $xfercallid = mysql_insert_id($link); + echo mysql_affected_rows()."|$ins_stmt"; + + $upd_stmt="update vicidial_email_list set xfercallid='$xfercallid' where email_row_id='$email_row_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00486',$user,$server_ip,$session_name,$one_mysql_log);} + } + +####################################################################################### +### VDADcheckINCOMINGemail - for auto-dial VICIDiaL dialing this will check for emails +### in the vicidial_email_list table in NEW status, then +### lookup the lead info and pass it back to vicidial.php +### Also looks up transferred emails in vicidial_xfer_log +###################################################################################### +if ($ACTION == 'VDADcheckINCOMINGemail') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + $email_group_str=''; + + $email_group_ct=count($inbound_email_groups); # This should always be greater than zero for the script to reach this point, but just in case... + for ($i=0; $i<$email_group_ct; $i++) { + $email_group_str.="'$inbound_email_groups[$i]',"; + } + $email_group_str=substr($email_group_str, 0, -1); + # $DB=1; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "活動 $campaign 是無效的\n"; + exit; + } + else + { + ### Check for transfers + #$upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; + $stmt="select vicidial_email_list.lead_id, vicidial_email_list.email_date, vicidial_email_list.email_to, vicidial_email_list.email_from, vicidial_email_list.subject, vicidial_xfer_log.campaign_id, vicidial_email_list.email_row_id, vicidial_xfer_log.xfercallid from vicidial_email_list, vicidial_xfer_log where vicidial_email_list.status='QUEUE' and vicidial_email_list.user='$user' and vicidial_xfer_log.xfercallid=vicidial_email_list.xfercallid and direction='INBOUND' and vicidial_xfer_log.campaign_id in ($email_group_str) and closer='EMAIL_XFER' order by vicidial_xfer_log.call_date asc limit 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00487',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + $xferred_email=$email_ct; + + if ($email_ct==0) + { + # Check if there are any QUEUE calls + $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00488',$user,$server_ip,$session_name,$one_mysql_log);} + $email_ct = mysql_num_rows($rslt); + +# if ($email_ct==0) +# { +# $upd_stmt="update vicidial_email_list inner join(select email_row_id from vicidial_email_list inner join vicidial_inbound_groups on vicidial_inbound_groups.group_id=vicidial_email_list.group_id order by queue_priority desc, email_date asc limit 1) as selected_row on selected_row.email_row_id=vicidial_email_list.email_row_id set status='QUEUE', user='$user'"; +# if ($DB) {echo "$upd_stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + +# if (mysql_affected_rows()>0) +# { +# $stmt = "select lead_id, email_date, email_to, email_from, subject, group_id, email_row_id from vicidial_email_list where status='QUEUE' and direction='INBOUND' and user='$user' and group_id in ($email_group_str) order by email_date asc limit 1"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} +# $email_ct = mysql_num_rows($rslt); +# } +# } + } + + if ($email_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $email_date =$row[1]; + $email_to =$row[2]; + $email_from =$row[3]; + $subject =$row[4]; + $VDADchannel_group=$row[5]; + $email_row_id=$row[6]; + $xfercallid=$row[7]; + $uniqueid=date("U").".".rand(1, 9999); + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + # echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_date . '|' . $email_from . '|' . $subject . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + # Change to better suit the output processed by the agent interface + echo "1\n" . $lead_id . '|'.$uniqueid.'|' . $email_from . '|EMAIL|' . $email_row_id . '|' . $email_row_id . "|\n"; # VDIC_data_VDAC + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00489',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',comments='EMAIL',last_call_time='$NOW_TIME',lead_id='$lead_id',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00490',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00491',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today',last_call_time=NOW() WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$user' and group_id='$VDADchannel_group';"; + $rsltA=mysql_query($stmtA, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00492',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00493',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the email lead status to INCALL + # I moved user='$user' clause here because it is now getting added to the lead when the status becomes QUEUE + $stmt = "UPDATE vicidial_email_list set status='INCALL', uniqueid='$uniqueid' where lead_id='$lead_id' and email_row_id='$email_row_id' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00494',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if a transfer, update the transfer record with the user + if ($xferred_email==1) + { + $stmt = "UPDATE vicidial_xfer_log set closer='$user' where xfercallid='$xfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00495',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + /* Can't use this - $unique_id is gotten from querying the vicidial_live_agents from an inbound call. These are not calls. + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00333',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + */ + + ### gather user_group and full_name of agent + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00496',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + ### update the vicidial_closer_log user to INCALL + #$stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + $stmt="INSERT INTO vicidial_closer_log(call_date, start_epoch, user, comments, list_id, status, user_group, lead_id, campaign_id, processed, phone_code, phone_number, xfercallid, queue_position, uniqueid) values('".date("Y-m-d H:i:s")."', '".date("U")."', '$user', 'AUTO', '$list_id', 'INCALL', '$user_group', '$lead_id', '$VDADchannel_group', 'N', '$phone_code', '$phone_number', '0', '1', '$uniqueid');"; + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00497',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' and list_id='$list_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00498',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00499',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00500',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00501',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + } + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00502',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00503',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set last_inbound_call_time='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00504',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "SELECT campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00505',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + $VDCL_timer_action = $row[7]; + $VDCL_timer_action_message = $row[8]; + $VDCL_timer_action_seconds = $row[9]; + $VDCL_start_call_url = $row[10]; + $VDCL_dispo_call_url = $row[11]; + $VDCL_xferconf_c_number = $row[12]; + $VDCL_xferconf_d_number = $row[13]; + $VDCL_xferconf_e_number = $row[14]; + $VDCL_timer_action_destination = $row[15]; + } + + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00506',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "SELECT caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00507',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00509',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00510',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send on to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00511',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00512',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00513',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "SELECT wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00514',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00515',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00516',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00517',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00518',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00519',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$province\n"); + fclose($fp); + } + + ### Issue Start Call URL if defined + if (strlen($VDCL_start_call_url) > 7) + { + if (preg_match('/--A--user_custom_/i',$VDCL_start_call_url)) + { + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00520',$user,$server_ip,$session_name,$one_mysql_log);} + $VUC_ct = mysql_num_rows($rslt); + if ($VUC_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_custom_one = urlencode(trim($row[0])); + $user_custom_two = urlencode(trim($row[1])); + $user_custom_three = urlencode(trim($row[2])); + $user_custom_four = urlencode(trim($row[3])); + $user_custom_five = urlencode(trim($row[4])); + } + } + $VDCL_start_call_url = preg_replace('/^VAR/','',$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--lead_id--B--/i',urlencode(trim($lead_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--title--B--/i',urlencode(trim($title)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--first_name--B--/i',urlencode(trim($first_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--middle_initial--B--/i',urlencode(trim($middle_initial)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--last_name--B--/i',urlencode(trim($last_name)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address1--B--/i',urlencode(trim($address1)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address2--B--/i',urlencode(trim($address2)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--address3--B--/i',urlencode(trim($address3)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--city--B--/i',urlencode(trim($city)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--state--B--/i',urlencode(trim($state)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--province--B--/i',urlencode(trim($province)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--postal_code--B--/i',urlencode(trim($postal_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--country_code--B--/i',urlencode(trim($country_code)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--gender--B--/i',urlencode(trim($gender)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--date_of_birth--B--/i',urlencode(trim($date_of_birth)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--alt_phone--B--/i',urlencode(trim($alt_phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--email--B--/i',urlencode(trim($email)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--security_phrase--B--/i',urlencode(trim($security_phrase)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--comments--B--/i',urlencode(trim($comments)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user--B--/i',urlencode(trim($user)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--pass--B--/i',urlencode(trim($pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--campaign--B--/i',urlencode(trim($campaign)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_login--B--/i',urlencode(trim($phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--original_phone_login--B--/i',urlencode(trim($original_phone_login)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone_pass--B--/i',urlencode(trim($phone_pass)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fronter--B--/i',urlencode(trim($fronter)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closer--B--/i',urlencode(trim($closer)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--channel_group--B--/i',urlencode(trim($VDADchannel_group)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SQLdate--B--/i',urlencode(trim($SQLdate)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--epoch--B--/i',urlencode(trim($epoch)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--uniqueid--B--/i',urlencode(trim($uniqueid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_zap_channel--B--/i',urlencode(trim($customer_zap_channel)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--customer_server_ip--B--/i',urlencode(trim($customer_server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--server_ip--B--/i',urlencode(trim($server_ip)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--SIPexten--B--/i',urlencode(trim($SIPexten)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--session_id--B--/i',urlencode(trim($session_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--phone--B--/i',urlencode(trim($phone)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--parked_by--B--/i',urlencode(trim($parked_by)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dispo--B--/i',urlencode(trim($dispo)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_number--B--/i',urlencode(trim($dialed_number)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--dialed_label--B--/i',urlencode(trim($dialed_label)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--source_id--B--/i',urlencode(trim($source_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--rank--B--/i',urlencode(trim($rank)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--owner--B--/i',urlencode(trim($owner)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--camp_script--B--/i',urlencode(trim($camp_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--in_script--B--/i',urlencode(trim($in_script)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--fullname--B--/i',urlencode(trim($fullname)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_one--B--/i',urlencode(trim($user_custom_one)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_two--B--/i',urlencode(trim($user_custom_two)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_three--B--/i',urlencode(trim($user_custom_three)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_four--B--/i',urlencode(trim($user_custom_four)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_custom_five--B--/i',urlencode(trim($user_custom_five)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--talk_time_min--B--/i',"0",$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--entry_list_id--B--/i',urlencode(trim($entry_list_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--agent_log_id--B--/i',urlencode(trim($agent_log_id)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($callerid)),$VDCL_start_call_url); + $VDCL_start_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$VDCL_start_call_url); + + if (strlen($custom_field_names)>2) + { + $custom_field_names = preg_replace("/^\||\|$/",'',$custom_field_names); + $custom_field_names = preg_replace("/\|/",",",$custom_field_names); + $custom_field_names_ARY = explode(',',$custom_field_names); + $custom_field_names_ct = count($custom_field_names_ARY); + $custom_field_names_SQL = $custom_field_names; + + ##### BEGIN grab the data from custom table for the lead_id + $stmt="SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00521',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + $o=0; + while ($custom_field_names_ct > $o) + { + $form_field_value = urlencode(trim("$row[$o]")); + $field_name_id = $custom_field_names_ARY[$o]; + $field_name_tag = "--A--" . $field_name_id . "--B--"; + $VDCL_start_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$VDCL_start_call_url); + $o++; + } + } + } + + $stmt="UPDATE vicidial_log_extended set start_url_processed='Y' where uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00522',$user,$server_ip,$session_name,$one_mysql_log);} + $vle_update = mysql_affected_rows($link); + + ### insert a new url log entry + $SQL_log = "$VDCL_start_call_url"; + $SQL_log = preg_replace('/;/','',$SQL_log); + $SQL_log = addslashes($SQL_log); + # $upd_stmt="update vicidial_email_list set message='URL: $SQL_log' where lead_id='$lead_id'"; + # $upd_rslt=mysql_query($upd_stmt, $link); + + $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='start',url='$SQL_log',url_response='';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00523',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $url_id = mysql_insert_id($link); + + $URLstart_sec = date("U"); + + ### grab the call_start_url ### + if ($DB > 0) {echo "$VDCL_start_call_url
    \n";} + $SCUfile = file("$VDCL_start_call_url"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + + ### update url log entry + $URLend_sec = date("U"); + $URLdiff_sec = ($URLend_sec - $URLstart_sec); + $SCUfile_contents = implode("", $SCUfile); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); + $SCUfile_contents = addslashes($SCUfile_contents); + $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00524',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + ##### BEGIN special filtering and response for Vtiger account balance function ##### + # http://vtiger/vicidial/api.php?mode=callxfer&contactwsid=--A--vendor_lead_code--B--&minuteswarning=3 + $stmt = "SELECT enable_vtiger_integration FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00525',$user,$server_ip,$session_name,$one_mysql_log);} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + } + if ( ( ($enable_vtiger_integration > 0) and (preg_match('/callxfer/',$VDCL_start_call_url)) and (preg_match('/contactwsid/',$VDCL_start_call_url)) ) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $SCUoutput=''; + foreach ($SCUfile as $SCUline) + {$SCUoutput .= "$SCUline";} + # {"result":true,"durationLimit":3071} + if ( (strlen($SCUoutput) > 4) or (preg_match("/minuteswarning/",$VDCL_start_call_url)) ) + { + $minuteswarning=3; # default to 3 + if (preg_match("/minuteswarning/",$VDCL_start_call_url)) + { + $minuteswarningARY = explode('minuteswarning=',$VDCL_start_call_url); + $minuteswarning = preg_replace('/&.*/','',$minuteswarningARY[1]); + } + ### add this to the Start Call URL for callcard calls to be logged "&minuteswarning=1&callcard=1" + if (preg_match("/callcard=/",$VDCL_start_call_url)) + { + $stmt="SELECT balance_minutes_start FROM callcard_log where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00526',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $bms_ct = mysql_num_rows($rslt); + if ($bms_ct > 0) + { + $row=mysql_fetch_row($rslt); + $durationLimit = $row[0]; + + $stmt="UPDATE callcard_log set agent_time='$NOW_TIME',agent='$user' where uniqueid='$uniqueid' order by call_time desc LIMIT 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00527',$user,$server_ip,$session_name,$one_mysql_log);} + $ccl_update = mysql_affected_rows($link); + } + } + else + { + $SCUresponse = explode('durationLimit',$SCUoutput); + $durationLimit = preg_replace('/\D/','',$SCUresponse[1]); + } + if (strlen($durationLimit) < 1) {$durationLimit = 0;} + $durationLimitSECnext = ( ($minuteswarning + 0) * 60); + $durationLimitSEC = ( ( ($durationLimit + 0) - $minuteswarning) * 60); # minutes - 3 for 3-minute-warning + if ($durationLimitSEC < 5) {$durationLimitSEC = 5;} + if ( ($durationLimitSECnext < 30) or (strlen($durationLimitSECnext)<1) ) {$durationLimitSECnext = 30;} + + $timer_action_destination=''; + if (preg_match("/nextstep=/",$VDCL_start_call_url)) + { + $nextstepARY = explode('nextstep=',$VDCL_start_call_url); + $nextstep = preg_replace("/&.*/",'',$nextstepARY[1]); + $nextmessageARY = explode('nextmessage=',$VDCL_start_call_url); + $nextmessage = preg_replace("/&.*/",'',$nextmessageARY[1]); + $destinationARY = explode('destination=',$VDCL_start_call_url); + $destination = preg_replace("/&.*/",'',$destinationARY[1]); + $timer_action_destination = "nextstep---$nextstep--$durationLimitSECnext--$destination--$nextmessage--"; + } + + $stmt="UPDATE vicidial_live_agents set external_timer_action='D1_DIAL',external_timer_action_message='$minuteswarning minute warning for customer',external_timer_action_seconds='$durationLimitSEC',external_timer_action_destination='$timer_action_destination' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00528',$user,$server_ip,$session_name,$one_mysql_log);} + $vla_update_timer = mysql_affected_rows($link); + + $fp = fopen ("./call_url_log.txt", "a"); + fwrite ($fp, "$VDCL_start_call_url\n$SCUoutput\n$durationLimit|$durationLimitSEC|$vla_update_timer|$minuteswarning|$uniqueid|\n"); + fclose($fp); + } + } + ##### END special filtering and response for Vtiger account balance function ##### + } + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user on $server_ip\n"; + exit; + } + } + } + +################################################################################ +### LeaDSearcHSelecTUpdatE - for inbound lead search update select calls +### gathers lead information to send to agent screen +################################################################################ +if ($ACTION == 'LeaDSearcHSelecTUpdatE') + { + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + $INclosecallid=''; + $INxfercallid=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || ($lead_id<0) ) + { + $channel_live=0; + echo "0\n"; + echo "活動 $campaign 是無效的 or lead_id $lead_id 是無效的\n"; + exit; + } + else + { + ### grab the call info from the vicidial_live_agents table + $stmt = "SELECT uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00447',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid = $row[0]; + $callerid = $row[1]; + $channel = $row[2]; + $call_server_ip = $row[3]; + $VLAcomments = $row[4]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + $original_phone_number = $phone_number; + + ### update the agent lead_id to the new lead_id in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set lead_id='$lead_id' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00448',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + ### update the auto calls lead_id to the new lead_id in vicidial_auto_calls + $stmt = "UPDATE vicidial_auto_calls set lead_id='$lead_id' where callerid='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00449',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the previous lead_id(stage) entry in vicidial_list, set the status to LSMERG + $stmt = "UPDATE vicidial_list set status='LSMERG' where lead_id='$stage';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00450',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_grab_call_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_grab_call_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00451',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_log_extended lead_id to the new lead_id + $stmt = "UPDATE vicidial_log_extended set lead_id='$lead_id' where lead_id='$stage' and caller_code='$callerid' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00453',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the park_log lead_id to the new lead_id + $stmt = "UPDATE park_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00454',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00455',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + $rank = trim("$row[32]"); + $owner = trim("$row[33]"); + $entry_list_id = trim("$row[34]"); + if ($entry_list_id < 100) {$entry_list_id = $list_id;} + } + if ($qc_features_active > 0) + { + //Added by Poundteam for Audited 備註 + ##### if list has audited comments, grab the audited comments + require_once('audit_comments.php'); + $ACcount = ''; + $ACcomments = ''; + $audit_comments_active=audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + if ($audit_comments_active) + { + get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log); + } + $ACcomments = strip_tags(htmlentities($ACcomments)); + $ACcomments = preg_replace("/\r/i",'',$ACcomments); + $ACcomments = preg_replace("/\n/i",'!N',$ACcomments); + //END Added by Poundteam for Audited 備註 + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00456',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00457',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or ($dispo == 'CBHOLD') ) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00458',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + $stmt="SELECT owner_populate FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00459',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $camp_op_ct = mysql_num_rows($rslt); + if ($camp_op_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_populate = $row[0]; + } + $ownerSQL=''; + if ( ($owner_populate=='ENABLED') and ( (strlen($owner) < 1) or ($owner=='NULL') ) ) + { + $ownerSQL = ",owner='$user'"; + $owner=$user; + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' $ownerSQL where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00460',$user,$server_ip,$session_name,$one_mysql_log);} + + ### gather custom_call_id from vicidial_log_extended table + $custom_call_id=''; + $stmt="SELECT custom_call_id FROM vicidial_log_extended where uniqueid='$uniqueid';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00461',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vle_record_ct = mysql_num_rows($rslt); + if ($vle_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $custom_call_id = $row[0]; + } + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group,full_name FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00462',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + $fullname = $row[1]; + } + + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + $call_type = 'IN'; + $stmt = "SELECT campaign_id,closecallid,xfercallid from vicidial_closer_log where lead_id = '$stage' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00463',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group = $row[0]; + $INclosecallid = $row[1]; + $INxfercallid = $row[2]; + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|$dialed_number|$dialed_label|$INclosecallid|$INxfercallid|\n"); + fclose($fp); + } + + ### update the recording_log lead_id to the new lead_id + $stmt = "UPDATE recording_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and vicidial_id='$INclosecallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00464',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set lead_id='$lead_id' where lead_id='$stage' and user='$user' and uniqueid='$uniqueid' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00465',$user,$server_ip,$session_name,$one_mysql_log);} + + if (strlen($closecallid)<1) + { + $stmt = "SELECT closecallid,xfercallid from vicidial_closer_log where lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00466',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $INclosecallid = $row[0]; + $INxfercallid = $row[1]; + } + } + + ### update the vicidial_xfer_log lead_id to the new lead_id + $stmt = "UPDATE vicidial_xfer_log set lead_id='$lead_id' where lead_id='$stage' and closer='$user' and xfercallid='$INxfercallid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00452',$user,$server_ip,$session_name,$one_mysql_log);} + + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_inbound_groups vig WHERE group_id='$VDADchannel_group' and vs.script_id=vig.ingroup_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00467',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + + $stmt = "SELECT group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,uniqueid_status_display,uniqueid_status_prefix,timer_action_destination from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00468',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + $VDCL_group_web_two = stripslashes($row[14]); + $VDCL_timer_action = $row[15]; + $VDCL_timer_action_message = $row[16]; + $VDCL_timer_action_seconds = $row[17]; + $VDCL_start_call_url = $row[18]; + $VDCL_dispo_call_url = $row[19]; + $VDCL_xferconf_c_number = $row[20]; + $VDCL_xferconf_d_number = $row[21]; + $VDCL_xferconf_e_number = $row[22]; + $VDCL_uniqueid_status_display = $row[23]; + $VDCL_uniqueid_status_prefix = $row[24]; + $VDCL_timer_action_destination = $row[25]; + + $stmt = "SELECT campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,timer_action_destination from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00469',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + if (strlen($VDCL_timer_action) < 1) + {$VDCL_timer_action = $row[6];} + if (strlen($VDCL_timer_action_message) < 1) + {$VDCL_timer_action_message = $row[7];} + if (strlen($VDCL_timer_action_seconds) < 1) + {$VDCL_timer_action_seconds = $row[8];} + if (strlen($VDCL_start_call_url) < 1) + {$VDCL_start_call_url = $row[9];} + if (strlen($VDCL_dispo_call_url) < 1) + {$VDCL_dispo_call_url = $row[10];} + if (strlen($VDCL_xferconf_c_number) < 1) + {$VDCL_xferconf_c_number = $row[11];} + if (strlen($VDCL_xferconf_d_number) < 1) + {$VDCL_xferconf_d_number = $row[12];} + if (strlen($VDCL_xferconf_e_number) < 1) + {$VDCL_xferconf_e_number = $row[13];} + if (strlen($VDCL_timer_action_destination) < 1) + {$VDCL_timer_action_destination = $row[14];} + + if ( ( (preg_match('/NONE/',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + { + $VDCL_ingroup_script = $row[0]; + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_campaigns vc WHERE campaign_id='$campaign' and vs.script_id=vc.campaign_script and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00470',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $stmt = "SELECT group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00471',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "SELECT group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00472',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $Ctype = 'I'; + } + + ### Check for List ID override settings + if (strlen($list_id)>0) + { + $stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$VDCL_xferconf_a_number = $row[0];} + if (strlen($row[1]) > 0) + {$VDCL_xferconf_b_number = $row[1];} + if (strlen($row[2]) > 0) + {$VDCL_xferconf_c_number = $row[2];} + if (strlen($row[3]) > 0) + {$VDCL_xferconf_d_number = $row[3];} + if (strlen($row[4]) > 0) + {$VDCL_xferconf_e_number = $row[4];} + if (strlen($row[5]) > 5) + {$VDCL_group_web = $row[5];} + if (strlen($row[6]) > 5) + {$VDCL_group_web_two = $row[6];} + } + } + + $DID_id=''; + $DID_extension=''; + $DID_pattern=''; + $DID_description=''; + + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00474',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_id = $row[0]; + $DID_extension = $row[1]; + + $stmt = "SELECT did_pattern,did_description from vicidial_inbound_dids where did_id='$DID_id' limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00475',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIDL_ct = mysql_num_rows($rslt); + if ($VDIDL_ct > 0) + { + $row=mysql_fetch_row($rslt); + $DID_pattern = $row[0]; + $DID_description = $row[1]; + } + } + + ### if web form is set then send on to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|$VDCL_group_web_two|$VDCL_timer_action|$VDCL_timer_action_message|$VDCL_timer_action_seconds|$VDCL_xferconf_c_number|$VDCL_xferconf_d_number|$VDCL_xferconf_e_number|$VDCL_uniqueid_status_display|$custom_call_id|$VDCL_uniqueid_status_prefix|$VDCL_timer_action_destination|$DID_id|$DID_extension|$DID_pattern|$DID_description|$INclosecallid|$INxfercallid|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00476',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + + + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_lists WHERE list_id='$list_id' and agent_script_override!='' and agent_script_override IS NOT NULL and agent_script_override!='NONE';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00477',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vls_vc_ct = mysql_num_rows($rslt); + if ($vls_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $script_recording_delay=0; + ##### find if script contains recording fields + $stmt="SELECT count(*) FROM vicidial_scripts vs,vicidial_lists vls WHERE list_id='$list_id' and vs.script_id=vls.agent_script_override and script_text LIKE \"%--A--recording_%\";"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00478',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vs_vc_ct = mysql_num_rows($rslt); + if ($vs_vc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $script_recording_delay = $row[0]; + } + } + } + + $custom_field_names='|'; + $custom_field_names_SQL=''; + $custom_field_values='----------'; + $custom_field_types='|'; + ### find the names of all custom fields, if any + $stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('vendor_lead_code','source_id','list_id','gmt_offset_now','called_since_last_reset','phone_code','phone_number','title','first_name','middle_initial','last_name','address1','address2','address3','city','state','province','postal_code','country_code','gender','date_of_birth','alt_phone','email','security_phrase','comments','called_count','last_local_call_time','rank','owner');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00479',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffn_ct = mysql_num_rows($rslt); + $d=0; + while ($cffn_ct > $d) + { + $row=mysql_fetch_row($rslt); + $custom_field_names .= "$row[0]|"; + $custom_field_names_SQL .= "$row[0],"; + $custom_field_types .= "$row[1]|"; + $custom_field_values .= "----------"; + $d++; + } + if ($cffn_ct > 0) + { + $custom_field_names_SQL = preg_replace("/.$/i","",$custom_field_names_SQL); + ### find the values of the named custom fields + $stmt = "SELECT $custom_field_names_SQL FROM custom_$entry_list_id where lead_id='$lead_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00480',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cffv_ct = mysql_num_rows($rslt); + if ($cffv_ct > 0) + { + $custom_field_values='----------'; + $row=mysql_fetch_row($rslt); + $d=0; + while ($cffn_ct > $d) + { + $custom_field_values .= "$row[$d]----------"; + $d++; + } + $custom_field_values = preg_replace("/\n/"," ",$custom_field_values); + $custom_field_values = preg_replace("/\r/","",$custom_field_values); + } + } + + if (strlen($phone_number) < 3) + {$phone_number = $original_phone_number;} + else + { + if (strlen($alt_phone) < 3) + {$alt_phone = $original_phone_number;} + else + { + if (strlen($address3) < 3) + {$address3 = $original_phone_number;} + } + } + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + $LeaD_InfO .= $rank . "\n"; + $LeaD_InfO .= $owner . "\n"; + $LeaD_InfO .= $script_recording_delay . "\n"; + $LeaD_InfO .= $entry_list_id . "\n"; + $LeaD_InfO .= $custom_field_names . "\n"; + $LeaD_InfO .= $custom_field_values . "\n"; + $LeaD_InfO .= $custom_field_types . "\n"; + $LeaD_InfO .= $LISTweb_form_address . "\n"; + $LeaD_InfO .= $LISTweb_form_address_two . "\n"; + $LeaD_InfO .= $ACcount . "\n"; + $LeaD_InfO .= $ACcomments . "\n"; + + echo $LeaD_InfO; + + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00481',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If a scheduled callback, change vicidial_callback record to INACTIVE + $CBstatus = 0; + + $stmt="SELECT count(*) FROM vicidial_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00482',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + if ($CBstatus < 1) + { + $stmt="SELECT count(*) FROM vicidial_campaign_statuses where status='$dispo' and scheduled_callback='Y';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00483',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBstatus = $row[0]; + } + } + if ( ($CBstatus > 0) or (preg_match("/CALLBK|CBHOLD/i", $dispo)) ) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00484',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + echo "0\n"; + # echo "No leads to update for $user on $server_ip\n"; + exit; + } + } + } ################################################################################ @@ -5916,7 +7986,7 @@ if ($ACTION == 'userLOGout') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_message = 'LOGGED OUT'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -6016,7 +8086,7 @@ if ($ACTION == 'userLOGout') $i++; } - ### add the logged-in campaign as well + ### add the logged-在競選 as well $AMqueue[$i] = $campaign; $i++; $amq_conf_ct++; @@ -6069,7 +8139,7 @@ if ($ACTION == 'updateDISPO') } ### reset the API fields in vicidial_live_agents record - $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='',external_update_fields='0',external_update_fields_data='',external_timer_action_seconds='-1',external_dtmf='',external_transferconf='',external_park='',external_recording='',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6090,17 +8160,28 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00285',$user,$server_ip,$session_name,$one_mysql_log);} } - $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + //Added by Poundteam Incorporated for Audit 備註 Package + require_once('audit_comments.php'); + audit_comments($lead_id,$list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log,$campaign); + + // JOEJ - 電郵 feature - may not be necessary if vicidial_email_list doesn't need a status column. + if ($email_enabled>0) { + $stmt="UPDATE vicidial_email_list set status='$dispo_choice', user='$user' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + } + # $fp = fopen ("./vicidial_debug.txt", "a"); # fwrite ($fp, "$NOW_TIME|DISPO_CALL |$MDnextCID|$stage|$campaign|$lead_id|$dispo_choice|$user|$uniqueid|$auto_dial_level|$agent_log_id|\n"); # fclose($fp); $log_dispo_choice = $dispo_choice; - if (strlen($CallBackLead狀態) > 0) {$log_dispo_choice = $CallBackLead狀態;} + if (strlen($CallBackLeadStatus) > 0) {$log_dispo_choice = $CallBackLeadStatus;} $stmt = "SELECT count(*) from vicidial_inbound_groups where group_id='$stage';"; if ($format=='debug') {echo "\n";} @@ -6139,14 +8220,14 @@ if ($ACTION == 'updateDISPO') if ( ($auto_dial_level < 1) or (preg_match('/^M/',$MDnextCID)) ) { - $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\";"; + $stmt = "SELECT count(*) from vicidial_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00213',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); if ($row[0] > 0) { - $stmt="UPDATE vicidial_log set status='$log_dispo_choice' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by uniqueid desc limit 1;"; + $stmt="UPDATE vicidial_log set status='$log_dispo_choice',user='$user' where lead_id='$lead_id' and call_date > \"$four_hours_ago\" and ( (user='$user') or ( (comments='MANUAL') and status IN('AB','ADC','ADCT') ) ) order by uniqueid desc limit 1;"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} @@ -6272,7 +8353,7 @@ if ($ACTION == 'updateDISPO') } ### find all DNC-type statuses in the system - if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') ) + if ( ($use_internal_dnc=='Y') or ($use_campaign_dnc=='Y') or ($use_internal_dnc=='AREACODE') or ($use_campaign_dnc=='AREACODE') ) { $DNC_string_check = '|'; $stmt = "SELECT status FROM vicidial_statuses where dnc='Y';"; @@ -6305,7 +8386,7 @@ if ($ACTION == 'updateDISPO') } $insert_into_dnc=0; - if ( ($use_internal_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_internal_dnc=='Y') or ($use_internal_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} @@ -6318,14 +8399,22 @@ if ($ACTION == 'updateDISPO') if ($DB) {echo "$stmt\n";} $insert_into_dnc++; } - if ( ($use_campaign_dnc=='Y') and (eregi("\|$log_dispo_choice\|", $DNC_string_check) ) ) + if ( ( ($use_campaign_dnc=='Y') or ($use_campaign_dnc=='AREACODE') ) and (preg_match("/\|$log_dispo_choice\|/i", $DNC_string_check) ) ) { + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00446',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + $stmt = "SELECT phone_number from vicidial_list where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); - $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $stmt="INSERT IGNORE INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$temp_campaign_id');"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6346,13 +8435,13 @@ if ($ACTION == 'updateDISPO') { $row=mysql_fetch_row($rslt); $agent_log_id = $row[6]; - if ( (eregi("NULL",$row[2])) or ($row[2] < 1000) ) + if ( (preg_match("/NULL/i",$row[2])) or ($row[2] < 1000) ) { $row[2]=$StarTtime; $wait_sec=($row[2] - $row[3]); $dispo_epochSQL = ",talk_epoch='$row[2]',wait_sec='$wait_sec'"; } - if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + if ( (preg_match("/NULL/i",$row[0])) or ($row[0] < 1000) ) { $dispo_epochSQL .= ",dispo_epoch='$StarTtime'"; $row[0]=$row[2]; @@ -6360,11 +8449,11 @@ if ($ACTION == 'updateDISPO') $dispo_sec = (($StarTtime - $row[0]) + $row[1]); if ( (preg_match('/^M/',$MDnextCID)) and (preg_match('/INBOUND_MAN/',$dial_method)) ) { - if ( (eregi("NULL",$row[5])) or (strlen($row[5]) < 1) ) + if ( (preg_match("/NULL/i",$row[5])) or (strlen($row[5]) < 1) ) { $lead_id_commentsSQL .= ",comments='MANUAL'"; } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1) or (strlen($row[4]) < 1) ) { $lead_id_commentsSQL .= ",lead_id='$lead_id'"; } @@ -6412,20 +8501,20 @@ if ($ACTION == 'updateDISPO') $VLAaffected_rows_update = mysql_affected_rows($link); } - ### 撥號BACK ENTRY + ### 回調 ENTRY if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) { - $comments = eregi_replace('"','',$comments); - $comments = eregi_replace("'",'',$comments); - $comments = eregi_replace(';','',$comments); - $comments = eregi_replace("\\\\",' ',$comments); - $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLead狀態');"; + $comments = preg_replace('/"/i','',$comments); + $comments = preg_replace("/'/i",'',$comments); + $comments = preg_replace('/;/i','',$comments); + $comments = preg_replace("/\\\\/i",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group,lead_status) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group','$CallBackLeadStatus');"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} } - ### BEGIN Call 注意 Logging ### + ### BEGIN Call Notes Logging ### if (strlen($call_notes) > 1) { $VDADchannel_group=$campaign; @@ -6451,9 +8540,9 @@ if ($ACTION == 'updateDISPO') $affected_rows = mysql_affected_rows($link); $notesid = mysql_insert_id($link); } - ### END Call 注意 Logging ### + ### END Call Notes Logging ### - $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial from vicidial_campaigns where campaign_id='$campaign';"; + $stmt="SELECT auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc,api_manual_dial,use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -6461,8 +8550,9 @@ if ($ACTION == 'updateDISPO') $use_internal_dnc = $row[1]; $use_campaign_dnc = $row[2]; $api_manual_dial = $row[3]; + $use_other_campaign_dnc = $row[4]; - if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$VC_auto_alt_dial_statuses)) ) + if ( ($auto_dial_level > 0) and (preg_match("/\s$dispo_choice\s/",$VC_auto_alt_dial_statuses)) ) { $stmt = "SELECT count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; if ($DB) {echo "$stmt\n";} @@ -6487,9 +8577,9 @@ if ($ACTION == 'updateDISPO') $vh_phone = $row[0]; } - if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) ) + if ( (preg_match("/Y/",$use_internal_dnc)) or (preg_match("/AREACODE/",$use_internal_dnc)) ) { - if (ereg("AREACODE",$use_internal_dnc)) + if (preg_match("/AREACODE/",$use_internal_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; @@ -6508,16 +8598,18 @@ if ($ACTION == 'updateDISPO') } } - if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) ) + if ( (preg_match("/Y/",$use_campaign_dnc)) or (preg_match("/AREACODE/",$use_campaign_dnc)) ) { - if (ereg("AREACODE",$use_campaign_dnc)) + $temp_campaign_id = $campaign; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if (preg_match("/AREACODE/",$use_campaign_dnc)) { $vhp_phone_areacode = substr($vh_phone, 0, 3); $vhp_phone_areacode .= "XXXXXXX"; - $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';"; + $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";} + {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$temp_campaign_id';";} $rslt=mysql_query($stmtA, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00269',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6531,7 +8623,7 @@ if ($ACTION == 'updateDISPO') if ( ($UD_DNC_campaign > 0) or ($UD_DNC_internal > 0) ) { - if ( ( (ereg(" DNCC ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (ereg(" DNCL ",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) + if ( ( (preg_match("/\sDNCC\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_campaign > 0) ) or ( (preg_match("/\sDNCL\s/",$VC_auto_alt_dial_statuses)) and ($UD_DNC_internal > 0) ) ) { $stmt="UPDATE vicidial_hopper set status='DNC' where lead_id='$lead_id' and status='HOLD' limit 1;"; if ($format=='debug') {echo "\n";} @@ -6594,7 +8686,7 @@ if ($ACTION == 'updateDISPO') $vtiger_search_dead = $row[3]; $vtiger_status_call = $row[4]; } - if ( (ereg('ACCTID',$vtiger_search_category)) or (ereg('ACCOUNT',$vtiger_search_category)) ) + if ( (preg_match('/ACCTID/',$vtiger_search_category)) or (preg_match('/ACCOUNT/',$vtiger_search_category)) ) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -6647,7 +8739,7 @@ if ($ACTION == 'updateDISPO') if ($VIDcount > 0) { ### create a call record in vtiger linked to the account - if (ereg('DISPO',$vtiger_create_call_record)) + if (preg_match('/DISPO/',$vtiger_create_call_record)) { $TODAY = date("Y-m-d"); $HHMMnow = date("H:i"); @@ -6758,7 +8850,7 @@ if ($ACTION == 'updateDISPO') } } ### update the status of the record in vtiger - if (ereg('Y',$vtiger_status_call)) + if (preg_match('/Y/',$vtiger_status_call)) { #Get logged in user ID $stmt="SELECT id from vtiger_users where user_name='$user';"; @@ -6845,9 +8937,9 @@ if ($ACTION == 'updateDISPO') $VT_last_noncontact_update=0; $VT_last_noncontact_ct=0; $VT_last_contact_update=0; $VT_last_contact_ct=0; $VT_last_sale_update=0; $VT_last_sale_ct=0; - if (eregi("\|$dispo_choice\|", $SALE_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $SALE_string_check) ) {$VT_last_sale_update++;} - if (eregi("\|$dispo_choice\|", $CC_string_check) ) + if (preg_match("/\|$dispo_choice\|/i", $CC_string_check) ) {$VT_last_contact_update++;} else {$VT_last_noncontact_update++;} @@ -6953,7 +9045,7 @@ if ($ACTION == 'updateDISPO') ############################################# ##### START QUEUEMETRICS LOGGING LOOKUP ##### - $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append FROM system_settings;"; + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_callstatus,queuemetrics_dispo_pause,queuemetrics_pe_phone_append,queuemetrics_socket,queuemetrics_socket_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -6970,6 +9062,8 @@ if ($ACTION == 'updateDISPO') $queuemetrics_callstatus = $row[6]; $queuemetrics_dispo_pause = $row[7]; $queuemetrics_pe_phone_append = $row[8]; + $queuemetrics_socket = $row[9]; + $queuemetrics_socket_url = $row[10]; } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### @@ -7061,6 +9155,18 @@ if ($ACTION == 'updateDISPO') $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00413',$user,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); + + if ( ($queuemetrics_socket == 'CONNECT_COMPLETE') and (strlen($queuemetrics_socket_url) > 10) ) + { + $socket_send_data_begin='?'; + $socket_send_data = "time_id=$QLcomplete_time&call_id=$MDnextCID&queue=$stage&agent=Agent/$user&verb=COMPLETEAGENT&data1=$QLconnect_one&data2=$QLcomplete_length&data3=$QLcomplete_position&data4=$QLconnect_four"; + if (preg_match("/\?/",$queuemetrics_socket_url)) + {$socket_send_data_begin='&';} + ### send queue_log data to the queuemetrics_socket_url ### + if ($DB > 0) {echo "$queuemetrics_socket_url$socket_send_data_begin$socket_send_data
    \n";} + $SCUfile = file("$queuemetrics_socket_url$socket_send_data_begin$socket_send_data"); + if ($DB > 0) {echo "$SCUfile[0]
    \n";} + } } mysql_close($linkB); @@ -7074,9 +9180,9 @@ if ($ACTION == 'updateDISPO') $talk_time=0; $talk_time_ms=0; $talk_time_min=0; - if ( (eregi('--A--user_custom_',$dispo_call_url)) or (eregi('--A--fullname',$dispo_call_url)) ) + if ( (preg_match('/--A--user_custom_/i',$dispo_call_url)) or (preg_match('/--A--fullname/i',$dispo_call_url)) or (preg_match('/--A--user_group/i',$dispo_call_url)) ) { - $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name from vicidial_users where user='$user';"; + $stmt = "SELECT custom_one,custom_two,custom_three,custom_four,custom_five,full_name,user_group from vicidial_users where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00288',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7090,10 +9196,11 @@ if ($ACTION == 'updateDISPO') $user_custom_four = urlencode(trim($row[3])); $user_custom_five = urlencode(trim($row[4])); $fullname = urlencode(trim($row[5])); + $user_group = urlencode(trim($row[6])); } } - if (eregi('--A--talk_time',$dispo_call_url)) + if (preg_match('/--A--talk_time/i',$dispo_call_url)) { $stmt = "SELECT talk_sec,dead_sec from vicidial_agent_log where lead_id='$lead_id' and agent_log_id='$CALL_agent_log_id';"; if ($DB) {echo "$stmt\n";} @@ -7119,7 +9226,7 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--dispo_name--B--',$dispo_call_url)) + if (preg_match('/--A--dispo_name--B--/i',$dispo_call_url)) { ### find the full status name for this status $stmt = "SELECT status_name from vicidial_statuses where status='$dispo_choice';"; @@ -7149,8 +9256,15 @@ if ($ACTION == 'updateDISPO') } $dispo_name = urlencode(trim($status_name)); + if (preg_match('/--A--call_notes/i',$dispo_call_url)) + { + if (strlen($call_notes) > 1) + {$url_call_notes = urlencode(trim($call_notes));} + else + {$url_call_notes = urlencode(" ");} + } - if (eregi('--A--dialed_',$dispo_call_url)) + if (preg_match('/--A--dialed_/i',$dispo_call_url)) { $dialed_number = $phone_number; $dialed_label = 'NONE'; @@ -7172,14 +9286,14 @@ if ($ACTION == 'updateDISPO') } } - if (eregi('--A--did_',$dispo_call_url)) + if (preg_match('/--A--did_/i',$dispo_call_url)) { $DID_id=''; $DID_extension=''; $DID_pattern=''; $DID_description=''; - $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' order by call_date desc limit 1;"; + $stmt = "SELECT did_id,extension from vicidial_did_log where uniqueid='$uniqueid' and caller_id_number='$phone_number' order by call_date desc limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00346',$user,$server_ip,$session_name,$one_mysql_log);} @@ -7204,7 +9318,7 @@ if ($ACTION == 'updateDISPO') } } - if ((eregi('callid--B--',$dispo_call_url)) or (eregi('group--B--',$dispo_call_url))) + if ((preg_match('/callid--B--/i',$dispo_call_url)) or (preg_match('/group--B--/i',$dispo_call_url))) { $INclosecallid=''; $INxfercallid=''; @@ -7266,78 +9380,80 @@ if ($ACTION == 'updateDISPO') } $dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url); - $dispo_call_url = eregi_replace('--A--lead_id--B--',"$lead_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_id--B--',"$vendor_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--list_id--B--',"$list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_code--B--',"$phone_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_number--B--',"$phone_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--title--B--',"$title",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--first_name--B--',"$first_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--middle_initial--B--',"$middle_initial",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--last_name--B--',"$last_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address1--B--',"$address1",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address2--B--',"$address2",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--address3--B--',"$address3",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--city--B--',"$city",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--state--B--',"$state",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--province--B--',"$province",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--postal_code--B--',"$postal_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--country_code--B--',"$country_code",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--gender--B--',"$gender",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--alt_phone--B--',"$alt_phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--email--B--',"$email",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--security_phrase--B--',"$security_phrase",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--comments--B--',"$comments",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--pass--B--',"$pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--campaign--B--',"$campaign",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_login--B--',"$phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone_pass--B--',"$phone_pass",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fronter--B--',"$fronter",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closer--B--',"$user",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--channel_group--B--',"$VDADchannel_group",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SQLdate--B--',"$SQLdate",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--epoch--B--',"$epoch",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--uniqueid--B--',"$uniqueid",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--server_ip--B--',"$server_ip",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--SIPexten--B--',"$SIPexten",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--session_id--B--',"$session_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--phone--B--',"$phone",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--parked_by--B--',"$parked_by",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo--B--',"$dispo",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dispo_name--B--',"$dispo_name",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_number--B--',"$dialed_number",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--dialed_label--B--',"$dialed_label",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--source_id--B--',"$source_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--rank--B--',"$rank",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--owner--B--',"$owner",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--camp_script--B--',"$camp_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--in_script--B--',"$in_script",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--fullname--B--',"$fullname",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time--B--',"$talk_time",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_ms--B--',"$talk_time_ms",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--talk_time_min--B--',"$talk_time_min",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--agent_log_id--B--',"$CALL_agent_log_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_id--B--',urlencode(trim($DID_id)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_extension--B--',urlencode(trim($DID_extension)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_pattern--B--',urlencode(trim($DID_pattern)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--did_description--B--',urlencode(trim($DID_description)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--closecallid--B--',urlencode(trim($INclosecallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--xfercallid--B--',urlencode(trim($INxfercallid)),$dispo_call_url); - $dispo_call_url = eregi_replace('--A--call_id--B--',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--title--B--/i',"$title",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--first_name--B--/i',"$first_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--last_name--B--/i',"$last_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address1--B--/i',"$address1",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address2--B--/i',"$address2",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--address3--B--/i',"$address3",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--city--B--/i',"$city",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--state--B--/i',"$state",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--province--B--/i',"$province",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--postal_code--B--/i',"$postal_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--country_code--B--/i',"$country_code",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--gender--B--/i',"$gender",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--email--B--/i',"$email",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--comments--B--/i',"$comments",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--pass--B--/i',"$pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--campaign--B--/i',"$campaign",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_login--B--/i',"$phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fronter--B--/i',"$fronter",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closer--B--/i',"$user",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--channel_group--B--/i',"$VDADchannel_group",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--epoch--B--/i',"$epoch",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--server_ip--B--/i',"$server_ip",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--session_id--B--/i',"$session_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--phone--B--/i',"$phone",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--parked_by--B--/i',"$parked_by",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo--B--/i',"$dispo",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dispo_name--B--/i',"$dispo_name",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--source_id--B--/i',"$source_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--rank--B--/i',"$rank",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--owner--B--/i',"$owner",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--camp_script--B--/i',"$camp_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--in_script--B--/i',"$in_script",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--fullname--B--/i',"$fullname",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time--B--/i',"$talk_time",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_ms--B--/i',"$talk_time_ms",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--talk_time_min--B--/i',"$talk_time_min",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--agent_log_id--B--/i',"$CALL_agent_log_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_id--B--/i',urlencode(trim($DID_id)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_extension--B--/i',urlencode(trim($DID_extension)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_pattern--B--/i',urlencode(trim($DID_pattern)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--did_description--B--/i',urlencode(trim($DID_description)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--closecallid--B--/i',urlencode(trim($INclosecallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--xfercallid--B--/i',urlencode(trim($INxfercallid)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_id--B--/i',urlencode(trim($MDnextCID)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--user_group--B--/i',urlencode(trim($user_group)),$dispo_call_url); + $dispo_call_url = preg_replace('/--A--call_notes--B--/i',"$url_call_notes",$dispo_call_url); if (strlen($FORMcustom_field_names)>2) { @@ -7362,7 +9478,7 @@ if ($ACTION == 'updateDISPO') $form_field_value = urlencode(trim("$row[$o]")); $field_name_id = $custom_field_names_ARY[$o]; $field_name_tag = "--A--" . $field_name_id . "--B--"; - $dispo_call_url = eregi_replace("$field_name_tag","$form_field_value",$dispo_call_url); + $dispo_call_url = preg_replace("/$field_name_tag/i","$form_field_value",$dispo_call_url); $o++; } } @@ -7376,7 +9492,7 @@ if ($ACTION == 'updateDISPO') ### insert a new url log entry $SQL_log = "$dispo_call_url"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt = "INSERT INTO vicidial_url_log SET uniqueid='$uniqueid',url_date='$NOW_TIME',url_type='dispo',url='$SQL_log',url_response='';"; if ($DB) {echo "$stmt\n";} @@ -7396,7 +9512,7 @@ if ($ACTION == 'updateDISPO') $URLend_sec = date("U"); $URLdiff_sec = ($URLend_sec - $URLstart_sec); $SCUfile_contents = implode("", $SCUfile); - $SCUfile_contents = ereg_replace(';','',$SCUfile_contents); + $SCUfile_contents = preg_replace('/;/','',$SCUfile_contents); $SCUfile_contents = addslashes($SCUfile_contents); $stmt = "UPDATE vicidial_url_log SET response_sec='$URLdiff_sec',url_response='$SCUfile_contents' where url_log_id='$url_id';"; if ($DB) {echo "$stmt\n";} @@ -7414,7 +9530,7 @@ if ($ACTION == 'updateDISPO') $row=mysql_fetch_row($rslt); $enable_vtiger_integration = $row[0]; } - if ( ($enable_vtiger_integration > 0) and (ereg('mode=callend',$dispo_call_url)) and (ereg('contactwsid',$dispo_call_url)) ) + if ( ($enable_vtiger_integration > 0) and (preg_match('/mode=callend/',$dispo_call_url)) and (preg_match('/contactwsid/',$dispo_call_url)) ) { $SCUoutput=''; foreach ($SCUfile as $SCUline) @@ -7511,7 +9627,7 @@ if ($ACTION == 'updateDISPO') # debug testing sleep # sleep(5); - echo 'Lead ' . $lead_id . ' 已被修改為 ' . $dispo_choice . " 狀態\nNext agent_log_id:\n" . $agent_log_id . "\n"; + echo 'Lead ' . $lead_id . ' 已被修改為 ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; } ################################################################################ @@ -7544,14 +9660,14 @@ if ($ACTION == 'updateLEAD') $disable_alter_custphone = $row[1]; $i++; } - if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custdata)) or (preg_match('/Y/',$disable_alter_custphone)) ) { - if (ereg('Y',$disable_alter_custdata)) + if (preg_match('/Y/',$disable_alter_custdata)) { $DO_NOT_UPDATE=1; $DO_NOT_UPDATE_text=' NOT'; } - if (ereg('Y',$disable_alter_custphone)) + if (preg_match('/Y/',$disable_alter_custphone)) { $DO_NOT_UPDATEphone=1; } @@ -7568,12 +9684,12 @@ if ($ACTION == 'updateLEAD') $alter_custphone_override = $row[1]; $i++; } - if (ereg('ALLOW_ALTER',$alter_custdata_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custdata_override)) { $DO_NOT_UPDATE=0; $DO_NOT_UPDATE_text=''; } - if (ereg('ALLOW_ALTER',$alter_custphone_override)) + if (preg_match('/ALLOW_ALTER/',$alter_custphone_override)) { $DO_NOT_UPDATEphone=0; } @@ -7581,11 +9697,11 @@ if ($ACTION == 'updateLEAD') if ($DO_NOT_UPDATE < 1) { - $comments = eregi_replace("\r",'',$comments); - $comments = eregi_replace("\n",'!N',$comments); - $comments = eregi_replace("--AMP--",'&',$comments); - $comments = eregi_replace("--QUES--",'?',$comments); - $comments = eregi_replace("--POUND--",'#',$comments); + $comments = preg_replace("/\r/i",'',$comments); + $comments = preg_replace("/\n/i",'!N',$comments); + $comments = preg_replace("/--AMP--/i",'&',$comments); + $comments = preg_replace("/--QUES--/i",'?',$comments); + $comments = preg_replace("/--POUND--/i",'#',$comments); $phoneSQL=''; if ($DO_NOT_UPDATEphone < 1) @@ -7698,8 +9814,8 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) ########################################### if ($enable_queuemetrics_logging > 0) { - if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} - if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + if ( (preg_match('/READY/',$stage)) or (preg_match('/CLOSER/',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (preg_match('/PAUSE/',$stage)) {$QMstatus='PAUSEALL';} $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); mysql_select_db("$queuemetrics_dbname", $linkB); @@ -7755,7 +9871,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) { $wait_sec = (($StarTtime - $row[2]) + $row[3]); } - if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + if ( (preg_match("/NULL/i",$row[4])) or ($row[4] < 1000) ) {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} else {$pause_sec = (($row[4] - $row[0]) + $row[1]);} @@ -7763,7 +9879,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADready') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7773,7 +9889,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) } if ($ACTION == 'VDADpause') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} @@ -7786,7 +9902,7 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) if ($wrapup == 'WRAPUP') { - if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + if ( (preg_match("/NULL/i",$dispo_epoch)) or ($dispo_epoch < 1000) ) { $stmt="UPDATE vicidial_agent_log set dispo_epoch='$StarTtime', dispo_sec='0' where agent_log_id='$agent_log_id';"; } @@ -7975,7 +10091,7 @@ if ($ACTION == 'PauseCodeSubmit') } ##### END QUEUEMETRICS LOGGING LOOKUP ##### ########################################### - if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'BK-'; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); @@ -8020,8 +10136,8 @@ if ($ACTION == 'AGENTSview') if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00226',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $agent_status_viewable_groups = $row[0]; - $agent_status_viewable_groupsSQL = eregi_replace(' ','',$agent_status_viewable_groups); - $agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL); + $agent_status_viewable_groupsSQL = preg_replace('/\s\s/i','',$agent_status_viewable_groups); + $agent_status_viewable_groupsSQL = preg_replace('/\s/i',"','",$agent_status_viewable_groupsSQL); $agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')"; $agent_status_view = 0; if (strlen($agent_status_viewable_groups) > 2) @@ -8030,13 +10146,13 @@ if ($ACTION == 'AGENTSview') if ($row[1] == 'Y') {$agent_status_view_time=1;} $andSQL=''; - if (ereg("ALL-GROUPS",$agent_status_viewable_groups)) + if (preg_match("/ALL-GROUPS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "";} else { $AGENTviewSQL = "($agent_status_viewable_groupsSQL)"; - if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/CAMPAIGN-AGENTS/",$agent_status_viewable_groups)) {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} $AGENTviewSQL = "and $AGENTviewSQL"; } @@ -8097,7 +10213,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuser次序[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = $call_time; @@ -8115,11 +10231,11 @@ if ($ACTION == 'AGENTSview') } $loop_count++; } - $agentviewlistSQL = eregi_replace(".$","",$agentviewlistSQL); + $agentviewlistSQL = preg_replace("/.$/i","",$agentviewlistSQL); if (strlen($agentviewlistSQL)<3) {$agentviewlistSQL = "''";} - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) { $stmt="SELECT user,full_name from vicidial_users where user NOT IN($agentviewlistSQL) order by full_name;"; $rslt=mysql_query($stmt, $link); @@ -8134,7 +10250,7 @@ if ($ACTION == 'AGENTSview') if ($comments=='AgentXferViewSelect') { - $AXVSuser次序[$j] = "$full_name$US$j"; + $AXVSuserORDER[$j] = "$full_name$US$j"; $AXVSuser[$j] = $user; $AXVSfull_name[$j] = $full_name; $AXVScall_time[$j] = '0:00'; @@ -8171,10 +10287,10 @@ if ($ACTION == 'AGENTSview') $AXVSrecords = round($AXVSrecords, 0); $m=0; - sort($AXVSuser次序); + sort($AXVSuserORDER); while ($j > $k) { - $order_split = explode("_",$AXVSuser次序[$k]); + $order_split = explode("_",$AXVSuserORDER[$k]); $i = $order_split[1]; echo "
      $AXVSuser[$i] - $AXVSfull_name[$i] 

    \n"; echo "    -準備就緒      -門店      -暫停  \n"; - if (ereg("NOT-LOGGED-IN-AGENTS",$agent_status_viewable_groups)) + if (preg_match("/NOT-LOGGED-IN-AGENTS/",$agent_status_viewable_groups)) {echo "    -LOGGED-OUT  \n";} echo "\n"; @@ -8216,14 +10332,14 @@ if ($ACTION == 'CALLSINQUEUEview') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if (eregi('NONE',$view_calls_in_queue)) + if (preg_match('/NONE/i',$view_calls_in_queue)) { echo "呼籲隊列查看停用此活動\n"; exit; } else { - $view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue); + $view_calls_in_queue = preg_replace('/ALL/','99', $view_calls_in_queue); ### grab the status and campaign/in-group information for this agent to display $ADsql=''; @@ -8235,11 +10351,11 @@ if ($ACTION == 'CALLSINQUEUEview') $Alogin=$row[0]; $Acampaign=$row[1]; $AccampSQL=$row[2]; - $AccampSQL = ereg_replace(' -','', $AccampSQL); - $AccampSQL = ereg_replace(' ',"','", $AccampSQL); - if (eregi('AGENTDIRECT', $AccampSQL)) + $AccampSQL = preg_replace('/\s-/','', $AccampSQL); + $AccampSQL = preg_replace('/\s/',"','", $AccampSQL); + if (preg_match('/AGENTDIRECT/i', $AccampSQL)) { - $AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL); + $AccampSQL = preg_replace('/AGENTDIRECT/','', $AccampSQL); $ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )"; } @@ -8268,7 +10384,7 @@ if ($ACTION == 'CALLSINQUEUEview') $o=0; while ($calls_count > $loop_count) { - if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8284,7 +10400,7 @@ if ($ACTION == 'CALLSINQUEUEview') $loop_count=0; while ($calls_count > $loop_count) { - if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count])) + if (!preg_match('/AGENTDIRECT/i', $CQcampaign_id[$loop_count])) { $OQlead_id[$o] = $CQlead_id[$loop_count]; $OQcampaign_id[$o] = $CQcampaign_id[$loop_count]; @@ -8301,13 +10417,13 @@ if ($ACTION == 'CALLSINQUEUEview') echo ""; echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; ### Print call information and gather more info on the calls as they are printed @@ -8359,10 +10475,10 @@ if ($ACTION == 'CALLSINQUEUEview') {$caller_name = $comments;} if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);} - if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} + if (preg_match("/0$|2$|4$|6$|8$/i", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';} else{$Qcolor='bgcolor="#ECECEC"';} - if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) + if ( (preg_match('/Y/i',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') ) { echo ""; echo ""; @@ -8420,23 +10536,23 @@ if ($ACTION == 'CALLLOGview') if ($NOW_DATE != $date) {echo " $next_day_date >     ";} echo " "; - echo "GO       "; - echo "close"; + echo "       "; + echo " 關閉"; echo "\n"; echo "
    \n"; echo "
        PHONE     NAME     WAIT     AGENT     電話     全名     等待     代理人           撥號 GROUP     TYPE     呼叫組     類型  
    TAKE 撥號  
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8519,7 +10635,7 @@ if ($ACTION == 'CALLLOGview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8539,8 +10655,11 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} echo "\n"; } @@ -8572,13 +10691,13 @@ if ($ACTION == 'SEARCHRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $lead_id=ereg_replace("[^0-9]","",$lead_id); - $vendor_lead_code = ereg_replace("'|\"|\\\\|;","",$vendor_lead_code); - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $city = ereg_replace("'|\"|\\\\|;","",$city); - $state = ereg_replace("'|\"|\\\\|;","",$state); - $postal_code = ereg_replace("'|\"|\\\\|;","",$postal_code); + $lead_id=preg_replace("/[^0-9]/","",$lead_id); + $vendor_lead_code = preg_replace("/\'|\"|\\\\|;/","",$vendor_lead_code); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $city = preg_replace("/\'|\"|\\\\|;/","",$city); + $state = preg_replace("/\'|\"|\\\\|;/","",$state); + $postal_code = preg_replace("/\'|\"|\\\\|;/","",$postal_code); if (strlen($lead_id) > 0) { @@ -8643,7 +10762,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name\n"; + echo "錯誤:您必須輸入搜索條件,其中之一必須是人口稠密的:鉛ID,供應商ID,電話號碼,姓氏\n"; echo "

    "; echo "回上一頁"; echo ""; @@ -8736,7 +10855,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } if (preg_match('/CAMPAIGNLISTS/',$agent_lead_search_method)) @@ -8753,7 +10872,7 @@ if ($ACTION == 'SEARCHRESULTSview') $camp_lists .= "'$rowx[0]',"; $o++; } - $camp_lists = eregi_replace(".$","",$camp_lists); + $camp_lists = preg_replace("/.$/i","",$camp_lists); $searchmethodSQL=" and list_id IN($camp_lists)"; } @@ -8763,7 +10882,7 @@ if ($ACTION == 'SEARCHRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -8796,14 +10915,14 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
      #     DATE/TIME     LENGTH     日期\/時間     長度     狀態     PHONE     FULL NAME     CAMPAIGN     IN/OUT     ALT     HANGUP     INFO     電話     全名     運動     輸入和輸出     備用     掛斷     信息     WÄHLEN  
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO DIAL  信息 WÄHLEN WÄHLEN
    "; echo ""; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo ""; @@ -8844,7 +10963,7 @@ if ($ACTION == 'SEARCHRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -8859,8 +10978,18 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + if ($inbound_lead_search < 1) + { + if ($manual_dial_filter > 0) + {echo "\n";} + else + {echo "\n";} + } + else + { + echo "\n"; + } echo "\n"; } @@ -8882,7 +11011,7 @@ if ($ACTION == 'SEARCHRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "錯誤:有一個問題,您的搜索字詞\n"; echo "

    "; echo "回上一頁"; echo ""; @@ -8923,14 +11052,14 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $searchSQL=''; $searchmethodSQL=''; - $last_name = ereg_replace("'|\"|\\\\|;","",$last_name); - $first_name = ereg_replace("'|\"|\\\\|;","",$first_name); - $phone_number = ereg_replace("'|\"|\\\\|;","",$phone_number); - $bu_name = ereg_replace("'|\"|\\\\|;","",$bu_name); - $department = ereg_replace("'|\"|\\\\|;","",$department); - $group_name = ereg_replace("'|\"|\\\\|;","",$group_name); - $job_title = ereg_replace("'|\"|\\\\|;","",$job_title); - $location = ereg_replace("'|\"|\\\\|;","",$location); + $last_name = preg_replace("/\'|\"|\\\\|;/","",$last_name); + $first_name = preg_replace("/\'|\"|\\\\|;/","",$first_name); + $phone_number = preg_replace("/\'|\"|\\\\|;/","",$phone_number); + $bu_name = preg_replace("/\'|\"|\\\\|;/","",$bu_name); + $department = preg_replace("/\'|\"|\\\\|;/","",$department); + $group_name = preg_replace("/\'|\"|\\\\|;/","",$group_name); + $job_title = preg_replace("/\'|\"|\\\\|;/","",$job_title); + $location = preg_replace("/\'|\"|\\\\|;/","",$location); if (strlen($phone_number) >= 2) { @@ -9071,7 +11200,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name\n"; + echo "錯誤:您必須輸入搜索條件,其中之一必須填充:辦公室的電話號碼,姓氏,名字\n"; echo "

    "; echo "回上一頁"; echo ""; @@ -9083,7 +11212,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') ### LOG INSERTION Search Log Table ### $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmtL="INSERT INTO vicidial_lead_search_log set event_date='$NOW_TIME', user='$user', source='agent', results='0', search_query=\"$SQL_log\";"; if ($DB) {echo "|$stmtL|\n";} @@ -9124,7 +11253,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -9171,7 +11300,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9188,7 +11317,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') echo "\n"; echo "\n"; echo ""; - echo ""; + echo ""; echo "\n"; } @@ -9210,7 +11339,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') } else { - echo "ERROR: There was a problem with your search terms\n"; + echo "錯誤:有一個問題,您的搜索字詞\n"; echo "

    "; echo "回上一頁"; echo ""; @@ -9236,7 +11365,7 @@ if ($ACTION == 'SEARCHCONTACTSRESULTSview') if ($ACTION == 'LEADINFOview') { if (strlen($lead_id) < 1) - {echo "ERROR: no Lead ID";} + {echo "ERROR: no 導致ID";} else { $hide_dial_links=0; @@ -9245,6 +11374,9 @@ if ($ACTION == 'LEADINFOview') if ($search == 'logfirst') {$hide_dial_links++;} + if ($inbound_lead_search > 0) + {$hide_dial_links++;} + ### BEGIN Display callback information ### $callback_id = preg_replace('/\D/','',$callback_id); if (strlen($callback_id) > 0) @@ -9285,25 +11417,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = '職銜'; + $label_title = ' 職銜'; $label_first_name = '名'; $label_middle_initial = 'MI'; - $label_last_name = '姓'; + $label_last_name = '姓 '; $label_address1 = '地址1'; $label_address2 = '地址2'; $label_address3 = '地址3'; $label_city = '市'; - $label_state = '州'; + $label_state = ' 州'; $label_province = '省'; $label_postal_code = '郵遞區號'; $label_vendor_lead_code = 'Vendor ID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = '電話'; $label_phone_code = 'DialCode'; $label_alt_phone = '其他電話'; $label_security_phrase = '展現'; - $label_email = '電郵'; - $label_comments = '備註'; + $label_email = ' 電郵'; + $label_comments = ' 備註'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -9413,7 +11545,7 @@ if ($ACTION == 'LEADINFOview') if ($PHONEgmt_offset != $POSTgmt_offset) { - $post_phone_time_diff_alert_message .= "電話 and Post Code Time Zone Mismatch! "; + $post_phone_time_diff_alert_message .= "電話及郵政編碼時區不匹配! "; if ($post_phone_time_diff_alert == 'OUTSIDE_CALLTIME_ONLY') { @@ -9447,21 +11579,31 @@ if ($ACTION == 'LEADINFOview') if ( ($label_vendor_lead_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} $INFOout .= ""; - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; if ( ($label_phone_code!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_phone_number!='---HIDE---') or ($label_hide_field_logs=='N') ) { $INFOout .= ""; + if ($inbound_lead_search > 0) + {$INFOout .= "";} if ( ($label_title!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} if ( ($label_first_name!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9491,7 +11633,12 @@ if ($ACTION == 'LEADINFOview') { $INFOout .= ""; if ( ($label_email!='---HIDE---') or ($label_hide_field_logs=='N') ) @@ -9500,8 +11647,8 @@ if ($ACTION == 'LEADINFOview') {$INFOout .= "";} if ( ($label_comments!='---HIDE---') or ($label_hide_field_logs=='N') ) {$INFOout .= "";} - $INFOout .= ""; - $INFOout .= ""; + $INFOout .= ""; + $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; # $INFOout .= ""; @@ -9577,17 +11724,17 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= "
      #     NAME     PHONE     全名     電話     狀態     LAST 撥號     CITY     STATE     ZIP     INFO     最後一次通話     城市     州     拉鍊     信息     WÄHLEN  
    $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO DIAL  信息 WÄHLEN WÄHLEN 選擇
      #     FIRST NAME     LAST NAME     最後 NAME     OFFICE     MOBILE     OTHER 1   $ALLbu_name[$i]
                Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       Location: $ALLlocation[$i]             Dept: $ALLdepartment[$i]       Group: $ALLgroup_name[$i]       Job: $ALLjob_title[$i]       位置: $ALLlocation[$i]
    $label_vendor_lead_code:   $row[1]
    List ID:   $row[2]
    Timezone:   $row[3]
    已撥號 Since 姓 Reset:   $row[4]
    時區:   $row[3]
    要求自去年復位:   $row[4]
    $label_phone_code:   $row[5]
    $label_phone_number:   $row[6] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " WÄHLEN ";} + else + {$INFOout .= " WÄHLEN ";} + } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { - $INFOout .= "
    Dial Link:   DIAL"; + if ($manual_dial_filter > 0) + {$INFOout .= "
    撥號鏈接:   WÄHLEN ";} + else + {$INFOout .= "
    撥號鏈接:   WÄHLEN ";} } $INFOout .= "
    選擇此鉛
    $label_title:   $row[7]
    $label_alt_phone:   $row[20] -         "; if ($hide_dial_links < 1) - {$INFOout .= "DIAL";} + { + if ($manual_dial_filter > 0) + {$INFOout .= " WÄHLEN ";} + else + {$INFOout .= " WÄHLEN ";} + } } $INFOout .= "
    $label_security_phrase:   $row[22]
    $label_comments:   $row[23]
    已撥號 Count:   $row[24]
    姓 Local Call Time:   $row[25]
    的呼叫數:   $row[24]
    最後本地通話時間:   $row[25]
    Rank:   $row[26]
    Owner:   $row[27]
    Entry List ID:   $row[28]
    "; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; # $NOTESout .= ""; - # $NOTESout .= ""; + # $NOTESout .= ""; $NOTESout .= ""; @@ -9637,7 +11784,6 @@ if ($ACTION == 'LEADINFOview') } $Allcounter[$g] = $g; - $g++; $u++; } @@ -9704,7 +11850,7 @@ if ($ACTION == 'LEADINFOview') $sort_split = explode("-----",$ALLsort[$u]); $i = $sort_split[1]; - if (eregi("1$|3$|5$|7$|9$", $u)) + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} @@ -9736,6 +11882,56 @@ if ($ACTION == 'LEADINFOview') ### END Gather Call Log and notes ### + ### BEGIN 電郵 log + if ($allow_emails>0) + { + $NOTESout .= "
    這個領先的電子郵件日誌:
    \n"; + $NOTESout .= "
      #     DATE/TIME     AGENT     LENGTH     日期\/時間     代理人     長度     狀態     PHONE     CAMPAIGN     IN/OUT     ALT     HANGUP     電話     運動     輸入和輸出     備用     掛斷  
      FULL NAME     全名  
    "; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where lead_id='$lead_id' order by email_date desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/1$|3$|5$|7$|9$/i", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= ""; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + $NOTESout .= "\n"; + } + + $NOTESout .= "
    #   日期\/時間   代理人   運動   電郵至   附件
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]
      MESSAGE: $row[6]
    "; + } + ### END 電郵 Log ## + if ($search == 'logfirst') {echo "$NOTESout\n$INFOout\n";} else @@ -9760,7 +11956,7 @@ if ($ACTION == 'CALLSINQUEUEgrab') $view_calls_in_queue = $row[0]; $grab_calls_in_queue = $row[1]; - if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) ) + if ( (preg_match('/NONE/i',$view_calls_in_queue)) or (preg_match('/N/i',$grab_calls_in_queue)) ) { echo "ERROR: 呼籲隊列查看停用此活動\n"; exit; @@ -10001,8 +12197,15 @@ function hangup_cause_description($code) { global $hangup_cause_dictionary; if ( array_key_exists($code,$hangup_cause_dictionary) ) { return $hangup_cause_dictionary[$code]; } - else { return "Unidentified Hangup Cause Code."; } + else { return "不明掛斷原因代碼."; } } +##### SIP Hangup Cause Description Map ##### +function sip_hangup_cause_description($sip_code) + { + global $sip_hangup_cause_dictionary; + if ( array_key_exists($sip_code,$sip_hangup_cause_dictionary) ) { return $sip_hangup_cause_dictionary[$sip_code]; } + else { return "Unidentified SIP Hangup Cause Code."; } + } ?> diff --git a/agc_2-X/trunk/LANG_www/agc_tw/vdc_email_display.php b/agc_2-X/trunk/LANG_www/agc_tw/vdc_email_display.php new file mode 100644 index 00000000..49c4ad17 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/agc_tw/vdc_email_display.php @@ -0,0 +1,374 @@ + LICENSE: AGPLv2 +# +# This page displays any incoming emails in the Vicidial user interface. It +# also allows the user to download and view any attachments sent in the email, +# and also gives the user the ability to respond to the email and even +# attach files to it. The page also logs all email messages that are sent +# through it to the vicidial_email_log table +# +# changes: +# 121214-2300 - First Build +# 130127-0027 - Better non-latin characters support +# 130328-0007 - Converted ereg to preg functions +# + +require("dbconnect.php"); +require("functions.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["attachment_id"])) {$attachment_id=$_GET["attachment_id"];} + elseif (isset($_POST["attachment_id"])) {$attachment_id=$_POST["attachment_id"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["email_row_id"])) {$email_row_id=$_GET["email_row_id"];} + elseif (isset($_POST["email_row_id"])) {$email_row_id=$_POST["email_row_id"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["sender_email"])) {$sender_email=$_GET["sender_email"];} + elseif (isset($_POST["sender_email"])) {$sender_email=$_POST["sender_email"];} +if (isset($_GET["reply_subject"])) {$reply_subject=$_GET["reply_subject"];} + elseif (isset($_POST["reply_subject"])) {$reply_subject=$_POST["reply_subject"];} +if (isset($_GET["reply_to_address"])) {$reply_to_address=$_GET["reply_to_address"];} + elseif (isset($_POST["reply_to_address"])) {$reply_to_address=$_POST["reply_to_address"];} +if (isset($_GET["reply_from_address"])) {$reply_from_address=$_GET["reply_from_address"];} + elseif (isset($_POST["reply_from_address"])) {$reply_from_address=$_POST["reply_from_address"];} +if (isset($_GET["reply_message"])) {$reply_message=$_GET["reply_message"];} + elseif (isset($_POST["reply_message"])) {$reply_message=$_POST["reply_message"];} +if (isset($_GET["REPLY"])) {$REPLY=$_GET["REPLY"];} + elseif (isset($_POST["REPLY"])) {$REPLY=$_POST["REPLY"];} + +$attachment1=$_FILES["attachment1"]; + $A1_orig = $_FILES['attachment1']['name']; + $A1_path = $_FILES['attachment1']['tmp_name']; + $A1_type = $_FILES['attachment1']['type']; +$attachment2=$_FILES["attachment2"]; + $A2_orig = $_FILES['attachment2']['name']; + $A2_path = $_FILES['attachment2']['tmp_name']; + $A2_type = $_FILES['attachment2']['type']; +$attachment3=$_FILES["attachment3"]; + $A3_orig = $_FILES['attachment3']['name']; + $A3_path = $_FILES['attachment3']['tmp_name']; + $A3_type = $_FILES['attachment3']['type']; +$attachment4=$_FILES["attachment4"]; + $A4_orig = $_FILES['attachment4']['name']; + $A4_path = $_FILES['attachment4']['tmp_name']; + $A4_type = $_FILES['attachment4']['type']; +$attachment5=$_FILES["attachment5"]; + $A5_orig = $_FILES['attachment5']['name']; + $A5_path = $_FILES['attachment5']['tmp_name']; + $A5_type = $_FILES['attachment5']['type']; + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ($stage=='WELCOME') + {echo "EMAIL"; exit;} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; +$script_height = ($script_height - 20); +if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} + +$IFRAME=0; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $allow_emails = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($allow_emails<1) + { + echo "Your system does not have the email setting enabled\n"; + exit; + } + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } +else + { + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); + } + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VUmodify=$row[0]; + +$stmt="SELECT count(*) from vicidial_live_agents where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LVAactive=$row[0]; +$LVAactive=9; +if ( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) or ( ($LVAactive < 1) ) ) + { + echo "無效 Username/密碼: |$user|$pass|\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + exit; + } +else + { + # do nothing for now + } + +if ($REPLY) + { + $to = "$reply_to_address"; + $from = "$reply_from_address"; + $subject ="$reply_subject"; + $message = "$reply_message"; + $headers = "From: $from"; + $attachment_str=""; + + $semi_rand = md5(time()); + $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; + $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; + $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; + $message .= "--{$mime_boundary}\n"; + + for ($i=1; $i<=5; $i++) + { + $attachment_orig_name="A".$i."_orig"; + $attachment_path="A".$i."_path"; + $LF_orig=$$attachment_orig_name; + $LF_path=$$attachment_path; + #echo "

    ".$$attachment_name."
    ".$$attachment_orig_name."
    ".$$attachment_path."

    "; + if ($LF_orig) + { + if (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) + { + echo "ERROR: 無效 File Name: $LF_orig\n"; + exit; + } + else + { + copy($LF_path, "/tmp/$LF_orig"); + $file = fopen("/tmp/$LF_orig","rb"); + $data = fread($file,filesize("/tmp/$LF_orig")); + fclose($file); + $data = chunk_split(base64_encode($data)); + $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$LF_orig\"\n" . + "Content-Disposition: attachment;\n" . " filename=\"$LF_orig\"\n" . + "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; + $message .= "--{$mime_boundary}\n"; + $attachment_str.="$LF_orig|"; + } + } + } + + $sendmail = @mail($to, $subject, $message, $headers); + if ($sendmail) + { + $reply_message=preg_replace('/(\"|\||\'|\;)/', '\\\$1', $reply_message); + $log_stmt="INSERT INTO vicidial_email_log(email_row_id, lead_id, email_date, user, email_to, message, campaign_id, attachments) VALUES('$email_row_id', '$lead_id', now(), '$user', '$reply_to_address', '$reply_message', '$campaign', '$attachment_str')"; + $log_rslt=mysql_query($log_stmt, $link); + echo "

    mail sent to $to!

    "; + + # Hangup the "call" on the agent screen + $stmt="UPDATE vicidial_live_agents set external_hangup='1' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + else + { + echo "

    mail could not be sent!

    "; + } + exit; + } + + +if ($lead_id) { + $stmt="select * from vicidial_email_list where lead_id='$lead_id' and direction='INBOUND' and status IN('NEW','INCALL') order by email_date asc"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $email_row_id=$row["email_row_id"]; + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_from"], $matches); + if (strlen($matches[0])>0) { + $email_from = substr($matches[0],1,-1); + } else { + $email_from = $row["email_from"]; + } + preg_match('/\<[^\>\@]+\@[^\>\@]+\>/', $row["email_to"], $matches); + if (strlen($matches[0])>0) { + $row["email_from"]=preg_replace('/\>/', '>', $row["email_from"]); + $row["email_from"]=preg_replace('/\/', '\>', $row["email_to"]); + $email_to = $row["email_to"]; + } + $EMAIL_form="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + + $att_stmt="select * from inbound_email_attachments where email_row_id='$email_row_id'"; + $att_rslt=mysql_query($att_stmt, $link); + if (mysql_num_rows($att_rslt)>0) { + $EMAIL_form.=""; + } + $EMAIL_form.=""; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.=""; + $EMAIL_form.="
    Date received:$row[email_date]
    From:$row[email_from]
    Subject:$row[subject]
    Message:
    $row[message]
    附件:
    ";
    +			while($att_row=mysql_fetch_array($att_rslt)) {
    +				$EMAIL_form.="
  • $att_row[filename]\n"; + } + $EMAIL_form.="

  • Response:RE: $row[subject]
    Reply:

    附件:"; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.="
    "; + $EMAIL_form.=""; + $EMAIL_form.="
    \n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + } + + if ($attachment_id) { + $stmt="select * from inbound_email_attachments where attachment_id='$attachment_id'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) { + $row=mysql_fetch_array($rslt); + $filename=$row["filename"]; + $encoding=$row["file_encoding"]; + $file_size=$row["file_size"]; + $file_type=$row["file_type"]; + $file_contents=$row["file_contents"]; + if ($encoding=="base64") { + $file_contents=base64_decode($file_contents); + $file_size=strlen($file_contents); + } + header("Content-length: ".$file_size.""); + header("Content-type: ".$file_type.""); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $file_contents; + } + } else { +?> + + + VICIDIAL email frame + + + + +
    ' method='get' name="email_display_form" id="email_display_form" onSubmit="if (this.submitted) return false; this.submitted=true" enctype="multipart/form-data"> + +
    + + + diff --git a/agc_2-X/trunk/LANG_www/agc_tw/vdc_form_display.php b/agc_2-X/trunk/LANG_www/agc_tw/vdc_form_display.php index 928fe0ed..444f62ef 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/vdc_form_display.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -16,10 +16,12 @@ # 110730-2335 - Added call_id variable # 111025-1433 - Fixed case sensitivity on list fields # 120315-1729 - Filtere out single quotes and backslashes from custom fields +# 130328-0012 - Converted ereg to preg functions +# 130402-2256 - Added user_group variable # -$version = '2.4-8'; -$build = '120315-1729'; +$version = '2.6-10'; +$build = '130402-2256'; require("dbconnect.php"); require_once("functions.php"); @@ -144,6 +146,8 @@ if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -189,16 +193,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -393,7 +397,7 @@ if ($stage=='SUBMIT') ### LOG INSERTION Admin Log Table ### $ip = getenv("REMOTE_ADDR"); $SQL_log = "$list_table_update_SQL|$custom_table_update_SQL|"; - $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = preg_replace('/;/','',$SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY CUSTOM LEAD', event_sql=\"$SQL_log\", event_notes='$custom_update_count|$list_update_count';"; if ($DB) {echo "|$stmt|\n";} diff --git a/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_display.php b/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_display.php index 6cd51669..3a970d21 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_display.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the SCRIPT tab in the agent interface # @@ -17,10 +17,12 @@ # 110420-1201 - Added web_vars variable # 110730-2339 - Added call_id variable # 120227-2017 - Added parsing of IGNORENOSCROLL option in script to force scroll +# 130328-0013 - Converted ereg to preg functions +# 130402-2255 - Added user_group variable # -$version = '2.4-11'; -$build = '120227-2017'; +$version = '2.6-13'; +$build = '130402-2255'; require("dbconnect.php"); @@ -190,6 +192,8 @@ if (isset($_GET["entry_list_id"])) {$entry_list_id=$_GET["entry_list_id"];} elseif (isset($_POST["entry_list_id"])) {$entry_list_id=$_POST["entry_list_id"];} if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["web_vars"])) {$web_vars=$_GET["web_vars"];} elseif (isset($_POST["web_vars"])) {$web_vars=$_POST["web_vars"];} @@ -228,16 +232,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } @@ -315,172 +319,173 @@ $row=mysql_fetch_row($rslt); $script_name = $row[0]; $script_text = stripslashes($row[1]); -if (eregi("iframe src",$script_text)) +if (preg_match("/iframe\ssrc/i",$script_text)) { $IFRAME=1; - $lead_id = eregi_replace(' ','+',$lead_id); - $vendor_id = eregi_replace(' ','+',$vendor_id); - $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); - $list_id = eregi_replace(' ','+',$list_id); - $list_name = eregi_replace(' ','+',$list_name); - $list_description = eregi_replace(' ','+',$list_description); - $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); - $phone_code = eregi_replace(' ','+',$phone_code); - $phone_number = eregi_replace(' ','+',$phone_number); - $title = eregi_replace(' ','+',$title); - $first_name = eregi_replace(' ','+',$first_name); - $middle_initial = eregi_replace(' ','+',$middle_initial); - $last_name = eregi_replace(' ','+',$last_name); - $address1 = eregi_replace(' ','+',$address1); - $address2 = eregi_replace(' ','+',$address2); - $address3 = eregi_replace(' ','+',$address3); - $city = eregi_replace(' ','+',$city); - $state = eregi_replace(' ','+',$state); - $province = eregi_replace(' ','+',$province); - $postal_code = eregi_replace(' ','+',$postal_code); - $country_code = eregi_replace(' ','+',$country_code); - $gender = eregi_replace(' ','+',$gender); - $date_of_birth = eregi_replace(' ','+',$date_of_birth); - $alt_phone = eregi_replace(' ','+',$alt_phone); - $email = eregi_replace(' ','+',$email); - $security_phrase = eregi_replace(' ','+',$security_phrase); - $comments = eregi_replace(' ','+',$comments); - $user = eregi_replace(' ','+',$user); - $pass = eregi_replace(' ','+',$pass); - $campaign = eregi_replace(' ','+',$campaign); - $phone_login = eregi_replace(' ','+',$phone_login); - $original_phone_login = eregi_replace(' ','+',$original_phone_login); - $phone_pass = eregi_replace(' ','+',$phone_pass); - $fronter = eregi_replace(' ','+',$fronter); - $closer = eregi_replace(' ','+',$closer); - $group = eregi_replace(' ','+',$group); - $channel_group = eregi_replace(' ','+',$channel_group); - $SQLdate = eregi_replace(' ','+',$SQLdate); - $epoch = eregi_replace(' ','+',$epoch); - $uniqueid = eregi_replace(' ','+',$uniqueid); - $customer_zap_channel = eregi_replace(' ','+',$customer_zap_channel); - $customer_server_ip = eregi_replace(' ','+',$customer_server_ip); - $server_ip = eregi_replace(' ','+',$server_ip); - $SIPexten = eregi_replace(' ','+',$SIPexten); - $session_id = eregi_replace(' ','+',$session_id); - $phone = eregi_replace(' ','+',$phone); - $parked_by = eregi_replace(' ','+',$parked_by); - $dispo = eregi_replace(' ','+',$dispo); - $dialed_number = eregi_replace(' ','+',$dialed_number); - $dialed_label = eregi_replace(' ','+',$dialed_label); - $source_id = eregi_replace(' ','+',$source_id); - $rank = eregi_replace(' ','+',$rank); - $owner = eregi_replace(' ','+',$owner); - $camp_script = eregi_replace(' ','+',$camp_script); - $in_script = eregi_replace(' ','+',$in_script); - $script_width = eregi_replace(' ','+',$script_width); - $script_height = eregi_replace(' ','+',$script_height); - $fullname = eregi_replace(' ','+',$fullname); - $recording_filename = eregi_replace(' ','+',$recording_filename); - $recording_id = eregi_replace(' ','+',$recording_id); - $user_custom_one = eregi_replace(' ','+',$user_custom_one); - $user_custom_two = eregi_replace(' ','+',$user_custom_two); - $user_custom_three = eregi_replace(' ','+',$user_custom_three); - $user_custom_four = eregi_replace(' ','+',$user_custom_four); - $user_custom_five = eregi_replace(' ','+',$user_custom_five); - $preset_number_a = eregi_replace(' ','+',$preset_number_a); - $preset_number_b = eregi_replace(' ','+',$preset_number_b); - $preset_number_c = eregi_replace(' ','+',$preset_number_c); - $preset_number_d = eregi_replace(' ','+',$preset_number_d); - $preset_number_e = eregi_replace(' ','+',$preset_number_e); - $preset_number_f = eregi_replace(' ','+',$preset_number_f); - $preset_dtmf_a = eregi_replace(' ','+',$preset_dtmf_a); - $preset_dtmf_b = eregi_replace(' ','+',$preset_dtmf_b); - $did_id = eregi_replace(' ','+',$did_id); - $did_extension = eregi_replace(' ','+',$did_extension); - $did_pattern = eregi_replace(' ','+',$did_pattern); - $did_description = eregi_replace(' ','+',$did_description); - $web_vars = eregi_replace(' ','+',$web_vars); + $lead_id = preg_replace('/\s/i','+',$lead_id); + $vendor_id = preg_replace('/\s/i','+',$vendor_id); + $vendor_lead_code = preg_replace('/\s/i','+',$vendor_lead_code); + $list_id = preg_replace('/\s/i','+',$list_id); + $list_name = preg_replace('/\s/i','+',$list_name); + $list_description = preg_replace('/\s/i','+',$list_description); + $gmt_offset_now = preg_replace('/\s/i','+',$gmt_offset_now); + $phone_code = preg_replace('/\s/i','+',$phone_code); + $phone_number = preg_replace('/\s/i','+',$phone_number); + $title = preg_replace('/\s/i','+',$title); + $first_name = preg_replace('/\s/i','+',$first_name); + $middle_initial = preg_replace('/\s/i','+',$middle_initial); + $last_name = preg_replace('/\s/i','+',$last_name); + $address1 = preg_replace('/\s/i','+',$address1); + $address2 = preg_replace('/\s/i','+',$address2); + $address3 = preg_replace('/\s/i','+',$address3); + $city = preg_replace('/\s/i','+',$city); + $state = preg_replace('/\s/i','+',$state); + $province = preg_replace('/\s/i','+',$province); + $postal_code = preg_replace('/\s/i','+',$postal_code); + $country_code = preg_replace('/\s/i','+',$country_code); + $gender = preg_replace('/\s/i','+',$gender); + $date_of_birth = preg_replace('/\s/i','+',$date_of_birth); + $alt_phone = preg_replace('/\s/i','+',$alt_phone); + $email = preg_replace('/\s/i','+',$email); + $security_phrase = preg_replace('/\s/i','+',$security_phrase); + $comments = preg_replace('/\s/i','+',$comments); + $user = preg_replace('/\s/i','+',$user); + $pass = preg_replace('/\s/i','+',$pass); + $campaign = preg_replace('/\s/i','+',$campaign); + $phone_login = preg_replace('/\s/i','+',$phone_login); + $original_phone_login = preg_replace('/\s/i','+',$original_phone_login); + $phone_pass = preg_replace('/\s/i','+',$phone_pass); + $fronter = preg_replace('/\s/i','+',$fronter); + $closer = preg_replace('/\s/i','+',$closer); + $group = preg_replace('/\s/i','+',$group); + $channel_group = preg_replace('/\s/i','+',$channel_group); + $SQLdate = preg_replace('/\s/i','+',$SQLdate); + $epoch = preg_replace('/\s/i','+',$epoch); + $uniqueid = preg_replace('/\s/i','+',$uniqueid); + $customer_zap_channel = preg_replace('/\s/i','+',$customer_zap_channel); + $customer_server_ip = preg_replace('/\s/i','+',$customer_server_ip); + $server_ip = preg_replace('/\s/i','+',$server_ip); + $SIPexten = preg_replace('/\s/i','+',$SIPexten); + $session_id = preg_replace('/\s/i','+',$session_id); + $phone = preg_replace('/\s/i','+',$phone); + $parked_by = preg_replace('/\s/i','+',$parked_by); + $dispo = preg_replace('/\s/i','+',$dispo); + $dialed_number = preg_replace('/\s/i','+',$dialed_number); + $dialed_label = preg_replace('/\s/i','+',$dialed_label); + $source_id = preg_replace('/\s/i','+',$source_id); + $rank = preg_replace('/\s/i','+',$rank); + $owner = preg_replace('/\s/i','+',$owner); + $camp_script = preg_replace('/\s/i','+',$camp_script); + $in_script = preg_replace('/\s/i','+',$in_script); + $script_width = preg_replace('/\s/i','+',$script_width); + $script_height = preg_replace('/\s/i','+',$script_height); + $fullname = preg_replace('/\s/i','+',$fullname); + $recording_filename = preg_replace('/\s/i','+',$recording_filename); + $recording_id = preg_replace('/\s/i','+',$recording_id); + $user_custom_one = preg_replace('/\s/i','+',$user_custom_one); + $user_custom_two = preg_replace('/\s/i','+',$user_custom_two); + $user_custom_three = preg_replace('/\s/i','+',$user_custom_three); + $user_custom_four = preg_replace('/\s/i','+',$user_custom_four); + $user_custom_five = preg_replace('/\s/i','+',$user_custom_five); + $preset_number_a = preg_replace('/\s/i','+',$preset_number_a); + $preset_number_b = preg_replace('/\s/i','+',$preset_number_b); + $preset_number_c = preg_replace('/\s/i','+',$preset_number_c); + $preset_number_d = preg_replace('/\s/i','+',$preset_number_d); + $preset_number_e = preg_replace('/\s/i','+',$preset_number_e); + $preset_number_f = preg_replace('/\s/i','+',$preset_number_f); + $preset_dtmf_a = preg_replace('/\s/i','+',$preset_dtmf_a); + $preset_dtmf_b = preg_replace('/\s/i','+',$preset_dtmf_b); + $did_id = preg_replace('/\s/i','+',$did_id); + $did_extension = preg_replace('/\s/i','+',$did_extension); + $did_pattern = preg_replace('/\s/i','+',$did_pattern); + $did_description = preg_replace('/\s/i','+',$did_description); + $web_vars = preg_replace('/\s/i','+',$web_vars); } -$script_text = eregi_replace('--A--lead_id--B--',"$lead_id",$script_text); -$script_text = eregi_replace('--A--vendor_id--B--',"$vendor_id",$script_text); -$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); -$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); -$script_text = eregi_replace('--A--list_name--B--',"$list_name",$script_text); -$script_text = eregi_replace('--A--list_description--B--',"$list_description",$script_text); -$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); -$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); -$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); -$script_text = eregi_replace('--A--title--B--',"$title",$script_text); -$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); -$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); -$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); -$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); -$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); -$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); -$script_text = eregi_replace('--A--city--B--',"$city",$script_text); -$script_text = eregi_replace('--A--state--B--',"$state",$script_text); -$script_text = eregi_replace('--A--province--B--',"$province",$script_text); -$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); -$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); -$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); -$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); -$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); -$script_text = eregi_replace('--A--email--B--',"$email",$script_text); -$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); -$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); -$script_text = eregi_replace('--A--user--B--',"$user",$script_text); -$script_text = eregi_replace('--A--pass--B--',"$pass",$script_text); -$script_text = eregi_replace('--A--campaign--B--',"$campaign",$script_text); -$script_text = eregi_replace('--A--phone_login--B--',"$phone_login",$script_text); -$script_text = eregi_replace('--A--original_phone_login--B--',"$original_phone_login",$script_text); -$script_text = eregi_replace('--A--phone_pass--B--',"$phone_pass",$script_text); -$script_text = eregi_replace('--A--fronter--B--',"$fronter",$script_text); -$script_text = eregi_replace('--A--closer--B--',"$closer",$script_text); -$script_text = eregi_replace('--A--group--B--',"$group",$script_text); -$script_text = eregi_replace('--A--channel_group--B--',"$channel_group",$script_text); -$script_text = eregi_replace('--A--SQLdate--B--',"$SQLdate",$script_text); -$script_text = eregi_replace('--A--epoch--B--',"$epoch",$script_text); -$script_text = eregi_replace('--A--uniqueid--B--',"$uniqueid",$script_text); -$script_text = eregi_replace('--A--customer_zap_channel--B--',"$customer_zap_channel",$script_text); -$script_text = eregi_replace('--A--customer_server_ip--B--',"$customer_server_ip",$script_text); -$script_text = eregi_replace('--A--server_ip--B--',"$server_ip",$script_text); -$script_text = eregi_replace('--A--SIPexten--B--',"$SIPexten",$script_text); -$script_text = eregi_replace('--A--session_id--B--',"$session_id",$script_text); -$script_text = eregi_replace('--A--phone--B--',"$phone",$script_text); -$script_text = eregi_replace('--A--parked_by--B--',"$parked_by",$script_text); -$script_text = eregi_replace('--A--dispo--B--',"$dispo",$script_text); -$script_text = eregi_replace('--A--dialed_number--B--',"$dialed_number",$script_text); -$script_text = eregi_replace('--A--dialed_label--B--',"$dialed_label",$script_text); -$script_text = eregi_replace('--A--source_id--B--',"$source_id",$script_text); -$script_text = eregi_replace('--A--rank--B--',"$rank",$script_text); -$script_text = eregi_replace('--A--owner--B--',"$owner",$script_text); -$script_text = eregi_replace('--A--camp_script--B--',"$camp_script",$script_text); -$script_text = eregi_replace('--A--in_script--B--',"$in_script",$script_text); -$script_text = eregi_replace('--A--script_width--B--',"$script_width",$script_text); -$script_text = eregi_replace('--A--script_height--B--',"$script_height",$script_text); -$script_text = eregi_replace('--A--fullname--B--',"$fullname",$script_text); -$script_text = eregi_replace('--A--recording_filename--B--',"$recording_filename",$script_text); -$script_text = eregi_replace('--A--recording_id--B--',"$recording_id",$script_text); -$script_text = eregi_replace('--A--user_custom_one--B--',"$user_custom_one",$script_text); -$script_text = eregi_replace('--A--user_custom_two--B--',"$user_custom_two",$script_text); -$script_text = eregi_replace('--A--user_custom_three--B--',"$user_custom_three",$script_text); -$script_text = eregi_replace('--A--user_custom_four--B--',"$user_custom_four",$script_text); -$script_text = eregi_replace('--A--user_custom_five--B--',"$user_custom_five",$script_text); -$script_text = eregi_replace('--A--preset_number_a--B--',"$preset_number_a",$script_text); -$script_text = eregi_replace('--A--preset_number_b--B--',"$preset_number_b",$script_text); -$script_text = eregi_replace('--A--preset_number_c--B--',"$preset_number_c",$script_text); -$script_text = eregi_replace('--A--preset_number_d--B--',"$preset_number_d",$script_text); -$script_text = eregi_replace('--A--preset_number_e--B--',"$preset_number_e",$script_text); -$script_text = eregi_replace('--A--preset_number_f--B--',"$preset_number_f",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_a--B--',"$preset_dtmf_a",$script_text); -$script_text = eregi_replace('--A--preset_dtmf_b--B--',"$preset_dtmf_b",$script_text); -$script_text = eregi_replace('--A--did_id--B--',"$did_id",$script_text); -$script_text = eregi_replace('--A--did_extension--B--',"$did_extension",$script_text); -$script_text = eregi_replace('--A--did_pattern--B--',"$did_pattern",$script_text); -$script_text = eregi_replace('--A--did_description--B--',"$did_description",$script_text); -$script_text = eregi_replace('--A--closecallid--B--',"$closecallid",$script_text); -$script_text = eregi_replace('--A--xfercallid--B--',"$xfercallid",$script_text); -$script_text = eregi_replace('--A--agent_log_id--B--',"$agent_log_id",$script_text); -$script_text = eregi_replace('--A--entry_list_id--B--',"$entry_list_id",$script_text); -$script_text = eregi_replace('--A--call_id--B--',"$call_id",$script_text); -$script_text = eregi_replace('--A--web_vars--B--',"$web_vars",$script_text); +$script_text = preg_replace('/--A--lead_id--B--/i',"$lead_id",$script_text); +$script_text = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$script_text); +$script_text = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$script_text); +$script_text = preg_replace('/--A--list_id--B--/i',"$list_id",$script_text); +$script_text = preg_replace('/--A--list_name--B--/i',"$list_name",$script_text); +$script_text = preg_replace('/--A--list_description--B--/i',"$list_description",$script_text); +$script_text = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$script_text); +$script_text = preg_replace('/--A--phone_code--B--/i',"$phone_code",$script_text); +$script_text = preg_replace('/--A--phone_number--B--/i',"$phone_number",$script_text); +$script_text = preg_replace('/--A--title--B--/i',"$title",$script_text); +$script_text = preg_replace('/--A--first_name--B--/i',"$first_name",$script_text); +$script_text = preg_replace('/--A--middle_initial--B--/i',"$middle_initial",$script_text); +$script_text = preg_replace('/--A--last_name--B--/i',"$last_name",$script_text); +$script_text = preg_replace('/--A--address1--B--/i',"$address1",$script_text); +$script_text = preg_replace('/--A--address2--B--/i',"$address2",$script_text); +$script_text = preg_replace('/--A--address3--B--/i',"$address3",$script_text); +$script_text = preg_replace('/--A--city--B--/i',"$city",$script_text); +$script_text = preg_replace('/--A--state--B--/i',"$state",$script_text); +$script_text = preg_replace('/--A--province--B--/i',"$province",$script_text); +$script_text = preg_replace('/--A--postal_code--B--/i',"$postal_code",$script_text); +$script_text = preg_replace('/--A--country_code--B--/i',"$country_code",$script_text); +$script_text = preg_replace('/--A--gender--B--/i',"$gender",$script_text); +$script_text = preg_replace('/--A--date_of_birth--B--/i',"$date_of_birth",$script_text); +$script_text = preg_replace('/--A--alt_phone--B--/i',"$alt_phone",$script_text); +$script_text = preg_replace('/--A--email--B--/i',"$email",$script_text); +$script_text = preg_replace('/--A--security_phrase--B--/i',"$security_phrase",$script_text); +$script_text = preg_replace('/--A--comments--B--/i',"$comments",$script_text); +$script_text = preg_replace('/--A--user--B--/i',"$user",$script_text); +$script_text = preg_replace('/--A--pass--B--/i',"$pass",$script_text); +$script_text = preg_replace('/--A--campaign--B--/i',"$campaign",$script_text); +$script_text = preg_replace('/--A--phone_login--B--/i',"$phone_login",$script_text); +$script_text = preg_replace('/--A--original_phone_login--B--/i',"$original_phone_login",$script_text); +$script_text = preg_replace('/--A--phone_pass--B--/i',"$phone_pass",$script_text); +$script_text = preg_replace('/--A--fronter--B--/i',"$fronter",$script_text); +$script_text = preg_replace('/--A--closer--B--/i',"$closer",$script_text); +$script_text = preg_replace('/--A--group--B--/i',"$group",$script_text); +$script_text = preg_replace('/--A--channel_group--B--/i',"$channel_group",$script_text); +$script_text = preg_replace('/--A--SQLdate--B--/i',"$SQLdate",$script_text); +$script_text = preg_replace('/--A--epoch--B--/i',"$epoch",$script_text); +$script_text = preg_replace('/--A--uniqueid--B--/i',"$uniqueid",$script_text); +$script_text = preg_replace('/--A--customer_zap_channel--B--/i',"$customer_zap_channel",$script_text); +$script_text = preg_replace('/--A--customer_server_ip--B--/i',"$customer_server_ip",$script_text); +$script_text = preg_replace('/--A--server_ip--B--/i',"$server_ip",$script_text); +$script_text = preg_replace('/--A--SIPexten--B--/i',"$SIPexten",$script_text); +$script_text = preg_replace('/--A--session_id--B--/i',"$session_id",$script_text); +$script_text = preg_replace('/--A--phone--B--/i',"$phone",$script_text); +$script_text = preg_replace('/--A--parked_by--B--/i',"$parked_by",$script_text); +$script_text = preg_replace('/--A--dispo--B--/i',"$dispo",$script_text); +$script_text = preg_replace('/--A--dialed_number--B--/i',"$dialed_number",$script_text); +$script_text = preg_replace('/--A--dialed_label--B--/i',"$dialed_label",$script_text); +$script_text = preg_replace('/--A--source_id--B--/i',"$source_id",$script_text); +$script_text = preg_replace('/--A--rank--B--/i',"$rank",$script_text); +$script_text = preg_replace('/--A--owner--B--/i',"$owner",$script_text); +$script_text = preg_replace('/--A--camp_script--B--/i',"$camp_script",$script_text); +$script_text = preg_replace('/--A--in_script--B--/i',"$in_script",$script_text); +$script_text = preg_replace('/--A--script_width--B--/i',"$script_width",$script_text); +$script_text = preg_replace('/--A--script_height--B--/i',"$script_height",$script_text); +$script_text = preg_replace('/--A--fullname--B--/i',"$fullname",$script_text); +$script_text = preg_replace('/--A--recording_filename--B--/i',"$recording_filename",$script_text); +$script_text = preg_replace('/--A--recording_id--B--/i',"$recording_id",$script_text); +$script_text = preg_replace('/--A--user_custom_one--B--/i',"$user_custom_one",$script_text); +$script_text = preg_replace('/--A--user_custom_two--B--/i',"$user_custom_two",$script_text); +$script_text = preg_replace('/--A--user_custom_three--B--/i',"$user_custom_three",$script_text); +$script_text = preg_replace('/--A--user_custom_four--B--/i',"$user_custom_four",$script_text); +$script_text = preg_replace('/--A--user_custom_five--B--/i',"$user_custom_five",$script_text); +$script_text = preg_replace('/--A--preset_number_a--B--/i',"$preset_number_a",$script_text); +$script_text = preg_replace('/--A--preset_number_b--B--/i',"$preset_number_b",$script_text); +$script_text = preg_replace('/--A--preset_number_c--B--/i',"$preset_number_c",$script_text); +$script_text = preg_replace('/--A--preset_number_d--B--/i',"$preset_number_d",$script_text); +$script_text = preg_replace('/--A--preset_number_e--B--/i',"$preset_number_e",$script_text); +$script_text = preg_replace('/--A--preset_number_f--B--/i',"$preset_number_f",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_a--B--/i',"$preset_dtmf_a",$script_text); +$script_text = preg_replace('/--A--preset_dtmf_b--B--/i',"$preset_dtmf_b",$script_text); +$script_text = preg_replace('/--A--did_id--B--/i',"$did_id",$script_text); +$script_text = preg_replace('/--A--did_extension--B--/i',"$did_extension",$script_text); +$script_text = preg_replace('/--A--did_pattern--B--/i',"$did_pattern",$script_text); +$script_text = preg_replace('/--A--did_description--B--/i',"$did_description",$script_text); +$script_text = preg_replace('/--A--closecallid--B--/i',"$closecallid",$script_text); +$script_text = preg_replace('/--A--xfercallid--B--/i',"$xfercallid",$script_text); +$script_text = preg_replace('/--A--agent_log_id--B--/i',"$agent_log_id",$script_text); +$script_text = preg_replace('/--A--entry_list_id--B--/i',"$entry_list_id",$script_text); +$script_text = preg_replace('/--A--call_id--B--/i',"$call_id",$script_text); +$script_text = preg_replace('/--A--user_group--B--/i',"$user_group",$script_text); +$script_text = preg_replace('/--A--web_vars--B--/i',"$web_vars",$script_text); if ($CF_uses_custom_fields=='Y') { @@ -497,24 +502,24 @@ if ($CF_uses_custom_fields=='Y') $field_name_tag = "--A--" . $field_name_id . "--B--"; if (isset($_GET["$field_name_id"])) {$form_field_value=$_GET["$field_name_id"];} elseif (isset($_POST["$field_name_id"])) {$form_field_value=$_POST["$field_name_id"];} - $script_text = eregi_replace("$field_name_tag","$form_field_value",$script_text); + $script_text = preg_replace("/$field_name_tag/i","$form_field_value",$script_text); if ($DB) {echo "$d|$field_name_id|$field_name_tag|$form_field_value|
    \n";} $d++; } } -$script_text = eregi_replace("\n","
    ",$script_text); +$script_text = preg_replace("/\n/i","
    ",$script_text); $script_text = stripslashes($script_text); echo "\n"; echo "\n"; echo "
    \n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    $script_name
    \n"; echo "$script_text\n"; -if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (eregi("IGNORENOSCROLL",$script_text)) ) +if ( ( ($IFRAME < 1) and ($ScrollDIV > 0) ) or (preg_match("/IGNORENOSCROLL/i",$script_text)) ) {echo "
    ";} echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_notes.php b/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_notes.php index f18fc7ce..8c1c5efb 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_notes.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/vdc_script_notes.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed open in the SCRIPT tab in the agent interface through # an IFRAME. It will create a new record for every SUBMIT @@ -12,10 +12,11 @@ # CHANGELOG: # 100215-0744 - First build of script # 100622-2230 - Added field labels +# 130328-0020 - Converted ereg to preg functions # -$version = '2.4-2'; -$build = '100622-2230'; +$version = '2.6-3'; +$build = '130328-0020'; require("dbconnect.php"); @@ -229,16 +230,16 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { - $user=ereg_replace("[^-_0-9a-zA-Z]","",$user); - $pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass); - $length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); - $phone_code = ereg_replace("[^0-9]","",$phone_code); - $phone_number = ereg_replace("[^0-9]","",$phone_number); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); + $phone_code = preg_replace("/[^0-9]/","",$phone_code); + $phone_number = preg_replace("/[^0-9]/","",$phone_number); } else { - $user = ereg_replace("'|\"|\\\\|;","",$user); - $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $user = preg_replace("/\'|\"|\\\\|;/","",$user); + $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } if ($DB > 0) @@ -247,15 +248,15 @@ if ($DB > 0) } ### BEGIN find any custom field labels ### -$label_title = '職銜'; +$label_title = 'Title'; $label_first_name = '名'; $label_middle_initial = 'MI'; -$label_last_name = '姓'; +$label_last_name = 'Last'; $label_address1 = '地址1'; $label_address2 = '地址2'; $label_address3 = '地址3'; $label_city = '市'; -$label_state = '州'; +$label_state = 'State'; $label_province = '省'; $label_postal_code = '郵遞區號'; $label_vendor_lead_code = 'Vendor ID'; @@ -264,8 +265,8 @@ $label_phone_number = '電話'; $label_phone_code = 'DialCode'; $label_alt_phone = '其他電話'; $label_security_phrase = '展現'; -$label_email = '電郵'; -$label_comments = '備註'; +$label_email = 'Email'; +$label_comments = 'Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -317,7 +318,7 @@ else echo "\n"; echo "\n"; echo "\n"; -echo "ViciDial 注意"; +echo "<title>ViciDial Notes"; echo "\n"; echo "\n"; echo "\n"; @@ -397,7 +398,7 @@ $URLsubmit = $URLarray[0];
    Source ID: $source_id
    : *其他電話: *
    0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $closer_ct = mysql_num_rows($rslt); $INgrpCT=0; + $EMAILgrpCT=0; + $PHONEgrpCT=0; while ($INgrpCT < $closer_ct) { $row=mysql_fetch_row($rslt); $closer_groups[$INgrpCT] =$row[0]; + $closer_group_handling[$INgrpCT] =$row[1]; // 電話 OR EMAIL - this is important $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $VARingroup_handlers = "$VARingroup_handlers'$closer_group_handling[$INgrpCT]',"; + if ($row[1]=="EMAIL") // Make a list of ingroups for email handling groups and one for phones, so there is no overlap + { + $VARemailgroups = "$VARemailgroups'$closer_groups[$INgrpCT]',"; + $EMAILgrpCT++; + } + else + { + $VARphonegroups = "$VARphonegroups'$closer_groups[$INgrpCT]',"; + $PHONEgrpCT++; + } $INgrpCT++; } $VARingroups = substr("$VARingroups", 0, -1); + $VARingroup_handlers = substr("$VARingroup_handlers", 0, -1); + $VARphonegroups = substr("$VARphonegroups", 0, -1); + $VARemailgroups = substr("$VARemailgroups", 0, -1); } else {$closer_campaigns = "''";} + $in_group_dial_display=0; + if ($in_group_dial != 'DISABLED') + { + $in_group_dial_display=1; + + if ($in_group_dial_select == 'CAMPAIGN_SELECTED') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01076',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + if ($in_group_dial_select == 'ALL_USER_GROUP') + { + $VARdialingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and user_group IN('---ALL---','$user_group') order by group_id limit 800;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01077',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dialcloser_ct = mysql_num_rows($rslt); + $dialINgrpCT=0; + while ($dialINgrpCT < $dialcloser_ct) + { + $row=mysql_fetch_row($rslt); + $dial_closer_groups[$dialINgrpCT] =$row[0]; + $VARdialingroups = "$VARdialingroups'$dial_closer_groups[$dialINgrpCT]',"; + $dialINgrpCT++; + } + $VARdialingroups = substr("$VARdialingroups", 0, -1); + } + } + + ##### gather territory listings for this agent if select territories is enabled $VARterritories=''; if ($agent_select_territories > 0) @@ -1813,7 +1909,7 @@ echo "
    活動: $camp_form_code
      \n"; + echo "
      \n"; echo "

    版本: $version       版次: $build
    \n"; @@ -1936,7 +2032,7 @@ echo "
    2) ) + if ( (preg_match('/,/i',$phone_login)) and (strlen($phone_login) > 2) ) { $phoneSQL = "("; $phones_auto = explode(',',$phone_login); @@ -1987,7 +2083,7 @@ echo "
    分機密碼:

    版本: $version       版次: $build
    \n"; echo "\n\n"; @@ -1997,9 +2093,9 @@ echo "
    0) { $pb=0; @@ -2124,7 +2220,7 @@ echo "\n"; } - ##### END phone login load balancing functions ##### + ##### END 手機登錄 load balancing functions ##### echo "Agent web client\n"; $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,is_webphone,use_external_server_ip,codecs_list,webphone_dialpad,phone_ring_timeout,on_hook_agent,webphone_auto_answer from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; @@ -2255,7 +2351,7 @@ echo "\n"; + echo "\n"; } - echo "\n"; + echo "\n"; # If a web form address is not set, use the default one if (strlen($web_form_address)>0) @@ -2311,7 +2407,7 @@ echo " 10) {$session_ext = substr($session_ext, 0, 10);} $session_rand = (rand(1,9999999) + 10000000); $session_name = "$StarTtimE$US$session_ext$session_rand"; @@ -2331,7 +2427,7 @@ echo " 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} - if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + if ( ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') ) || ($campaign_leads_to_call > 0) || (preg_match('/Y/',$no_hopper_leads_logins)) ) { ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; @@ -2440,7 +2536,7 @@ echo " 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (preg_match("/SIP/i",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; echo "\n"; @@ -2448,16 +2544,18 @@ echo "','','','','','');"; + if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { - $TEMP_SIP_user_DiaL = $SIP_user_DiaL; - if ($on_hook_agent == 'Y') - {$TEMP_SIP_user_DiaL = 'Local/8300@default';} - ### insert a 新 record to the vicidial_manager table to be processed - $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$agent_login_stmt\n";} + $rslt=mysql_query($agent_login_stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); echo "\n"; @@ -2531,16 +2629,30 @@ echo " "; - } - else - { - $webphone_content = ""; + if ($webphone_location == 'bar') + { + $webphone_content = ""; + } + else + { + $webphone_content = ""; + } } } + $stmt="DELETE from vicidial_session_data where user='$VD_login';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01078',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_session_data SET session_name='$session_name',user='$VD_login',campaign_id='$VD_campaign',server_ip='$server_ip',conf_exten='$session_id',extension='$extension',login_time='$NOW_TIME',webphone_url='$WebPhonEurl',agent_login_call='$agent_login_data';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01079',$VD_login,$server_ip,$session_name,$one_mysql_log);} + ##### grab the campaign_weight and number of calls today on that campaign for the agent $stmt="SELECT campaign_weight,calls_today,campaign_grade FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); @@ -2734,7 +2846,7 @@ echo "\n
    "; echo "密碼:
    \n"; echo "活動: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -2742,7 +2854,7 @@ echo "
    \n"; @@ -2927,7 +3039,7 @@ $limit_days=999; if ($callback_days_limit > 0) {$limit_days=$callback_days_limit;} -$Cmonths = Array('一月','February','三月','四月','五月','六月', +$Cmonths = Array('0','一月','February','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'); $Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); @@ -2958,7 +3070,7 @@ while ($CINC < 12) $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; - $CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; + $CCAL_OUT .= $Cmonths[$CfirstdayARY[mon]]." $CfirstdayARY[year]"; $CCAL_OUT .= "
    "; $CCAL_OUT .= "
    "; + {$CBL=''; $CEL=''; $CB_date_onclick='';} + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3015,6 +3128,7 @@ while ($CINC < 12) $CDCLR="$MAIN_COLOR"; $CBL = ''; $CEL = ''; + $CB_date_onclick=''; } else { @@ -3022,15 +3136,16 @@ while ($CINC < 12) if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} if ($limit_days > $live_days) { - $CBL = ""; + $CB_date_onclick="onclick=\"CB_date_pick('$CPRNTDAY-$CPRNTmday');return false;\""; + $CBL = ""; $CEL = ""; } else - {$CBL=''; $CEL='';} + {$CBL=''; $CEL=''; $CB_date_onclick='';} $live_days++; } - $CCAL_OUT .= "
    "; + $CCAL_OUT .= ""; $CCAL_OUT .= "
    "; $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; $CCAL_OUT .= "
    "; @@ -3088,7 +3203,7 @@ $CCAL_OUT .= "
    "; var CallBackDatETimE = ''; var CallBackrecipient = ''; var CallBackCommenTs = ''; - var CallBackLead狀態 = ''; + var CallBackLeadStatus = ''; var DispoQMcsCODE = ''; var scheduled_callbacks = ''; var dispo_check_all_pause = ''; @@ -3119,6 +3234,21 @@ $CCAL_OUT .= "
    "; var VARSELstatuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + + VARemailgroups = new Array(); + // var EMAILgroupCOUNT = ''; + var EMAILgroupCOUNT = 0; + var incomingEMAILgroups= new Array(); + + VARphonegroups = new Array(); + // var PHONEgroupCOUNT = ''; + var PHONEgroupCOUNT = 0; + + var VARingroup_handlers = new Array(); + var QUEUEpadding=0; + + VARdialingroups = new Array(); + var dialINgroupCOUNT = ''; VARterritories = new Array(); var territoryCOUNT = ''; VARxfergroups = new Array(); @@ -3389,6 +3519,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var APIDiaL_ID = '99999'; var CheckDEADcall = 0; var CheckDEADcallON = 0; + var currently_in_email = 0; var VtigeRLogiNScripT = ''; var VtigeRurl = ''; var VtigeREnableD = ''; @@ -3481,11 +3612,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var api_transferconf_number=''; var api_transferconf_consultative=''; var api_transferconf_override=''; + var api_transferconf_group_alias=''; + var api_transferconf_cid_number=''; var api_parkcustomer=''; var API_selected_xfergroup=''; var API_selected_callmenu=''; var custom_fields_enabled=''; var form_contents_loaded=0; + var email_enabled=''; var enable_xfer_presets=''; var hide_xfer_number_to_dial=''; var Presets_HTML=''; @@ -3523,9 +3657,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_lead_search=''; var agent_lead_search_method=''; var qm_phone_environment=''; - var 姓CallCID=''; - var 姓CallbackCount=0; - var 姓CallbackViewed=0; + var LastCallCID=''; + var LastCallbackCount=0; + var LastCallbackViewed=0; var auto_pause_precall=''; var auto_pause_precall_code=''; var auto_resume_precall=''; @@ -3551,6 +3685,19 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var consult_custom_wait=0; var consult_custom_go=0; var consult_custom_sent=0; + var in_group_dial=''; + var in_group_dial_select=''; + var in_group_dial_display=''; + var active_ingroup_dial=''; + var nocall_dial_flag='DISABLED'; + var pause_after_next_call=''; + var next_call_pause=''; + var deactivated_old_session=''; + var owner_populate=''; + var qc_enabled=''; + var inbound_lead_search=0; + var VU_agent_choose_ingroups_skip_count=0; + var agent_select_territories_skip_count=0; var DiaLControl_auto_HTML = "\"\"恢復\""; var DiaLControl_auto_HTML_ready = "\"\"恢復\""; var DiaLControl_auto_HTML_OFF = "\"\"恢復\""; @@ -3764,12 +3911,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (taskalert=='ON') { alert_enabled = 'ON'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is ON"; + document.getElementById("AgentAlertSpan").innerHTML = "警報是在"; } else { alert_enabled = 'OFF'; - document.getElementById("AgentAlertSpan").innerHTML = "Alert is OFF"; + document.getElementById("AgentAlertSpan").innerHTML = "警報關閉"; } } @@ -3792,27 +3939,27 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } else { - if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == '駐留_PRESET_1') ) + if ( (custom_3way_button_transfer == 'PRESET_1') || (custom_3way_button_transfer == 'PARK_PRESET_1') ) {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} - if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == '駐留_PRESET_2') ) + if ( (custom_3way_button_transfer == 'PRESET_2') || (custom_3way_button_transfer == 'PARK_PRESET_2') ) {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} - if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == '駐留_PRESET_3') ) + if ( (custom_3way_button_transfer == 'PRESET_3') || (custom_3way_button_transfer == 'PARK_PRESET_3') ) {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} - if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == '駐留_PRESET_4') ) + if ( (custom_3way_button_transfer == 'PRESET_4') || (custom_3way_button_transfer == 'PARK_PRESET_4') ) {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} - if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == '駐留_PRESET_5') ) + if ( (custom_3way_button_transfer == 'PRESET_5') || (custom_3way_button_transfer == 'PARK_PRESET_5') ) {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} - if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == '駐留_FIELD_address3') ) + if ( (custom_3way_button_transfer == 'FIELD_address3') || (custom_3way_button_transfer == 'PARK_FIELD_address3') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.address3.value;} - if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == '駐留_FIELD_province') ) + if ( (custom_3way_button_transfer == 'FIELD_province') || (custom_3way_button_transfer == 'PARK_FIELD_province') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.province.value;} - if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == '駐留_FIELD_security_phrase') ) + if ( (custom_3way_button_transfer == 'FIELD_security_phrase') || (custom_3way_button_transfer == 'PARK_FIELD_security_phrase') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.security_phrase.value;} - if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == '駐留_FIELD_vendor_lead_code') ) + if ( (custom_3way_button_transfer == 'FIELD_vendor_lead_code') || (custom_3way_button_transfer == 'PARK_FIELD_vendor_lead_code') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.vendor_lead_code.value;} - if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == '駐留_FIELD_email') ) + if ( (custom_3way_button_transfer == 'FIELD_email') || (custom_3way_button_transfer == 'PARK_FIELD_email') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.email.value;} - if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == '駐留_FIELD_owner') ) + if ( (custom_3way_button_transfer == 'FIELD_owner') || (custom_3way_button_transfer == 'PARK_FIELD_owner') ) {document.vicidial_form.xfernumber.value = document.vicidial_form.owner.value;} var temp_xfernumber = document.vicidial_form.xfernumber.value; @@ -4316,23 +4463,25 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var DiaLCalLs = DiaLCalLs_array[1]; if (AGLogiN != 'N') { - document.getElementById("Agent狀態狀態").innerHTML = AGLogiN; + document.getElementById("AgentStatusStatus").innerHTML = AGLogiN; } if (CamPCalLs != 'N') { - document.getElementById("Agent狀態Calls").innerHTML = CamPCalLs; + document.getElementById("AgentStatusCalls").innerHTML = CamPCalLs; } if (DiaLCalLs != 'N') { - document.getElementById("Agent狀態DiaLs").innerHTML = DiaLCalLs; + document.getElementById("AgentStatusDiaLs").innerHTML = DiaLCalLs; } if ( (AGLogiN == 'DEAD_VLA') && ( (vicidial_agent_disable == 'LIVE_AGENT') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'DEAD_EXTERNAL') && ( (vicidial_agent_disable == 'EXTERNAL') || (vicidial_agent_disable == 'ALL') ) ) { showDiv('AgenTDisablEBoX'); + refresh_interval = 7300000; } if ( (AGLogiN == 'TIME_SYNC') && (vicidial_agent_disable == 'ALL') ) { @@ -4349,7 +4498,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {LogouT('API');} } } - var VLAStatuS_array = check_time_array[4].split("狀態: "); + var VLAStatuS_array = check_time_array[4].split("Status: "); var VLAStatuS = VLAStatuS_array[1]; if ( (VLAStatuS == 'PAUSED') && (AutoDialWaiting == 1) ) { @@ -4392,6 +4541,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_timer_action_seconds = APITimerSeconds_array[1]; var APITimerDestination_array = check_time_array[23].split("APITimerDestination: "); api_timer_action_destination = APITimerDestination_array[1]; + var APIRecording_array = check_time_array[25].split("APIRecording: "); + var api_recording = APIRecording_array[1]; var APIdtmf_array = check_time_array[20].split("APIdtmf: "); api_dtmf = APIdtmf_array[1]; var APItransfercond_array = check_time_array[21].split("APItransferconf: "); @@ -4401,9 +4552,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) api_transferconf_number = api_transferconf_values_array[2]; api_transferconf_consultative = api_transferconf_values_array[3]; api_transferconf_override = api_transferconf_values_array[4]; + api_transferconf_group_alias = api_transferconf_values_array[5]; + api_transferconf_cid_number = api_transferconf_values_array[6]; var APIpark_array = check_time_array[22].split("APIpark: "); api_parkcustomer = APIpark_array[1]; + if (api_recording=='START') + { + conf_send_recording('MonitorConf', session_id,'','1'); + } + if (api_recording=='STOP') + { + conf_send_recording('StopMonitorConf', session_id, recording_filename,'1'); + } if (api_transferconf_function.length > 0) { if (api_transferconf_function == 'HANGUP_XFER') @@ -4437,9 +4598,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; SendManualDial('YES'); } - if (api_transferconf_function == '駐留_CUSTOMER_DIAL') + if (api_transferconf_function == 'PARK_CUSTOMER_DIAL') { if (api_transferconf_consultative=='YES') {document.vicidial_form.consultativexfer.checked=true;} @@ -4449,17 +4612,19 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {document.vicidial_form.xferoverride.checked=true;} API_selected_xfergroup = api_transferconf_group; document.vicidial_form.xfernumber.value = api_transferconf_number; + active_group_alias = api_transferconf_group_alias; + cid_choice = api_transferconf_cid_number; xfer_park_dial(); } external_transferconf_count=3; } Clear_API_Field('external_transferconf'); } - if (api_parkcustomer == '駐留_CUSTOMER') + if (api_parkcustomer == 'PARK_CUSTOMER') {mainxfer_send_redirect('ParK',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_CUSTOMER') {mainxfer_send_redirect('FROMParK',lastcustchannel,lastcustserverip);} - if (api_parkcustomer == '駐留_IVR_CUSTOMER') + if (api_parkcustomer == 'PARK_IVR_CUSTOMER') {mainxfer_send_redirect('ParKivr',lastcustchannel,lastcustserverip);} if (api_parkcustomer == 'GRAB_IVR_CUSTOMER') {mainxfer_send_redirect('FROMParKivr',lastcustchannel,lastcustserverip);} @@ -4483,7 +4648,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) timer_action_destination = api_timer_action_destination; // alert("TIMER_API:" + timer_action + '|' + timer_action_message + '|' + timer_action_seconds + '|' + timer_action_destination + '|'); } - if ( (APIHanguP==1) && (VD_live_customer_call==1) ) + if ( (APIHanguP==1) && ( (VD_live_customer_call==1) || (MD_channel_look==1) ) ) { hideDiv('CustomerGoneBox'); WaitingForNextStep=0; @@ -4507,7 +4672,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { CallBackDatETimE = APIcbDATETIME; CallBackrecipient = APIcbTYPE; - CallBackLead狀態 = APIcbSTATUS; + CallBackLeadStatus = APIcbSTATUS; CallBackCommenTs = APIcbCOMMENTS; hideDiv('CallBackSelectBox'); document.vicidial_form.DispoSelection.value = 'CBHOLD'; @@ -4519,7 +4684,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) DispoQMcsCODE = APIqmCScode; } // ZZZZZZZZZZZZZZZZZZZZZZZ API callback - // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLead狀態 + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); + // alert("CBdata: " + CallBackDatETimE + "|" + CallBackrecipient + "|" + CallBackLeadStatus + "|" + CallBackCommenTs + "|" + DispoQMcsCODE + "|"); DispoSelect_submit(); } else @@ -4694,7 +4859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (channelfieldA.match(regRNnolink)) { // do not show hangup or volume control links for recording channels - live_conf_HTML = live_conf_HTML + "
    " + loop_ct + "" + channelfieldA + "recording
    " + loop_ct + "" + channelfieldA + "記錄
    px\">\">" + var CB_HTML = "
    # 撥號BACK DATE/TIME號碼INFONAME 狀態CAMPAIGNLAST 通話日期\/時間 WÄHLEN ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -5748,7 +6016,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // closes lead search screen function LeaDSearcHVieWClose() { - if (auto_resume_precall == 'Y') + if ( (auto_resume_precall == 'Y') && (inbound_lead_search < 1) ) { AutoDial_ReSume_PauSe("VDADready"); } @@ -5777,8 +6045,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else { // alt_phone_dialing=1; - 姓CallbackViewed=1; - 姓CallbackCount = (姓CallbackCount - 1); + LastCallbackViewed=1; + LastCallbackCount = (LastCallbackCount - 1); auto_dial_level=0; manual_dial_in_progress=1; MainPanelToFront(); @@ -5859,6 +6127,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManuaLDiaLGrouPSelecteD").innerHTML = "群組代名: " + active_group_alias + ""; document.getElementById("ManuaLDiaLGrouP").innerHTML = "點及此處選擇群組代名"; } + if (in_group_dial_display > 0) + { + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "撥號組: " + active_ingroup_dial + ""; + document.getElementById("ManuaLDiaLInGrouP").innerHTML = "點擊這裡選擇一個撥號組"; + } + if ( (in_group_dial == 'BOTH') || (in_group_dial == 'NO_DIAL') ) + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     點擊這裡激活"; + } showDiv('NeWManuaLDiaLBox'); document.vicidial_form.search_phone_number.value=''; @@ -5874,6 +6152,392 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Populate lead information from search while on inbound call + function LeaDSearcHSelecT(LSSlead_id,LSStype) + { + var move_on=0; + if (VD_live_customer_call==1) + { + move_on=1; + } + if (move_on == 1) + { + if (typeof(xmlhttprequestselectupdate) == "undefined") + { + var xmlhttprequestselectupdate=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttprequestselectupdate = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttprequestselectupdate = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttprequestselectupdate = false; + } + } + @end @*/ + if (!xmlhttprequestselectupdate && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestselectupdate = new XMLHttpRequest(); + } + if (xmlhttprequestselectupdate) + { + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=LeaDSearcHSelecTUpdatE" + "&lead_id=" + LSSlead_id + "&stage=" + document.vicidial_form.lead_id.value + "&agent_log_id=" + agent_log_id + "&phone_number=" + document.vicidial_form.phone_number.value; + xmlhttprequestselectupdate.open('POST', 'vdc_db_query.php'); + xmlhttprequestselectupdate.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestselectupdate.send(checkVDAI_query); + xmlhttprequestselectupdate.onreadystatechange = function() + { + if (xmlhttprequestselectupdate.readyState == 4 && xmlhttprequestselectupdate.status == 200) + { + var check_incoming = null; + lead_change = xmlhttprequestselectupdate.responseText; + // alert(checkVDAI_query); + // alert(xmlhttprequestselectupdate.responseText); + var change_array=lead_change.split("\n"); + if (change_array[0] == '1') + { + var VDIC_data_VDAC=change_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var change_data=change_array[2].split("|"); + if (change_data[0].length > 5) + {VDIC_web_form_address = change_data[0];} + var VDCL_group_name = change_data[1]; + var VDCL_group_color = change_data[2]; + var VDCL_fronter_display = change_data[3]; + VDCL_group_id = change_data[4]; + CalL_ScripT_id = change_data[5]; + CalL_AutO_LauncH = change_data[6]; + CalL_XC_a_Dtmf = change_data[7]; + CalL_XC_a_NuMber = change_data[8]; + CalL_XC_b_Dtmf = change_data[9]; + CalL_XC_b_NuMber = change_data[10]; + if ( (change_data[11].length > 1) && (change_data[11] != '---NONE---') ) + {LIVE_default_xfer_group = change_data[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (change_data[12].length > 1) && (change_data[12]!='DISABLED') ) + {LIVE_campaign_recording = change_data[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (change_data[13].length > 1) && (change_data[13]!='NONE') ) + {LIVE_campaign_rec_filename = change_data[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (change_data[14].length > 1) && (change_data[14]!='NONE') ) + {LIVE_default_group_alias = change_data[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (change_data[15].length > 1) && (change_data[15]!='NONE') ) + {LIVE_caller_id_number = change_data[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (change_data[16].length > 0) + {LIVE_web_vars = change_data[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (change_data[17].length > 5) + {VDIC_web_form_address_two = change_data[17];} + + CalL_XC_c_NuMber = change_data[21]; + CalL_XC_d_NuMber = change_data[22]; + CalL_XC_e_NuMber = change_data[23]; + CalL_XC_e_NuMber = change_data[23]; + uniqueid_status_display = change_data[24]; + uniqueid_status_prefix = change_data[26]; + did_id = change_data[28]; + did_extension = change_data[29]; + did_pattern = change_data[30]; + did_description = change_data[31]; + closecallid = change_data[32]; + xfercallid = change_data[33]; + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + LeaDPreVDispO = change_array[6]; + fronter = change_array[7]; + document.vicidial_form.vendor_lead_code.value = change_array[8]; + document.vicidial_form.list_id.value = change_array[9]; + document.vicidial_form.gmt_offset_now.value = change_array[10]; + document.vicidial_form.phone_code.value = change_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = change_array[12]; + } + } + document.vicidial_form.phone_number.value = change_array[12]; + document.vicidial_form.title.value = change_array[13]; + document.vicidial_form.first_name.value = change_array[14]; + document.vicidial_form.middle_initial.value = change_array[15]; + document.vicidial_form.last_name.value = change_array[16]; + document.vicidial_form.address1.value = change_array[17]; + document.vicidial_form.address2.value = change_array[18]; + document.vicidial_form.address3.value = change_array[19]; + document.vicidial_form.city.value = change_array[20]; + document.vicidial_form.state.value = change_array[21]; + document.vicidial_form.province.value = change_array[22]; + document.vicidial_form.postal_code.value = change_array[23]; + document.vicidial_form.country_code.value = change_array[24]; + document.vicidial_form.gender.value = change_array[25]; + document.vicidial_form.date_of_birth.value = change_array[26]; + document.vicidial_form.alt_phone.value = change_array[27]; + document.vicidial_form.email.value = change_array[28]; + document.vicidial_form.security_phrase.value = change_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + change_array[30] = change_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = change_array[30]; + document.vicidial_form.called_count.value = change_array[31]; + CBentry_time = change_array[32]; + CBcallback_time = change_array[33]; + CBuser = change_array[34]; + CBcomments = change_array[35]; + dialed_number = change_array[36]; + dialed_label = change_array[37]; + source_id = change_array[38]; + EAphone_code = change_array[39]; + EAphone_number = change_array[40]; + EAalt_phone_notes = change_array[41]; + EAalt_phone_active = change_array[42]; + EAalt_phone_count = change_array[43]; + document.vicidial_form.rank.value = change_array[44]; + document.vicidial_form.owner.value = change_array[45]; + document.vicidial_form.entry_list_id.value = change_array[47]; + custom_field_names = change_array[48]; + custom_field_values = change_array[49]; + custom_field_types = change_array[50]; + //Added By Poundteam for Audited 備註 (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = change_array[53]; + document.vicidial_form.audit_comments_button.value = change_array[53]; + var REGACcomments = new RegExp("!N","g"); + change_array[54] = change_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = change_array[54]; + } + //END section Added By Poundteam for Audited 備註 + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = change_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + hideDiv('SearcHForMDisplaYBox'); + hideDiv('SearcHResultSDisplaYBox'); + hideDiv('LeaDInfOBox'); + document.vicidial_form.search_phone_number.value=''; + document.vicidial_form.search_lead_id.value=''; + document.vicidial_form.search_vendor_lead_code.value=''; + document.vicidial_form.search_first_name.value=''; + document.vicidial_form.search_last_name.value=''; + document.vicidial_form.search_city.value=''; + document.vicidial_form.search_state.value=''; + document.vicidial_form.search_postal_code.value=''; + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 回調 "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "上一通電話:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "回撥電話:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "值機員:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "備註:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"快速傳遞\""; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"快速傳遞\""; + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"表格\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"表格\n"; + } + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + } + else + { + // do nothing + } + xmlhttprequestselectupdate = undefined; + delete xmlhttprequestselectupdate; + } + } + } + } + } + } + + // ################################################################################ // Insert the new manual dial as a lead and go to manual dial screen function NeWManuaLDiaLCalLSubmiT(tempDiaLnow) @@ -5904,7 +6568,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDDiaLCodEform.length < 1) {MDDiaLCodEform = document.vicidial_form.phone_code.value;} - if (MDDiaLOverridEform.length > 0) + if ( (MDDiaLOverridEform.length > 0) && (active_ingroup_dial.length < 1) ) { agent_dialed_number=1; agent_dialed_type='MANUAL_OVERRIDE'; @@ -5912,12 +6576,15 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - auto_dial_level=0; - manual_dial_in_progress=1; - agent_dialed_number=1; + if (active_ingroup_dial.length < 1) + { + auto_dial_level=0; + manual_dial_in_progress=1; + agent_dialed_number=1; + } MainPanelToFront(); - if (tempDiaLnow == 'PREVIEW') + if ( (tempDiaLnow == 'PREVIEW') && (active_ingroup_dial.length < 1) ) { // alt_phone_dialing=1; agent_dialed_type='MANUAL_PREVIEW'; @@ -5987,6 +6654,24 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Toggle the no-dial flag + function NoDiaLSwitcH() + { + if (nocall_dial_flag == 'DISABLED') + { + nocall_dial_flag = 'ENABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     點擊這裡取消"; + } + else + { + nocall_dial_flag = 'DISABLED'; + document.getElementById("NoDiaLSelecteD").innerHTML = "No-Call Dial: " + nocall_dial_flag + "     點擊這裡激活"; + } + } + + // ################################################################################ // Request lookup of manual dial channel function ManualDialCheckChanneL(taskCheckOR) @@ -6020,7 +6705,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS; + manDiaLlook_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLlookCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&MDnextCID=" + CIDcheck + "&agent_log_id=" + agent_log_id + "&lead_id=" + document.vicidial_form.lead_id.value + "&DiaL_SecondS=" + MD_ring_secondS + "&stage=" + taskCheckOR; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLlook_query); @@ -6064,7 +6749,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (XDalert == 'ERROR') { var XDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc; + var XDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + XDchannel + "\n" + XDerrorDesc + "\n" + XDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) ) @@ -6116,7 +6802,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (MDalert == 'ERROR') { var MDerrorDesc = MDlookResponse_array[3]; - var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc; + var MDerrorDescSIP = MDlookResponse_array[4]; + var DiaLAlerTMessagE = "Call Rejected: " + MDchannel + "\n" + MDerrorDesc + "\n" + MDerrorDescSIP; TimerActionRun("DiaLAlerT",DiaLAlerTMessagE); } if ( (MDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') ) @@ -6149,7 +6836,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("MainStatuSSpan").innerHTML = " 已撥號: " + status_display_number + " " + status_display_content + "  "; document.getElementById("ParkControl").innerHTML ="\"Park"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_駐留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -6257,8 +6944,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) MD_channel_look=0; MD_ring_secondS=0; alert_box("撥號逾時,請與系統管理員聯繫\n"); - } + if (taskCheckOR == 'YES') + { + document.getElementById("DialWithCustomer").innerHTML ="\"Dial"; + document.getElementById("ParkCustomerDial").innerHTML ="\"Park"; + } + } } // ################################################################################ @@ -6417,6 +7109,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (fields_list.match(regUDformreload)) {FormContentsLoad();} + // JOEJ 082812 - new for email feature + var regUDemailreload = new RegExp("emailreload,","ig"); + if (fields_list.match(regUDemailreload)) + {EmailContentsLoad();} + var regWFAcustom = new RegExp("^VAR","ig"); if (VDIC_web_form_address.match(regWFAcustom)) { @@ -6484,7 +7181,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } else { - document.getElementById("DiaLControl").innerHTML = "\"撥下一個號碼\""; + if (active_ingroup_dial.length < 1) + { + document.getElementById("DiaLControl").innerHTML = "\"撥下一個號碼\""; + } } var manual_dial_only_type_flag = ''; if ( (mdtype == 'ALT') || (mdtype == 'ADDR3') ) @@ -6496,7 +7196,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (mdtype == 'ADDR3') {manual_dial_only_type_flag = 'AddresS3';} } - if (document.vicidial_form.LeadPreview.checked==true) + if ( (document.vicidial_form.LeadPreview.checked==true) && (active_ingroup_dial.length < 1) ) { reselect_preview_dial = 1; in_lead_preview_state = 1; @@ -6548,13 +7248,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension; + manDiaLnext_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLnextCaLL&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&preview=" + man_preview + "&agent_log_id=" + agent_log_id + "&callback_id=" + mdnCBid + "&lead_id=" + mdnBDleadid + "&phone_code=" + mdnDiaLCodE + "&phone_number=" + mdnPhonENumbeR + "&list_id=" + mdnLisT_id + "&stage=" + mdnStagE + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&omit_phone_code=" + omit_phone_code + "&manual_dial_filter=" + manual_dial_filter + "&vendor_lead_code=" + mdVendorid + "&usegroupalias=" + mdgroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&vtiger_callback_id=" + vtiger_callback_id + "&dial_method=" + dial_method + "&manual_dial_call_time_check=" + manual_dial_call_time_check + "&qm_extension=" + qm_extension + "&dial_ingroup=" + active_ingroup_dial + "&nocall_dial_flag=" + nocall_dial_flag; // alert(manual_dial_filter + "\n" +manDiaLnext_query); xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLnext_query); xmlhttp.onreadystatechange = function() - { + { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var MDnextResponse = null; @@ -6562,261 +7262,299 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // alert(xmlhttp.responseText); MDnextResponse = xmlhttp.responseText; - var MDnextResponse_array=MDnextResponse.split("\n"); - MDnextCID = MDnextResponse_array[0]; - 姓CallCID = MDnextResponse_array[0]; - - var regMNCvar = new RegExp("HOPPER EMPTY","ig"); - var regMDFvarDNC = new RegExp("DNC","ig"); - var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); - var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if (active_ingroup_dial.length > 0) { - var alert_displayed=0; - trigger_ready=1; - alt_phone_dialing=starting_alt_phone_dialing; - auto_dial_level=starting_dial_level; - MainPanelToFront(); - CalLBacKsCounTCheck(); - - if (MDnextCID.match(regMNCvar)) - {alert_box("本專案活動已無名單:\n" + campaign); alert_displayed=1;} - if (MDnextCID.match(regMDFvarDNC)) - {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarCAMP)) - {alert_box("此電話號碼不在活動名單中:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (MDnextCID.match(regMDFvarTIME)) - {alert_box("這個電話號碼是本地通話時間之外:\n" + mdnPhonENumbeR); alert_displayed=1;} - if (alert_displayed==0) - {alert_box("Unspecified error:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} - - if (starting_dial_level == 0) - { - document.getElementById("DiaLControl").innerHTML = "\"撥下一個號碼\""; - } - else - { - if (dial_method == "INBOUND_MAN") - { - auto_dial_level=starting_dial_level; - - document.getElementById("DiaLControl").innerHTML = "\"\"恢復\"
    \"撥下一個號碼\""; - } - else - { - document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; - } - document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; - reselect_alt_dial = 0; - } + AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE'); + AutoDialWaiting=1; } else { - fronter = user; - LasTCID = MDnextResponse_array[0]; - document.vicidial_form.lead_id.value = MDnextResponse_array[1]; - LeaDPreVDispO = MDnextResponse_array[2]; - document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; - document.vicidial_form.list_id.value = MDnextResponse_array[5]; - document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; - document.vicidial_form.phone_code.value = MDnextResponse_array[7]; - if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + var MDnextResponse_array=MDnextResponse.split("\n"); + MDnextCID = MDnextResponse_array[0]; + LastCallCID = MDnextResponse_array[0]; + + var regMNCvar = new RegExp("HOPPER EMPTY","ig"); + var regMDFvarDNC = new RegExp("DNC","ig"); + var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarTIME = new RegExp("OUTSIDE","ig"); + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) { - var tmp_pn = document.getElementById("phone_numberDISP"); - if (disable_alter_custphone=='Y') + var alert_displayed=0; + trigger_ready=1; + alt_phone_dialing=starting_alt_phone_dialing; + auto_dial_level=starting_dial_level; + MainPanelToFront(); + CalLBacKsCounTCheck(); + + if (MDnextCID.match(regMNCvar)) + {alert_box("本專案活動已無名單:\n" + campaign); alert_displayed=1;} + if (MDnextCID.match(regMDFvarDNC)) + {alert_box("This phone number is in the DNC list:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarCAMP)) + {alert_box("此電話號碼不在活動名單中:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarTIME)) + {alert_box("這個電話號碼是本地通話時間之外:\n" + mdnPhonENumbeR); alert_displayed=1;} + if (alert_displayed==0) + {alert_box("Unspecified error:\n" + mdnPhonENumbeR + "|" + MDnextCID); alert_displayed=1;} + + if (starting_dial_level == 0) { - tmp_pn.innerHTML = MDnextResponse_array[8]; + document.getElementById("DiaLControl").innerHTML = "\"撥下一個號碼\""; } - } - document.vicidial_form.phone_number.value = MDnextResponse_array[8]; - document.vicidial_form.title.value = MDnextResponse_array[9]; - document.vicidial_form.first_name.value = MDnextResponse_array[10]; - document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; - document.vicidial_form.last_name.value = MDnextResponse_array[12]; - document.vicidial_form.address1.value = MDnextResponse_array[13]; - document.vicidial_form.address2.value = MDnextResponse_array[14]; - document.vicidial_form.address3.value = MDnextResponse_array[15]; - document.vicidial_form.city.value = MDnextResponse_array[16]; - document.vicidial_form.state.value = MDnextResponse_array[17]; - document.vicidial_form.province.value = MDnextResponse_array[18]; - document.vicidial_form.postal_code.value = MDnextResponse_array[19]; - document.vicidial_form.country_code.value = MDnextResponse_array[20]; - document.vicidial_form.gender.value = MDnextResponse_array[21]; - document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; - document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; - document.vicidial_form.email.value = MDnextResponse_array[24]; - document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; - var REGcommentsNL = new RegExp("!N","g"); - MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); - document.vicidial_form.comments.value = MDnextResponse_array[26]; - document.vicidial_form.called_count.value = MDnextResponse_array[27]; - previous_called_count = MDnextResponse_array[27]; - previous_dispo = MDnextResponse_array[2]; - CBentry_time = MDnextResponse_array[28]; - CBcallback_time = MDnextResponse_array[29]; - CBuser = MDnextResponse_array[30]; - CBcomments = MDnextResponse_array[31]; - dialed_number = MDnextResponse_array[32]; - dialed_label = MDnextResponse_array[33]; - source_id = MDnextResponse_array[34]; - document.vicidial_form.rank.value = MDnextResponse_array[35]; - document.vicidial_form.owner.value = MDnextResponse_array[36]; - // CalL_ScripT_id = MDnextResponse_array[37]; - script_recording_delay = MDnextResponse_array[38]; - CalL_XC_a_NuMber = MDnextResponse_array[39]; - CalL_XC_b_NuMber = MDnextResponse_array[40]; - CalL_XC_c_NuMber = MDnextResponse_array[41]; - CalL_XC_d_NuMber = MDnextResponse_array[42]; - CalL_XC_e_NuMber = MDnextResponse_array[43]; - document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; - custom_field_names = MDnextResponse_array[45]; - custom_field_values = MDnextResponse_array[46]; - custom_field_types = MDnextResponse_array[47]; - var list_webform = MDnextResponse_array[48]; - var list_webform_two = MDnextResponse_array[49]; - post_phone_time_diff_alert_message = MDnextResponse_array[50]; - - timer_action = campaign_timer_action; - timer_action_message = campaign_timer_action_message; - timer_action_seconds = campaign_timer_action_seconds; - timer_action_destination = campaign_timer_action_destination; - - lead_dial_number = dialed_number; - var dispnum = dialed_number; - var status_display_number = phone_number_format(dispnum); - var status_display_content=''; - if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} - if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} - if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} - - document.getElementById("MainStatuSSpan").innerHTML = " 撥號中: " + status_display_number + " " + status_display_content + "   " + man_status; - if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} - - if (hide_gender > 0) - { - document.vicidial_form.gender_list.value = MDnextResponse_array[21]; - } - else - { - var gIndex = 0; - if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} - if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} - document.getElementById("gender_list").selectedIndex = gIndex; - var genderIndex = document.getElementById("gender_list").selectedIndex; - var genderValue = document.getElementById('gender_list').options[genderIndex].value; - document.vicidial_form.gender.value = genderValue; - } - - LeaDDispO=''; - - VDIC_web_form_address = VICIDiaL_web_form_address - VDIC_web_form_address_two = VICIDiaL_web_form_address_two - if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} - if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} - - var regWFAcustom = new RegExp("^VAR","ig"); - if (VDIC_web_form_address.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); - TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); - } - - if (VDIC_web_form_address_two.match(regWFAcustom)) - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); - TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); - } - else - { - TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); - } - - document.getElementById("WebFormSpan").innerHTML = "\"表格\"\n"; - if (enable_second_webform > 0) - { - document.getElementById("WebFormSpanTwo").innerHTML = "\"表格\n"; - } - - if (CBentry_time.length > 2) - { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 撥號BACK "; - document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; - document.getElementById("CBcommentsBoxA").innerHTML = "上一通電話:" + CBentry_time; - document.getElementById("CBcommentsBoxB").innerHTML = "回撥電話:" + CBcallback_time; - document.getElementById("CBcommentsBoxC").innerHTML = "值機員:" + CBuser; - document.getElementById("CBcommentsBoxD").innerHTML = "備註:
    " + CBcomments; - showDiv('CBcommentsBox'); - } - - if (post_phone_time_diff_alert_message.length > 10) - { - document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; - showDiv('post_phone_time_diff_span'); - } - - if (document.vicidial_form.LeadPreview.checked==false) - { - reselect_preview_dial = 0; - MD_channel_look=1; - custchannellive=1; - - document.getElementById("HangupControl").innerHTML = "\"掛斷客戶電話\""; - - if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) - {all_record = 'YES';} - - if ( (view_scripts == 1) && (campaign_script.length > 0) ) + else { - var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; - var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); - - if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + if (dial_method == "INBOUND_MAN") { - delayed_script_load = 'YES'; - RefresHScript('CLEAR'); + auto_dial_level=starting_dial_level; + + document.getElementById("DiaLControl").innerHTML = "\"\"恢復\"
    \"撥下一個號碼\""; } else { - load_script_contents(); + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML; } + document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + reselect_alt_dial = 0; } - - if (custom_fields_enabled > 0) - { - FormContentsLoad(); - } - if (get_call_launch == 'SCRIPT') - { - if (delayed_script_load == 'YES') - { - load_script_contents(); - } - ScriptPanelToFront(); - } - - if (get_call_launch == 'FORM') - { - FormPanelToFront(); - } - - - if (get_call_launch == 'WEBFORM') - { - window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - if (get_call_launch == 'WEBFORMTWO') - { - window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); - } - } else { - reselect_preview_dial = 1; + fronter = user; + LasTCID = MDnextResponse_array[0]; + document.vicidial_form.lead_id.value = MDnextResponse_array[1]; + LeaDPreVDispO = MDnextResponse_array[2]; + document.vicidial_form.vendor_lead_code.value = MDnextResponse_array[4]; + document.vicidial_form.list_id.value = MDnextResponse_array[5]; + document.vicidial_form.gmt_offset_now.value = MDnextResponse_array[6]; + document.vicidial_form.phone_code.value = MDnextResponse_array[7]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = MDnextResponse_array[8]; + } + } + document.vicidial_form.phone_number.value = MDnextResponse_array[8]; + document.vicidial_form.title.value = MDnextResponse_array[9]; + document.vicidial_form.first_name.value = MDnextResponse_array[10]; + document.vicidial_form.middle_initial.value = MDnextResponse_array[11]; + document.vicidial_form.last_name.value = MDnextResponse_array[12]; + document.vicidial_form.address1.value = MDnextResponse_array[13]; + document.vicidial_form.address2.value = MDnextResponse_array[14]; + document.vicidial_form.address3.value = MDnextResponse_array[15]; + document.vicidial_form.city.value = MDnextResponse_array[16]; + document.vicidial_form.state.value = MDnextResponse_array[17]; + document.vicidial_form.province.value = MDnextResponse_array[18]; + document.vicidial_form.postal_code.value = MDnextResponse_array[19]; + document.vicidial_form.country_code.value = MDnextResponse_array[20]; + document.vicidial_form.gender.value = MDnextResponse_array[21]; + document.vicidial_form.date_of_birth.value = MDnextResponse_array[22]; + document.vicidial_form.alt_phone.value = MDnextResponse_array[23]; + document.vicidial_form.email.value = MDnextResponse_array[24]; + document.vicidial_form.security_phrase.value = MDnextResponse_array[25]; + var REGcommentsNL = new RegExp("!N","g"); + MDnextResponse_array[26] = MDnextResponse_array[26].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = MDnextResponse_array[26]; + document.vicidial_form.called_count.value = MDnextResponse_array[27]; + previous_called_count = MDnextResponse_array[27]; + previous_dispo = MDnextResponse_array[2]; + CBentry_time = MDnextResponse_array[28]; + CBcallback_time = MDnextResponse_array[29]; + CBuser = MDnextResponse_array[30]; + CBcomments = MDnextResponse_array[31]; + dialed_number = MDnextResponse_array[32]; + dialed_label = MDnextResponse_array[33]; + source_id = MDnextResponse_array[34]; + document.vicidial_form.rank.value = MDnextResponse_array[35]; + document.vicidial_form.owner.value = MDnextResponse_array[36]; + // CalL_ScripT_id = MDnextResponse_array[37]; + script_recording_delay = MDnextResponse_array[38]; + CalL_XC_a_NuMber = MDnextResponse_array[39]; + CalL_XC_b_NuMber = MDnextResponse_array[40]; + CalL_XC_c_NuMber = MDnextResponse_array[41]; + CalL_XC_d_NuMber = MDnextResponse_array[42]; + CalL_XC_e_NuMber = MDnextResponse_array[43]; + document.vicidial_form.entry_list_id.value = MDnextResponse_array[44]; + custom_field_names = MDnextResponse_array[45]; + custom_field_values = MDnextResponse_array[46]; + custom_field_types = MDnextResponse_array[47]; + var list_webform = MDnextResponse_array[48]; + var list_webform_two = MDnextResponse_array[49]; + post_phone_time_diff_alert_message = MDnextResponse_array[50]; + //Added By Poundteam for Audited 備註 (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = MDnextResponse_array[51]; + document.vicidial_form.audit_comments_button.value = MDnextResponse_array[51]; + var REGACcomments = new RegExp("!N","g"); + MDnextResponse_array[52] = MDnextResponse_array[52].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = MDnextResponse_array[52]; + } + //END section Added By Poundteam for Audited 備註 + + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + + lead_dial_number = dialed_number; + var dispnum = dialed_number; + var status_display_number = phone_number_format(dispnum); + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + MDnextCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " 撥號中: " + status_display_number + " " + status_display_content + "   " + man_status; + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = MDnextResponse_array[21]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + if (list_webform.length > 5) {VDIC_web_form_address=list_webform;} + if (list_webform_two.length > 5) {VDIC_web_form_address_two=list_webform_two;} + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + document.getElementById("WebFormSpan").innerHTML = "\"表格\"\n"; + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"表格\n"; + } + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 回調 "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "上一通電話:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "回撥電話:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "值機員:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "備註:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + + if (post_phone_time_diff_alert_message.length > 10) + { + document.getElementById("post_phone_time_diff_span_contents").innerHTML = "     " + post_phone_time_diff_alert_message + "
    "; + showDiv('post_phone_time_diff_span'); + } + + if (document.vicidial_form.LeadPreview.checked==false) + { + reselect_preview_dial = 0; + MD_channel_look=1; + custchannellive=1; + + document.getElementById("HangupControl").innerHTML = "\"掛斷客戶電話\""; + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record AND that the user selected a campaign that handles emails instead of phones + if (email_enabled > 0 && EMAILgroupCOUNT > 0) + { + EmailContentsLoad(); + } + if (get_call_launch == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + + if (get_call_launch == 'FORM') + { + FormPanelToFront(); + } + + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } + + if (get_call_launch == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (get_call_launch == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + } + else + { + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + if ( (view_scripts == 1) && (campaign_script.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + RefresHScript(); + } + reselect_preview_dial = 1; + } } } } @@ -6931,6 +7669,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.rank.value =''; document.vicidial_form.owner.value =''; @@ -6966,6 +7710,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_dialed_number=''; agent_dialed_type=''; CalL_ScripT_id=''; + RefresHScript('CLEAR'); + // document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=&list_id=&stage=WELCOME'; } } } @@ -7009,7 +7755,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: 備用 ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: 地址3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7067,7 +7813,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) else {var call_prefix = manual_dial_prefix;} - manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + 姓CallCID; + manDiaLonly_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=manDiaLonly&conf_exten=" + session_id + "&user=" + user + "&pass=" + pass + "&lead_id=" + document.vicidial_form.lead_id.value + "&phone_number=" + manDiaLonly_num + "&phone_code=" + document.vicidial_form.phone_code.value + "&campaign=" + campaign + "&ext_context=" + ext_context + "&dial_timeout=" + dial_timeout + "&dial_prefix=" + call_prefix + "&campaign_cid=" + call_cid + "&omit_phone_code=" + omit_phone_code + "&usegroupalias=" + usegroupalias + "&account=" + active_group_alias + "&agent_dialed_number=" + agent_dialed_number + "&agent_dialed_type=" + agent_dialed_type + "&dial_method=" + dial_method + "&agent_log_id=" + agent_log_id + "&security=" + document.vicidial_form.security_phrase.value + "&qm_extension=" + qm_extension + "&old_CID=" + LastCallCID; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(manDiaLonly_query); @@ -7082,7 +7828,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var MDOnextResponse_array=MDOnextResponse.split("\n"); MDnextCID = MDOnextResponse_array[0]; - 姓CallCID = MDOnextResponse_array[0]; + LastCallCID = MDOnextResponse_array[0]; agent_log_id = MDOnextResponse_array[1]; if (MDnextCID == " 撥號 NOT PLACED") { @@ -7131,6 +7877,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + // Will populate email tab in case this is a customer with an email record + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (get_call_launch == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7143,6 +7895,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (get_call_launch == 'EMAIL') + { + EmailPanelToFront(); + } if (get_call_launch == 'WEBFORM') { window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); @@ -7466,6 +8222,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { // alert(xmlhttprequestcheckauto.responseText); AutoDialWaiting = 0; + QUEUEpadding = 0; var VDIC_data_VDAC=check_VDIC_array[1].split("|"); VDIC_web_form_address = VICIDiaL_web_form_address @@ -7559,7 +8316,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - 姓CallCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; lastcustchannel = VDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; @@ -7639,7 +8396,17 @@ function set_length(SLnumber,SLlength_goal,SLdirection) custom_field_names = check_VDIC_array[48]; custom_field_values = check_VDIC_array[49]; custom_field_types = check_VDIC_array[50]; - + //Added By Poundteam for Audited 備註 (Manual Dial Section Only) + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value = check_VDIC_array[53]; + document.vicidial_form.audit_comments_button.value = check_VDIC_array[53]; + var REGACcomments = new RegExp("!N","g"); + check_VDIC_array[54] = check_VDIC_array[54].replace(REGACcomments, "\n"); + document.vicidial_form.audit_comments.value = check_VDIC_array[54]; + } + //END section Added By Poundteam for Audited 備註 + // Add here for AutoDial (VDADcheckINCOMING in vdc_db_query) if (hide_gender > 0) { @@ -7668,7 +8435,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CBentry_time.length > 2) { - document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 撥號BACK "; + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 回調 "; document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; document.getElementById("CBcommentsBoxA").innerHTML = "上一通電話:" + CBentry_time; document.getElementById("CBcommentsBoxB").innerHTML = "回撥電話:" + CBcallback_time; @@ -7677,7 +8444,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) showDiv('CBcommentsBox'); } if (dialed_label == 'ALT') - {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: ALT ";} + {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: 備用 ";} if (dialed_label == 'ADDR3') {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: 地址3 ";} var REGalt_dial = new RegExp("X","g"); @@ -7719,7 +8486,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } document.getElementById("ParkControl").innerHTML ="\"Park"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_駐留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML ="\"IVR"; } @@ -7888,6 +8655,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormContentsLoad(); } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } if (CalL_AutO_LauncH == 'SCRIPT') { if (delayed_script_load == 'YES') @@ -7900,6 +8672,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { FormPanelToFront(); } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } if (CalL_AutO_LauncH == 'WEBFORM') { @@ -7931,9 +8707,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) alert(" Incoming: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); } } - else + else if (email_enabled>0 && EMAILgroupCOUNT>0 && AutoDialWaiting==1) { - // do nothing + // JOEJ check for EMAIL + // QUEUEpadding is needed to allow inbound calls to get through QUEUE status + QUEUEpadding++; + if (QUEUEpadding==5) + { + QUEUEpadding=0; + check_for_incoming_email(); + } } xmlhttprequestcheckauto = undefined; delete xmlhttprequestcheckauto; @@ -7944,6 +8727,532 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Check to see if there is an email unanswered in queue +// This should not happen if the agent is INCALL + function check_for_incoming_email() + { + if (typeof(xmlhttprequestcheckemail) == "undefined") + { + all_record = 'NO'; + all_record_count=0; + var xmlhttprequestcheckemail=false; + if (!xmlhttprequestcheckemail && typeof XMLHttpRequest!='undefined') + { + xmlhttprequestcheckemail = new XMLHttpRequest(); + } + if (xmlhttprequestcheckemail) + { + + checkVDAI_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&campaign=" + campaign + "&ACTION=VDADcheckINCOMINGemail" + "&agent_log_id=" + agent_log_id; + + // Add on all the email groups the user selected in order to pass them to the vdc_db_query script + for (var i = 0; i < incomingEMAILgroups.length; i++) { + checkVDAI_query+="&inbound_email_groups[]="+incomingEMAILgroups[i]; + } + + xmlhttprequestcheckemail.open('POST', 'vdc_db_query.php'); + xmlhttprequestcheckemail.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttprequestcheckemail.send(checkVDAI_query); + + xmlhttprequestcheckemail.onreadystatechange = function() + { + if (xmlhttprequestcheckemail.readyState == 4 && xmlhttprequestcheckemail.status == 200) + { + var check_incoming = null; + check_incoming = xmlhttprequestcheckemail.responseText; + // alert(checkVDAI_query); + //alert(xmlhttprequestcheckemail.responseText); + var check_VDIC_array=check_incoming.split("\n"); + if (check_VDIC_array[0] == '1') + { + // alert(xmlhttprequestcheckemail.responseText); + AutoDialWaiting = 0; + + var VDIC_data_VDAC=check_VDIC_array[1].split("|"); + VDIC_web_form_address = VICIDiaL_web_form_address + VDIC_web_form_address_two = VICIDiaL_web_form_address_two + var VDIC_fronter=''; + + var VDIC_data_VDIG=check_VDIC_array[2].split("|"); + if (VDIC_data_VDIG[0].length > 5) + {VDIC_web_form_address = VDIC_data_VDIG[0];} + var VDCL_group_name = VDIC_data_VDIG[1]; + var VDCL_group_color = VDIC_data_VDIG[2]; + var VDCL_fronter_display = VDIC_data_VDIG[3]; + VDCL_group_id = VDIC_data_VDIG[4]; + CalL_ScripT_id = VDIC_data_VDIG[5]; + CalL_AutO_LauncH = 'EMAIL'; // FORCE EMAIL tab + CalL_XC_a_Dtmf = VDIC_data_VDIG[7]; + CalL_XC_a_NuMber = VDIC_data_VDIG[8]; + CalL_XC_b_Dtmf = VDIC_data_VDIG[9]; + CalL_XC_b_NuMber = VDIC_data_VDIG[10]; + if ( (VDIC_data_VDIG[11].length > 1) && (VDIC_data_VDIG[11] != '---NONE---') ) + {LIVE_default_xfer_group = VDIC_data_VDIG[11];} + else + {LIVE_default_xfer_group = default_xfer_group;} + + if ( (VDIC_data_VDIG[12].length > 1) && (VDIC_data_VDIG[12]!='DISABLED') ) + {LIVE_campaign_recording = VDIC_data_VDIG[12];} + else + {LIVE_campaign_recording = campaign_recording;} + + if ( (VDIC_data_VDIG[13].length > 1) && (VDIC_data_VDIG[13]!='NONE') ) + {LIVE_campaign_rec_filename = VDIC_data_VDIG[13];} + else + {LIVE_campaign_rec_filename = campaign_rec_filename;} + + if ( (VDIC_data_VDIG[14].length > 1) && (VDIC_data_VDIG[14]!='NONE') ) + {LIVE_default_group_alias = VDIC_data_VDIG[14];} + else + {LIVE_default_group_alias = default_group_alias;} + + if ( (VDIC_data_VDIG[15].length > 1) && (VDIC_data_VDIG[15]!='NONE') ) + {LIVE_caller_id_number = VDIC_data_VDIG[15];} + else + {LIVE_caller_id_number = default_group_alias_cid;} + + if (VDIC_data_VDIG[16].length > 0) + {LIVE_web_vars = VDIC_data_VDIG[16];} + else + {LIVE_web_vars = default_web_vars;} + + if (VDIC_data_VDIG[17].length > 5) + {VDIC_web_form_address_two = VDIC_data_VDIG[17];} + + var call_timer_action = VDIC_data_VDIG[18]; + + if ( (call_timer_action == 'NONE') || (call_timer_action.length < 2) ) + { + timer_action = campaign_timer_action; + timer_action_message = campaign_timer_action_message; + timer_action_seconds = campaign_timer_action_seconds; + timer_action_destination = campaign_timer_action_destination; + } + else + { + var call_timer_action_message = VDIC_data_VDIG[19]; + var call_timer_action_seconds = VDIC_data_VDIG[20]; + var call_timer_action_destination = VDIC_data_VDIG[27]; + timer_action = call_timer_action; + timer_action_message = call_timer_action_message; + timer_action_seconds = call_timer_action_seconds; + timer_action_destination = call_timer_action_destination; + } + + CalL_XC_c_NuMber = VDIC_data_VDIG[21]; + CalL_XC_d_NuMber = VDIC_data_VDIG[22]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + CalL_XC_e_NuMber = VDIC_data_VDIG[23]; + uniqueid_status_display = VDIC_data_VDIG[24]; + uniqueid_status_prefix = VDIC_data_VDIG[26]; + did_id = VDIC_data_VDIG[28]; + did_extension = VDIC_data_VDIG[29]; + did_pattern = VDIC_data_VDIG[30]; + did_description = VDIC_data_VDIG[31]; + closecallid = VDIC_data_VDIG[32]; + xfercallid = VDIC_data_VDIG[33]; + + var VDIC_data_VDFR=check_VDIC_array[3].split("|"); + if ( (VDIC_data_VDFR[1].length > 1) && (VDCL_fronter_display == 'Y') ) + {VDIC_fronter = " Fronter: " + VDIC_data_VDFR[0] + " - " + VDIC_data_VDFR[1];} + + document.vicidial_form.lead_id.value = VDIC_data_VDAC[0]; + document.vicidial_form.uniqueid.value = VDIC_data_VDAC[1]; + CIDcheck = VDIC_data_VDAC[2]; + CalLCID = VDIC_data_VDAC[2]; + LastCallCID = VDIC_data_VDAC[2]; + document.getElementById("callchannel").innerHTML = VDIC_data_VDAC[3]; + lastcustchannel = VDIC_data_VDAC[3]; + document.vicidial_form.callserverip.value = VDIC_data_VDAC[4]; + lastcustserverip = VDIC_data_VDAC[4]; + if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} + document.vicidial_form.SecondS.value = 0; + document.getElementById("SecondSDISP").innerHTML = '0'; + + if (uniqueid_status_display=='ENABLED') + {custom_call_id = " Call ID " + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PREFIX') + {custom_call_id = " Call ID " + uniqueid_status_prefix + "" + VDIC_data_VDAC[1];} + if (uniqueid_status_display=='ENABLED_PRESERVE') + {custom_call_id = " Call ID " + VDIC_data_VDIG[25];} + + VD_live_customer_call = 1; + VD_live_call_secondS = 0; + CheckDEADcallON = 1; // Do this to keep the interface from instantly reading an email as a hangup + currently_in_email = 1; // Do this to block channel checks (or anything else) that would indicate a completed call + + // INSERT VICIDIAL_LOG ENTRY FOR THIS 撥號 PROCESS + // DialLog("start"); + + custchannellive=1; + + LasTCID = check_VDIC_array[4]; + LeaDPreVDispO = check_VDIC_array[6]; + fronter = check_VDIC_array[7]; + document.vicidial_form.vendor_lead_code.value = check_VDIC_array[8]; + document.vicidial_form.list_id.value = check_VDIC_array[9]; + document.vicidial_form.gmt_offset_now.value = check_VDIC_array[10]; + document.vicidial_form.phone_code.value = check_VDIC_array[11]; + if ( (disable_alter_custphone=='Y') || (disable_alter_custphone=='HIDE') ) + { + var tmp_pn = document.getElementById("phone_numberDISP"); + if (disable_alter_custphone=='Y') + { + tmp_pn.innerHTML = check_VDIC_array[12]; + } + } + document.vicidial_form.phone_number.value = check_VDIC_array[12]; + document.vicidial_form.title.value = check_VDIC_array[13]; + document.vicidial_form.first_name.value = check_VDIC_array[14]; + document.vicidial_form.middle_initial.value = check_VDIC_array[15]; + document.vicidial_form.last_name.value = check_VDIC_array[16]; + document.vicidial_form.address1.value = check_VDIC_array[17]; + document.vicidial_form.address2.value = check_VDIC_array[18]; + document.vicidial_form.address3.value = check_VDIC_array[19]; + document.vicidial_form.city.value = check_VDIC_array[20]; + document.vicidial_form.state.value = check_VDIC_array[21]; + document.vicidial_form.province.value = check_VDIC_array[22]; + document.vicidial_form.postal_code.value = check_VDIC_array[23]; + document.vicidial_form.country_code.value = check_VDIC_array[24]; + document.vicidial_form.gender.value = check_VDIC_array[25]; + document.vicidial_form.date_of_birth.value = check_VDIC_array[26]; + document.vicidial_form.alt_phone.value = check_VDIC_array[27]; + document.vicidial_form.email.value = check_VDIC_array[28]; + document.vicidial_form.security_phrase.value = check_VDIC_array[29]; + var REGcommentsNL = new RegExp("!N","g"); + check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n"); + document.vicidial_form.comments.value = check_VDIC_array[30]; + document.vicidial_form.called_count.value = check_VDIC_array[31]; + CBentry_time = check_VDIC_array[32]; + CBcallback_time = check_VDIC_array[33]; + CBuser = check_VDIC_array[34]; + CBcomments = check_VDIC_array[35]; + dialed_number = check_VDIC_array[36]; + dialed_label = check_VDIC_array[37]; + source_id = check_VDIC_array[38]; + EAphone_code = check_VDIC_array[39]; + EAphone_number = check_VDIC_array[40]; + EAalt_phone_notes = check_VDIC_array[41]; + EAalt_phone_active = check_VDIC_array[42]; + EAalt_phone_count = check_VDIC_array[43]; + document.vicidial_form.rank.value = check_VDIC_array[44]; + document.vicidial_form.owner.value = check_VDIC_array[45]; + script_recording_delay = check_VDIC_array[46]; + document.vicidial_form.entry_list_id.value = check_VDIC_array[47]; + custom_field_names = check_VDIC_array[48]; + custom_field_values = check_VDIC_array[49]; + custom_field_types = check_VDIC_array[50]; + + + if (hide_gender > 0) + { + document.vicidial_form.gender_list.value = check_VDIC_array[25]; + } + else + { + var gIndex = 0; + if (document.vicidial_form.gender.value == 'M') {var gIndex = 1;} + if (document.vicidial_form.gender.value == 'F') {var gIndex = 2;} + document.getElementById("gender_list").selectedIndex = gIndex; + } + + lead_dial_number = document.vicidial_form.phone_number.value; + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + LasTCID;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Incoming: " + dial_display_number + " " + custom_call_id + " " + status_display_content + "   " + VDIC_fronter; + + if (CBentry_time.length > 2) + { + document.getElementById("CusTInfOSpaN").innerHTML = " PREVIOUS 回調 "; + document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor; + document.getElementById("CBcommentsBoxA").innerHTML = "上一通電話:" + CBentry_time; + document.getElementById("CBcommentsBoxB").innerHTML = "回撥電話:" + CBcallback_time; + document.getElementById("CBcommentsBoxC").innerHTML = "值機員:" + CBuser; + document.getElementById("CBcommentsBoxD").innerHTML = "備註:
    " + CBcomments; + showDiv('CBcommentsBox'); + } + if (dialed_label == 'ALT') + {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: 備用 ";} + if (dialed_label == 'ADDR3') + {document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: 地址3 ";} + var REGalt_dial = new RegExp("X","g"); + if (dialed_label.match(REGalt_dial)) + { + document.getElementById("CusTInfOSpaN").innerHTML = " 其他撥打號碼: " + dialed_label + ""; + document.getElementById("EAcommentsBoxA").innerHTML = "電話 Code and Number: " + EAphone_code + " " + EAphone_number; + + var EAactive_link = ''; + if (EAalt_phone_active == 'Y') + {EAactive_link = "變更此電話號碼為未啟動";} + else + {EAactive_link = "變更此電話號碼為啟動";} + + document.getElementById("EAcommentsBoxB").innerHTML = "啟動: " + EAalt_phone_active + "
    " + EAactive_link; + document.getElementById("EAcommentsBoxC").innerHTML = "Alt Count:" + EAalt_phone_count; + document.getElementById("EAcommentsBoxD").innerHTML = "注意: " + EAalt_phone_notes; + showDiv('EAcommentsBox'); + } + + if (VDIC_data_VDIG[1].length > 0) + { + inOUT = 'IN'; + if (VDIC_data_VDIG[2].length > 2) + { + document.getElementById("MainStatuSSpan").style.background = VDIC_data_VDIG[2]; + } + var dispnum = document.vicidial_form.phone_number.value; + var status_display_number = phone_number_format(dispnum); + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + + var status_display_content=''; + if (status_display_CALLID > 0) {status_display_content = status_display_content + " UID: " + CIDcheck;} + if (status_display_LEADID > 0) {status_display_content = status_display_content + " Lead: " + document.vicidial_form.lead_id.value;} + if (status_display_LISTID > 0) {status_display_content = status_display_content + " List: " + document.vicidial_form.list_id.value;} + + document.getElementById("MainStatuSSpan").innerHTML = " Incoming: " + dial_display_number + " " + custom_call_id + " Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter + " " + status_display_content; + } + + document.getElementById("ParkControl").innerHTML ="\"Park"; + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) + { + document.getElementById("ivrParkControl").innerHTML ="\"IVR"; + } + + document.getElementById("HangupControl").innerHTML = "\"掛斷客戶電話\""; + + document.getElementById("XferControl").innerHTML = "\"轉接"; + + document.getElementById("LocalCloser").innerHTML = "\"LOCAL"; + + document.getElementById("DialBlindTransfer").innerHTML = "\"Dial"; + + document.getElementById("DialBlindVMail").innerHTML = "\"Blind"; + + if ( (quick_transfer_button == 'IN_GROUP') || (quick_transfer_button == 'LOCKED_IN_GROUP') ) + { + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = default_xfer_group;} + + document.getElementById("QuickXfer").innerHTML = "\"快速傳遞\""; + } + if (prepopulate_transfer_preset_enabled > 0) + { + if ( (prepopulate_transfer_preset == 'PRESET_1') || (prepopulate_transfer_preset == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (prepopulate_transfer_preset == 'PRESET_2') || (prepopulate_transfer_preset == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (prepopulate_transfer_preset == 'PRESET_3') || (prepopulate_transfer_preset == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (prepopulate_transfer_preset == 'PRESET_4') || (prepopulate_transfer_preset == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (prepopulate_transfer_preset == 'PRESET_5') || (prepopulate_transfer_preset == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + } + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + { + if ( (quick_transfer_button == 'PRESET_1') || (quick_transfer_button == 'LOCKED_PRESET_1') ) + {document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfername.value='D1';} + if ( (quick_transfer_button == 'PRESET_2') || (quick_transfer_button == 'LOCKED_PRESET_2') ) + {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfername.value='D2';} + if ( (quick_transfer_button == 'PRESET_3') || (quick_transfer_button == 'LOCKED_PRESET_3') ) + {document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfername.value='D3';} + if ( (quick_transfer_button == 'PRESET_4') || (quick_transfer_button == 'LOCKED_PRESET_4') ) + {document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfername.value='D4';} + if ( (quick_transfer_button == 'PRESET_5') || (quick_transfer_button == 'LOCKED_PRESET_5') ) + {document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfername.value='D5';} + if (quick_transfer_button_locked > 0) + {quick_transfer_button_orig = document.vicidial_form.xfernumber.value;} + + document.getElementById("QuickXfer").innerHTML = "\"快速傳遞\""; + } + + if (custom_3way_button_transfer_enabled > 0) + { + document.getElementById("CustomXfer").innerHTML = "\"自定義傳輸\""; + } + + + if (call_requeue_button > 0) + { + var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; + var regCRB = new RegExp("AGENTDIRECT","ig"); + if ( (CloserSelectChoices.match(regCRB)) || (VU_closer_campaigns.match(regCRB)) ) + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + else + { + document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; + } + } + + // Build transfer pull-down list + var loop_ct = 0; + var live_XfeR_HTML = ''; + var XfeR_SelecT = ''; + while (loop_ct < XFgroupCOUNT) + { + if (VARxfergroups[loop_ct] == LIVE_default_xfer_group) + {XfeR_SelecT = 'selected ';} + else {XfeR_SelecT = '';} + live_XfeR_HTML = live_XfeR_HTML + "\n"; + loop_ct++; + } + document.getElementById("XfeRGrouPLisT").innerHTML = ""; + + if (lastcustserverip == server_ip) + { + document.getElementById("VolumeUpSpan").innerHTML = ""; + document.getElementById("VolumeDownSpan").innerHTML = ""; + } + + if (dial_method == "INBOUND_MAN") + { + document.getElementById("DiaLControl").innerHTML = "\"\"恢復\"
    \"撥下一個號碼\""; + } + else + { + document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_OFF; + } + + if (VDCL_group_id.length > 1) + {var group = VDCL_group_id;} + else + {var group = campaign;} + if ( (dialed_label.length < 2) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + + if (hide_gender < 1) + { + var genderIndex = document.getElementById("gender_list").selectedIndex; + var genderValue = document.getElementById('gender_list').options[genderIndex].value; + document.vicidial_form.gender.value = genderValue; + } + + LeaDDispO=''; + + var regWFAcustom = new RegExp("^VAR","ig"); + if (VDIC_web_form_address.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','CUSTOM'); + TEMP_VDIC_web_form_address = TEMP_VDIC_web_form_address.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address = URLDecode(VDIC_web_form_address,'YES','DEFAULT','1'); + } + + if (VDIC_web_form_address_two.match(regWFAcustom)) + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','CUSTOM'); + TEMP_VDIC_web_form_address_two = TEMP_VDIC_web_form_address_two.replace(regWFAcustom, ''); + } + else + { + TEMP_VDIC_web_form_address_two = URLDecode(VDIC_web_form_address_two,'YES','DEFAULT','2'); + } + + + document.getElementById("WebFormSpan").innerHTML = "\"表格\"\n"; + + if (enable_second_webform > 0) + { + document.getElementById("WebFormSpanTwo").innerHTML = "\"表格\n"; + } + + if ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) + {all_record = 'YES';} + + if ( (view_scripts == 1) && (CalL_ScripT_id.length > 0) ) + { + var SCRIPT_web_form = 'http://127.0.0.1/testing.php'; + var TEMP_SCRIPT_web_form = URLDecode(SCRIPT_web_form,'YES','DEFAULT','1'); + + if ( (script_recording_delay > 0) && ( (LIVE_campaign_recording == 'ALLCALLS') || (LIVE_campaign_recording == 'ALLFORCE') ) ) + { + delayed_script_load = 'YES'; + RefresHScript('CLEAR'); + } + else + { + load_script_contents(); + } + } + + if (custom_fields_enabled > 0) + { + FormContentsLoad(); + } + // JOEJ 082812 - new for email feature + if (email_enabled > 0) + { + EmailContentsLoad(); + } + if (CalL_AutO_LauncH == 'SCRIPT') + { + if (delayed_script_load == 'YES') + { + load_script_contents(); + } + ScriptPanelToFront(); + } + if (CalL_AutO_LauncH == 'FORM') + { + FormPanelToFront(); + } + if (CalL_AutO_LauncH == 'EMAIL') + { + EmailPanelToFront(); + } + + if (CalL_AutO_LauncH == 'WEBFORM') + { + window.open(TEMP_VDIC_web_form_address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + if (CalL_AutO_LauncH == 'WEBFORMTWO') + { + window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); + } + + if (useIE > 0) + { + var regCTC = new RegExp("^NONE","ig"); + if (CopY_tO_ClipboarD.match(regCTC)) + {var nothing=1;} + else + { + var tmp_clip = document.getElementById(CopY_tO_ClipboarD); + // alert_box("Copy to clipboard SETTING: |" + useIE + "|" + CopY_tO_ClipboarD + "|" + tmp_clip.value + "|"); + window.clipboardData.setData('Text', tmp_clip.value) + // alert_box("Copy to clipboard: |" + tmp_clip.value + "|" + CopY_tO_ClipboarD + "|"); + } + } + + if (alert_enabled=='ON') + { + var callnum = dialed_number; + var dial_display_number = phone_number_format(callnum); + alert(" Incoming: " + dial_display_number + "\n Group- " + VDIC_data_VDIG[1] + "   " + VDIC_fronter); + } + } + xmlhttprequestcheckemail = undefined; + delete xmlhttprequestcheckemail; + } + } + } + } + } + + // ################################################################################ // refresh or clear the SCRIPT frame contents function RefresHScript(temp_wipe) @@ -8175,8 +9484,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } } - else {process_post_hangup=1;} - if (process_post_hangup==1) + else + {process_post_hangup=1;} + if (process_post_hangup==1) { VD_live_customer_call = 0; VD_live_call_secondS = 0; @@ -8244,7 +9554,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("WebFormSpanTwo").innerHTML = "\"表格"; } document.getElementById("ParkControl").innerHTML = "\"Park"; - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_駐留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { document.getElementById("ivrParkControl").innerHTML = "\"IVR"; } @@ -8606,11 +9916,11 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var test_notes = document.vicidial_form.call_notes_dispo.value; if (test_notes.length > 0) {document.vicidial_form.call_notes.value = document.vicidial_form.call_notes_dispo.value} - document.getElementById("PerCall注意Content").innerHTML = "
    呼叫備註:
    "; + document.getElementById("PerCallNotesContent").innerHTML = "
    呼叫備註:
    "; } else { - document.getElementById("PerCall注意Content").innerHTML = ""; + document.getElementById("PerCallNotesContent").innerHTML = ""; } HidEGenDerPulldown(); @@ -8727,6 +10037,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) function OpeNSearcHForMDisplaYBox() { var move_on=1; + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) { if ((auto_pause_precall == 'Y') && ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) && (AutoDialWaiting == 1) && (VD_live_customer_call!=1) && (alt_dial_active!=1) && (MD_channel_look!=1) && (in_lead_preview_state!=1) ) @@ -8734,16 +10045,34 @@ function set_length(SLnumber,SLlength_goal,SLdirection) agent_log_id = AutoDial_ReSume_PauSe("VDADpause",'','','','','1',auto_pause_precall_code); } else + { + if ( (inOUT=='IN') && ( (agent_lead_search=='LIVE_CALL_INBOUND') || (agent_lead_search=='LIVE_CALL_INBOUND_AND_MANUAL') ) ) + { + // set phone number in search box to number of live inbound call + document.vicidial_form.search_phone_number.value=document.vicidial_form.phone_number.value; + inbound_lead_search=1; + } + else + { + move_on=0; + alert_box("你必須停下來尋找率先"); + } + } + } + else + { + if (agent_lead_search=='LIVE_CALL_INBOUND') { move_on=0; - alert_box("你必須停下來尋找率先"); + alert_box("你必須主動呼入搜索率先"); } } if (move_on == 1) { HidEGenDerPulldown(); showDiv('SearcHForMDisplaYBox'); - WaitingForNextStep=1; + if ( (VD_live_customer_call!=1) || (inOUT=='OUT') ) + {WaitingForNextStep=1;} } } @@ -8880,6 +10209,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } } + +// ################################################################################ +// Generate the 撥號組 Chooser panel + function ManuaLDiaLInGrouPSelectContent_create() + { + HidEGenDerPulldown(); + showDiv('DiaLInGrouPSelectBox'); + WaitingForNextStep=1; + DiaLInGrouP_HTML = ''; + document.vicidial_form.DiaLInGrouPSelection.value = ''; + var VD_dial_ingroups_ct_half = parseInt(dialINgroupCOUNT / 2); + DiaLInGrouP_HTML = "
    # 撥號BACK 日期\/時間 號碼  信息  全名 狀態  運動  最後 通話日期\/時間 WÄHLEN 備用
    撥號組
    "; + var loop_ct = 0; + while (loop_ct < dialINgroupCOUNT) + { + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "" + VARdialingroups[loop_ct] + "

    "; + loop_ct++; + if (loop_ct == VD_dial_ingroups_ct_half) + {DiaLInGrouP_HTML = DiaLInGrouP_HTML + "
    ";} + } + + var Go_BacK_LinK = "回上一頁"; + + DiaLInGrouP_HTML = DiaLInGrouP_HTML + "


    " + Go_BacK_LinK; + document.getElementById("DiaLInGrouPSelectContent").innerHTML = DiaLInGrouP_HTML; + if (focus_blur_enabled==1) + { + document.inert_form.inert_button.focus(); + document.inert_form.inert_button.blur(); + } + } + + // ################################################################################ // open web form, then submit disposition function WeBForMDispoSelect_submit() @@ -8928,6 +10290,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; + currently_in_email=0; customer_3way_hangup_counter=0; customer_3way_hangup_counter_trigger=0; waiting_on_dispo=1; @@ -8976,7 +10339,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLead狀態=" + CallBackLead狀態 + "&comments=" + CallBackCommenTs + "&custom_field_names=" + custom_field_names + "&call_notes=" + document.vicidial_form.call_notes_dispo.value + "&qm_dispo_code=" + DispoQMcsCODE; + DSupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=updateDISPO&format=text&user=" + user + "&pass=" + pass + "&dispo_choice=" + DispoChoice + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&auto_dial_level=" + auto_dial_level + "&agent_log_id=" + agent_log_id + "&CallBackDatETimE=" + CallBackDatETimE + "&list_id=" + document.vicidial_form.list_id.value + "&recipient=" + CallBackrecipient + "&use_internal_dnc=" + use_internal_dnc + "&use_campaign_dnc=" + use_campaign_dnc + "&MDnextCID=" + LasTCID + "&stage=" + group + "&vtiger_callback_id=" + vtiger_callback_id + "&phone_number=" + document.vicidial_form.phone_number.value + "&phone_code=" + document.vicidial_form.phone_code.value + "&dial_method" + dial_method + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&CallBackLeadStatus=" + CallBackLeadStatus + "&comments=" + encodeURIComponent(CallBackCommenTs) + "&custom_field_names=" + custom_field_names + "&call_notes=" + encodeURIComponent(document.vicidial_form.call_notes_dispo.value) + "&qm_dispo_code=" + DispoQMcsCODE + "&email_enabled=" + email_enabled; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(DSupdate_query); @@ -9033,6 +10396,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.email.value =''; document.vicidial_form.security_phrase.value=''; document.vicidial_form.comments.value =''; + document.vicidial_form.audit_comments.value =''; + if (qc_enabled > 0) + { + document.vicidial_form.ViewCommentButton.value =''; + document.vicidial_form.audit_comments_button.value =''; + } document.vicidial_form.called_count.value =''; document.vicidial_form.call_notes.value =''; document.vicidial_form.call_notes_dispo.value =''; @@ -9092,11 +10461,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("ManualQueueNotice").innerHTML = ''; APIManualDialQueue_last=0; document.vicidial_form.FORM_LOADED.value = '0'; - CallBackLead狀態 = ''; + CallBackLeadStatus = ''; CallBackDatETimE=''; CallBackrecipient=''; CallBackCommenTs=''; DispoQMcsCODE=''; + active_ingroup_dial=''; + nocall_dial_flag='DISABLED'; document.vicidial_form.CallBackDatESelectioN.value = ''; document.vicidial_form.CallBackCommenTsField.value = ''; @@ -9113,6 +10484,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.vicidial_form.MDLeadID.value = ''; document.vicidial_form.MDType.value = ''; document.vicidial_form.MDPhonENumbeRHiddeN.value = ''; + inbound_lead_search=0; if (post_phone_time_diff_alert_message.length > 10) { @@ -9137,7 +10509,10 @@ function set_length(SLnumber,SLlength_goal,SLdirection) document.getElementById("DispoSelectBox").style.top = '1px'; // Firefox error on this line for some reason document.getElementById("DispoSelectMaxMin").innerHTML = " 最小 "; document.getElementById("DispoSelectHAspan").innerHTML = "再次掛斷"; - + if (pause_after_next_call == 'ENABLED') + { + document.getElementById("NexTCalLPausE").innerHTML = "下一次調用暫停"; + } CBcommentsBoxhide(); EAcommentsBoxhide(); ContactSearchReset(); @@ -9153,6 +10528,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (auto_dial_level != '0') { AutoDialWaiting = 0; + QUEUEpadding = 0; AutoDial_ReSume_PauSe("VDADpause"); } VICIDiaL_pause_calling = 1; @@ -9229,7 +10605,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + 姓CallCID + "&auto_dial_level=" + starting_dial_level; + VMCpausecode_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=PauseCodeSubmit&format=text&status=" + newpausecode + "&agent_log_id=" + agent_log_id + "&campaign=" + campaign + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&stage=" + pause_code_counter + "&campaign_cid=" + LastCallCID + "&auto_dial_level=" + starting_dial_level; pause_code_counter++; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -9250,7 +10626,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) delete xmlhttp; } // return agent_log_id; - 姓CallCID=''; + LastCallCID=''; scroll(0,0); } @@ -9274,6 +10650,23 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } +// ################################################################################ +// Submit the 撥號組 + function DiaLInGrouPSelect_submit(dialingroupid,dialingroupgo) + { + hideDiv('DiaLInGrouPSelectBox'); + ShoWGenDerPulldown(); + WaitingForNextStep=0; + + if (dialingroupid.length > 0) + { + active_ingroup_dial = dialingroupid; + document.getElementById("ManuaLDiaLInGrouPSelecteD").innerHTML = "撥號組: " + active_ingroup_dial + ""; + } + scroll(0,0); + } + + // ################################################################################ // Populate the dtmf and xfer number for each preset link in xfer-conf frame function DtMf_PreSet_a() @@ -9412,7 +10805,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) WaitingForNextStep=0; nochannelinsession=0; } - function NoneInSessionCalL() + function NoneInSessionCalL(tempstate) { hideDiv('NoneInSessionBox'); WaitingForNextStep=0; @@ -9466,7 +10859,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } delete xmlhttp; } - if (auto_dial_level > 0) + if ( (auto_dial_level > 0) && (tempstate != 'LOGIN') ) { AutoDial_ReSume_PauSe("VDADpause"); } @@ -9532,10 +10925,13 @@ function set_length(SLnumber,SLlength_goal,SLdirection) if (CSCchange==1) { var loop_ct = 0; + EMAILgroupCOUNT = 0; + PHONEgroupCOUNT = 0; var CSCcolumn = ''; var live_CSC_HTML_ADD = ''; var live_CSC_HTML_DELETE = ''; var live_CSC_LIST_value = " "; + incomingEMAILS = 0; while (loop_ct < INgroupCOUNT) { var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); @@ -9549,6 +10945,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { live_CSC_HTML_DELETE = live_CSC_HTML_DELETE + "" + VARingroups[loop_ct] + "
    "; live_CSC_LIST_value = live_CSC_LIST_value + VARingroups[loop_ct] + " "; + if (VARingroup_handlers[loop_ct]=="EMAIL") + { + incomingEMAILgroups[incomingEMAILS]=VARingroups[loop_ct]; + EMAILgroupCOUNT++; + incomingEMAILS++; + } + else + { + PHONEgroupCOUNT++; + } } else { @@ -9828,7 +11234,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) // ################################################################################ -// Log the user out of the system when they close their browser while logged in +// Log the user out of the system when they 關閉their browser while logged in function BrowserCloseLogout() { if (logout_stop_timeouts < 1) @@ -9915,6 +11321,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) hideDiv('MainPanel'); showDiv('LogouTBox'); + refresh_interval = 7300000; var logout_content=''; if (tempreason=='SHIFT') {logout_content='Your Shift is over or has changed, you have been logged out of your session

    ';} @@ -9964,19 +11371,27 @@ if ($useIE > 0) } else { - HKdispo_display = 4; - HKfinish=1; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } } @@ -10020,19 +11435,27 @@ else } else { - HKdispo_display = 4; - HKfinish=1; - document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; - showDiv('HotKeyActionBox'); - hideDiv('HotKeyEntriesBox'); - document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; - alt_phone_dialing=starting_alt_phone_dialing; - alt_dial_active = 0; - alt_dial_status_display = 0; - dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); - if (custom_fields_enabled > 0) + // transfer call to answering maching message with hotkey + if ( (HKdispo_ary[0] == 'LTMG') || (HKdispo_ary[0] == 'XFTAMM') ) { - vcFormIFrame.document.form_custom_fields.submit(); + mainxfer_send_redirect('XfeRVMAIL', lastcustchannel, lastcustserverip); + } + else + { + HKdispo_display = 4; + HKfinish=1; + document.getElementById("HotKeyDispo").innerHTML = HKdispo_ary[0] + " - " + HKdispo_ary[1]; + showDiv('HotKeyActionBox'); + hideDiv('HotKeyEntriesBox'); + document.vicidial_form.DispoSelection.value = HKdispo_ary[0]; + alt_phone_dialing=starting_alt_phone_dialing; + alt_dial_active = 0; + alt_dial_status_display = 0; + dialedcall_send_hangup('NO', 'YES', HKdispo_ary[0]); + if (custom_fields_enabled > 0) + { + vcFormIFrame.document.form_custom_fields.submit(); + } } } // DispoSelect_submit(); @@ -10162,6 +11585,7 @@ else "&agent_log_id=" + agent_log_id + '' + "&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' + "&call_id=" + LasTCID + '' + + "&user_group=" + VU_user_group + '' + "&web_vars=" + LIVE_web_vars + '' + webform_session; @@ -10376,6 +11800,7 @@ else var SCclosecallid = closecallid; var SCxfercallid = xfercallid; var SCcall_id = LasTCID; + var SCuser_group = VU_user_group; var SCagent_log_id = agent_log_id; var SCweb_vars = LIVE_web_vars; @@ -10449,6 +11874,7 @@ else SCdid_pattern = SCdid_pattern.replace(RGplus,'+'); SCdid_description = SCdid_description.replace(RGplus,'+'); SCcall_id = SCcall_id.replace(RGplus,'+'); + SCuser_group = SCuser_group.replace(RGplus,'+'); SCweb_vars = SCweb_vars.replace(RGplus,'+'); } @@ -10525,6 +11951,7 @@ else var RGxfercallid = new RegExp("--A--xfercallid--B--","g"); var RGagent_log_id = new RegExp("--A--agent_log_id--B--","g"); var RGcall_id = new RegExp("--A--call_id--B--","g"); + var RGuser_group = new RegExp("--A--user_group--B--","g"); var RGweb_vars = new RegExp("--A--web_vars--B--","g"); encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code); @@ -10600,6 +12027,7 @@ else encoded = encoded.replace(RGxfercallid, SCxfercallid); encoded = encoded.replace(RGagent_log_id, SCagent_log_id); encoded = encoded.replace(RGcall_id, SCcall_id); + encoded = encoded.replace(RGuser_group, SCuser_group); encoded = encoded.replace(RGweb_vars, SCweb_vars); } decoded=encoded; // simple no ? @@ -10839,7 +12267,6 @@ function phone_number_format(formatphone) { } delete xmlhttp; } - } } } @@ -10895,7 +12322,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the callsinqueue view bottombar +// Open or 關閉the callsinqueue view bottombar function show_calls_in_queue(CQoperation) { if (CQoperation=='SHOW') @@ -10914,7 +12341,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the agents view sidebar or xfer frame +// Open or 關閉the agents view sidebar or xfer frame function AgentsViewOpen(AVlocation,AVoperation) { if (AVoperation=='open') @@ -10939,7 +12366,7 @@ function phone_number_format(formatphone) { // ################################################################################ -// Open or close the webphone view sidebar +// Open or 關閉the webphone view sidebar function webphoneOpen(WVlocation,WVoperation) { if (WVoperation=='open') @@ -10973,7 +12400,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('agentdirectlink'); } @@ -10990,7 +12417,7 @@ function phone_number_format(formatphone) { { var XfeRSelecT = document.getElementById("XfeRGrouP"); var XScheck = XfeRSelecT.value - if (XScheck.match(/AGENTDIRECT/)) + if (XScheck.match(/AGENTDIRECT/i)) { showDiv('AgentXferViewSpan'); AgentsViewOpen('AgentXferViewSelect','open'); @@ -11034,7 +12461,7 @@ function phone_number_format(formatphone) { // ################################################################################ // View Customer lead information - function VieWLeaDInfO(VLI_lead_id,VLI_cb_id) + function VieWLeaDInfO(VLI_lead_id,VLI_cb_id,VLI_inbound_lead_search) { showDiv('LeaDInfOBox'); @@ -11059,7 +12486,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + VLI_lead_id + "&disable_alter_custphone=" + disable_alter_custphone + "&campaign=" + campaign + "&callback_id=" + VLI_cb_id + "&inbound_lead_search=" + VLI_inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11122,7 +12549,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLLOGview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&date=" + logdate + "&disable_alter_custphone=" + disable_alter_custphone +"&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11206,7 +12633,7 @@ function phone_number_format(formatphone) { // Gather and display lead search data function LeadSearchSubmit() { - if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) + if ( ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) || (MD_channel_look==1) || (in_lead_preview_state==1) ) && (inbound_lead_search < 1) ) { alert_box("你必須停下來尋找率先"); } @@ -11245,7 +12672,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&stage="; + LSview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=SEARCHRESULTSview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&phone_number=" + document.vicidial_form.search_phone_number.value + "&lead_id=" + document.vicidial_form.search_lead_id.value + "&vendor_lead_code=" + document.vicidial_form.search_vendor_lead_code.value + "&first_name=" + document.vicidial_form.search_first_name.value + "&last_name=" + document.vicidial_form.search_last_name.value + "&city=" + document.vicidial_form.search_city.value + "&state=" + document.vicidial_form.search_state.value + "&postal_code=" + document.vicidial_form.search_postal_code.value + "&search=" + phone_search_fields + "&campaign=" + campaign + "&inbound_lead_search=" + inbound_lead_search + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(LSview_query); @@ -11299,7 +12726,7 @@ function phone_number_format(formatphone) { // 更新 the lead notes display function VieWNotesLoG(logframe) { - showDiv('CalL注意DisplaYBox'); + showDiv('CalLNotesDisplaYBox'); var xmlhttp=false; /*@cc_on @*/ @@ -11322,7 +12749,7 @@ function phone_number_format(formatphone) { } if (xmlhttp) { - RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&stage="; + RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=LEADINFOview&search=logfirst&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign + "&manual_dial_filter=" + agentcall_manual + "&stage="; xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(RAview_query); @@ -11390,11 +12817,25 @@ function phone_number_format(formatphone) { var form_entry_list_id = document.vicidial_form.entry_list_id.value; if (form_entry_list_id.length > 2) {form_list_id = form_entry_list_id} - document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + '' +"&web_vars=" + LIVE_web_vars + ''; + document.getElementById('vcFormIFrame').src='./vdc_form_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; form_list_id = ''; form_entry_list_id = ''; } +// ################################################################################ +// 更新 the EMAIL content + function EmailContentsLoad() + { + var form_list_id = document.vicidial_form.list_id.value; + var form_entry_list_id = document.vicidial_form.entry_list_id.value; + if (form_entry_list_id.length > 2) + {form_list_id = form_entry_list_id} + document.getElementById('vcEmailIFrame').src='./vdc_email_display.php?lead_id=' + document.vicidial_form.lead_id.value + '&list_id=' + form_list_id + '&user=' + user + '&pass=' + pass + '&campaign=' + campaign + '&server_ip=' + server_ip + '&session_id=' + '&uniqueid=' + document.vicidial_form.uniqueid.value + '&stage=DISPLAY' + "&campaign=" + campaign + "&phone_login=" + phone_login + "&original_phone_login=" + original_phone_login +"&phone_pass=" + phone_pass + "&fronter=" + fronter + "&closer=" + user + "&group=" + group + "&channel_group=" + group + "&SQLdate=" + SQLdate + "&epoch=" + UnixTime + "&uniqueid=" + document.vicidial_form.uniqueid.value + "&customer_zap_channel=" + lastcustchannel + "&customer_server_ip=" + lastcustserverip +"&server_ip=" + server_ip + "&SIPexten=" + extension + "&session_id=" + session_id + "&phone=" + document.vicidial_form.phone_number.value + "&parked_by=" + document.vicidial_form.lead_id.value +"&dispo=" + LeaDDispO + '' +"&dialed_number=" + dialed_number + '' +"&dialed_label=" + dialed_label + '' +"&camp_script=" + campaign_script + '' +"&in_script=" + CalL_ScripT_id + '' +"&script_width=" + script_width + '' +"&script_height=" + script_height + '' +"&fullname=" + LOGfullname + '' +"&recording_filename=" + recording_filename + '' +"&recording_id=" + recording_id + '' +"&user_custom_one=" + VU_custom_one + '' +"&user_custom_two=" + VU_custom_two + '' +"&user_custom_three=" + VU_custom_three + '' +"&user_custom_four=" + VU_custom_four + '' +"&user_custom_five=" + VU_custom_five + '' +"&preset_number_a=" + CalL_XC_a_NuMber + '' +"&preset_number_b=" + CalL_XC_b_NuMber + '' +"&preset_number_c=" + CalL_XC_c_NuMber + '' +"&preset_number_d=" + CalL_XC_d_NuMber + '' +"&preset_number_e=" + CalL_XC_e_NuMber + '' +"&preset_dtmf_a=" + CalL_XC_a_Dtmf + '' +"&preset_dtmf_b=" + CalL_XC_b_Dtmf + '' +"&did_id=" + did_id + '' +"&did_extension=" + did_extension + '' +"&did_pattern=" + did_pattern + '' +"&did_description=" + did_description + '' +"&closecallid=" + closecallid + '' +"&xfercallid=" + xfercallid + '' + "&agent_log_id=" + agent_log_id + "&call_id=" + LasTCID + "&user_group=" + VU_user_group + '' +"&web_vars=" + LIVE_web_vars + ''; + form_list_id = ''; + form_entry_list_id = ''; + } + + // ################################################################################ // Move the Dispo frame out of the way and change the link to maximize function DispoMinimize() @@ -11419,6 +12860,15 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Trigger a pause on the next dispo screen only + function next_call_pause_click() + { + document.vicidial_form.DispoSelectStop.checked=true; + document.getElementById("NexTCalLPausE").innerHTML = "下一次調用暫停 Set"; + } + + // ################################################################################ // 展現 the groups selection span function OpeNGrouPSelectioN() @@ -11549,7 +12999,7 @@ function phone_number_format(formatphone) { var CallBackTimEAmpM = CallBackTimEAmpMFORM[CallBackTimEAmpMFORM.selectedIndex].text; // var CallBackTimEAmpMIDX = CallBackTimEAmpMFORM.value; - CallBackLead狀態 = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; // alert (CallBackTimEHouR + "|" + CallBackTimEHouRFORM + "|" + CallBackTimEHouRIDX + "|"); // alert (CallBackTimEMinuteS + "|" + CallBackTimEMinuteSFORM + "|" + CallBackTimEMinuteSIDX + "|"); @@ -11566,7 +13016,7 @@ function phone_number_format(formatphone) { CallBackTimEHouR = document.vicidial_form.CBT_hour.value; CallBackTimEMinuteS = document.vicidial_form.CBT_minute.value; CallBackTimEAmpM = document.vicidial_form.CBT_ampm.value; - CallBackLead狀態 = document.vicidial_form.DispoSelection.value; + CallBackLeadStatus = document.vicidial_form.DispoSelection.value; document.vicidial_form.CBT_hour.value = '01'; document.vicidial_form.CBT_minute.value = '00'; @@ -11623,7 +13073,7 @@ function phone_number_format(formatphone) { var next_action=0; if (taskaction == 'DiaLAlerT') { - document.getElementById("TimerContentSpan").innerHTML = "DIAL ALERT:

    " + taskdialalert.replace("\n","
    ") + "
    "; + document.getElementById("TimerContentSpan").innerHTML = "撥號提醒:

    " + taskdialalert.replace("\n","
    ") + "
    "; showDiv('TimerSpan'); } @@ -11738,7 +13188,7 @@ function phone_number_format(formatphone) { // GLOBAL FUNCTIONS function begin_all_refresh() { - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) {echo "document.onkeypress = hotkeypress;\n";} ?> + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) {echo "document.onkeypress = hotkeypress;\n";} ?> all_refresh(); } function start_all_refresh() @@ -11753,9 +13203,12 @@ function phone_number_format(formatphone) { hideDiv('EAcommentsMinBox'); hideDiv('HotKeyActionBox'); hideDiv('HotKeyEntriesBox'); + hideDiv('ViewCommentsBox'); hideDiv('MainPanel'); hideDiv('ScriptPanel'); hideDiv('ScriptRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); hideDiv('DispoSelectBox'); @@ -11766,7 +13219,7 @@ function phone_number_format(formatphone) { hideDiv('NoneInSessionBox'); hideDiv('WrapupBox'); hideDiv('TransferMain'); - hideDiv('歡迎BoxA'); + hideDiv('WelcomeBoxA'); hideDiv('CallBackSelectBox'); hideDiv('DispoButtonHideA'); hideDiv('DispoButtonHideB'); @@ -11776,11 +13229,12 @@ function phone_number_format(formatphone) { hideDiv('PauseCodeSelectBox'); hideDiv('PresetsSelectBox'); hideDiv('GroupAliasSelectBox'); + hideDiv('DiaLInGrouPSelectBox'); hideDiv('AgentViewSpan'); hideDiv('AgentXferViewSpan'); hideDiv('TimerSpan'); hideDiv('CalLLoGDisplaYBox'); - hideDiv('CalL注意DisplaYBox'); + hideDiv('CalLNotesDisplaYBox'); hideDiv('SearcHForMDisplaYBox'); hideDiv('SearcHResultSDisplaYBox'); hideDiv('SearcHContactsDisplaYBox'); @@ -11790,6 +13244,8 @@ function phone_number_format(formatphone) { hideDiv('blind_monitor_notice_span'); hideDiv('post_phone_time_diff_span'); hideDiv('ivrParkControl'); + if (deactivated_old_session < 1) + {hideDiv('DeactivateDOlDSessioNSpan');} if (is_webphone!='Y') {hideDiv('webphoneSpan');} if (view_calls_in_queue_launch != '1') @@ -11803,17 +13259,19 @@ function phone_number_format(formatphone) { {hideDiv('ManuaLDiaLButtons');} if (agent_call_log_view != '1') { - hideDiv('Call注意Buttons'); + hideDiv('CallNotesButtons'); hideDiv('CallLogButtons'); } if (callholdstatus != '1') - {hideDiv('Agent狀態Calls');} + {hideDiv('AgentStatusCalls');} if (agentcallsstatus != '1') - {hideDiv('Agent狀態Span');} + {hideDiv('AgentStatusSpan');} if ( ( (auto_dial_level > 0) && (dial_method != "INBOUND_MAN") ) || (manual_dial_preview < 1) ) {clearDiv('DiaLLeaDPrevieW');} if (alt_phone_dialing != 1) {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (volumecontrol_active != '1') {hideDiv('VolumeControlSpan');} if (DefaulTAlTDiaL == '1') @@ -11836,6 +13294,8 @@ function phone_number_format(formatphone) { {hideDiv('ParkCustomerDial');} if (AllowManualQueueCallsChoice == '1') {document.getElementById("ManualQueueChoice").innerHTML = "
    手動隊列是關
    ";} + if (qc_enabled < 1) + {document.getElementById("viewcommentsdisplay").innerHTML = "";} document.vicidial_form.LeadLookuP.checked=true; @@ -11860,6 +13320,8 @@ function phone_number_format(formatphone) { showDiv('CloserSelectBox'); var CloserSelecting = 1; CloserSelectContent_create(); + if (VU_agent_choose_ingroups_DV == "MGRLOCK") + {VU_agent_choose_ingroups_skip_count=4;} } else { @@ -11879,6 +13341,8 @@ function phone_number_format(formatphone) { showDiv('TerritorySelectBox'); var TerritorySelecting = 1; TerritorySelectContent_create(); + if (agent_select_territories == "MGRLOCK") + {agent_select_territories_skip_count=4;} } else { @@ -11916,7 +13380,7 @@ function phone_number_format(formatphone) { if (is_webphone=='Y') { NoneInSession(); - document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; + document.getElementById("NoneInSessionLink").innerHTML = "Call Agent Webphone ->"; var WebPhonEtarget = 'webphonewindow'; @@ -11925,7 +13389,7 @@ function phone_number_format(formatphone) { // WebPhonEwin.blur(); } - if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_駐留_ONLY') ) + if ( (ivr_park_call=='ENABLED') || (ivr_park_call=='ENABLED_PARK_ONLY') ) { showDiv('ivrParkControl'); } @@ -11990,6 +13454,18 @@ function phone_number_format(formatphone) { check_for_conf_calls(session_id, '0'); AgentDispoing++; } + if (VU_agent_choose_ingroups_skip_count > 0) + { + VU_agent_choose_ingroups_skip_count--; + if (VU_agent_choose_ingroups_skip_count == 0) + {CloserSelect_submit();} + } + if (agent_select_territories_skip_count > 0) + { + agent_select_territories_skip_count--; + if (agent_select_territories_skip_count == 0) + {TerritorySelect_submit();} + } if (logout_stop_timeouts==1) {WaitingForNextStep=1;} if ( (custchannellive < -30) && (lastcustchannel.length > 3) && (no_empty_session_warnings < 1) ) {CustomerChanneLGone();} if ( (custchannellive < -10) && (lastcustchannel.length > 3) ) {ReChecKCustoMerChaN();} @@ -12015,7 +13491,7 @@ function phone_number_format(formatphone) { // refresh agent status view if (agent_status_view_active > 0) { - refresh_agents_view('AgentView狀態',agent_status_view); + refresh_agents_view('AgentViewStatus',agent_status_view); } if (view_calls_in_queue_active > 0) { @@ -12086,7 +13562,7 @@ function phone_number_format(formatphone) { else { customer_3way_hangup_counter++; - document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY HANGUP " + customer_3way_hangup_counter; + document.getElementById("debugbottomspan").innerHTML = "CUSTOMER 3WAY 掛斷 " + customer_3way_hangup_counter; } } if ( (update_fields > 0) && (update_fields_data.length > 2) ) @@ -12530,6 +14006,24 @@ function phone_number_format(formatphone) { } } + function ViewComments(VCommstate) + { + if ( (VCommstate == 'ON') ) + { + showDiv('ViewCommentsBox'); + //view_comments_active = 1; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + } + else + { + hideDiv('ViewCommentsBox'); + //view_comments_active = 0; + document.getElementById("viewcommentsdisplay").innerHTML = ""; + document.vicidial_form.ViewCommentButton.value = document.vicidial_form.audit_comments_button.value; + + } + } + function ShoWTransferMain(showxfervar,showoffvar) { if (VU_vicidial_transfers == '1') @@ -12611,6 +14105,8 @@ function phone_number_format(formatphone) { hideDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); showDiv('MainPanel'); ShoWGenDerPulldown(); @@ -12620,6 +14116,8 @@ function phone_number_format(formatphone) { {buildDiv('DiaLDiaLAltPhonE');} else {clearDiv('DiaLDiaLAltPhonE');} + if (pause_after_next_call != 'ENABLED') + {clearDiv('NexTCalLPausE');} if (auto_dial_level == 0) { if (auto_dial_alt_dial==1) @@ -12662,6 +14160,8 @@ function phone_number_format(formatphone) { showDiv('ScriptRefresH'); hideDiv('FormPanel'); hideDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12677,6 +14177,22 @@ function phone_number_format(formatphone) { document.getElementById("CallbacksButtons").style.left = '360px'; showDiv('FormPanel'); showDiv('FormRefresH'); + hideDiv('EmailPanel'); + hideDiv('EmailRefresH'); + document.getElementById("MainTable").style.backgroundColor=""; + document.getElementById("MaiNfooter").style.backgroundColor=""; + panel_bgcolor=''; + // document.getElementById("MainStatuSSpan").style.background = panel_bgcolor; + + HidEGenDerPulldown(); + } + function EmailPanelToFront() + { + var CBFPheight = 'px'; + document.getElementById("CallbacksButtons").style.top = CBFPheight; + document.getElementById("CallbacksButtons").style.left = '360px'; + showDiv('EmailPanel'); + showDiv('EmailRefresH'); document.getElementById("MainTable").style.backgroundColor=""; document.getElementById("MaiNfooter").style.backgroundColor=""; panel_bgcolor=''; @@ -12768,7 +14284,7 @@ $zi=2;    
    0) {echo "TERRITORIES     \n";} ?> - 0) {echo "GROUPS     \n";} ?> + 0) {echo "     \n";} ?> 登出\n"; ?>
    @@ -12782,14 +14298,17 @@ $zi=2; 0) {echo "
    \"FORM\"  LIVE   session ID:    \"EMAIL\"  LIVE    Session ID:     通話中電話
    - -

    Agent Screen
    + +

    Agent Screen
    @@ -12800,7 +14319,7 @@ $zi=2;
    \n"; + echo "
    \n"; } ?> @@ -12813,6 +14332,8 @@ $zi=2; LEAD PREVIEW
    撥打其他電話
    + 下一次調用暫停
    + + 啟動錄音

    表格
    @@ -12836,7 +14357,7 @@ $zi=2;  
    Park Call
    \"IVR

    \n";} else {echo "\n";} @@ -12885,7 +14406,7 @@ $zi=2;
    客戶資訊:         引領搜索";} ?> "; - if ( (ereg('Y',$disable_alter_custphone)) or (ereg('HIDE',$disable_alter_custphone)) ) + if ( (preg_match('/Y/',$disable_alter_custphone)) or (preg_match('/HIDE/',$disable_alter_custphone)) ) { echo "                     "; echo ""; @@ -13038,26 +14559,27 @@ $zi=2; } else { - echo "$label_comments: "; + echo "$label_comments:
    +
    "; if ( ($multi_line_comments) ) {echo "\n";} else {echo "\n";} } - - echo "
    \n"; + echo "
    \n"; if ($per_call_notes == 'ENABLED') { echo "呼叫備註: "; if ($agent_call_log_view == '1') - {echo "
    查看筆記 ";} + {echo "
    查看筆記 ";} echo "
    "; echo "\n"; } else { - echo " \n"; + echo " \n"; } @@ -13107,10 +14629,10 @@ $zi=2;
    0) ) - {echo "Alert is ON";} + if ( (preg_match('/ON/',$VU_alert_enabled)) and ($AgentAlert_allowed > 0) ) + {echo "警報是在";} else - {echo "Alert is OFF";} + {echo "警報關閉";} ?>
    @@ -13119,10 +14641,6 @@ $zi=2;
    - 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> -關閉快捷鍵 - - 秒:     @@ -13130,8 +14648,8 @@ $zi=2;
    - -您目前的狀態:
    Calls Dialing: + +您目前的狀態:
    Calls Dialing:
    @@ -13166,7 +14684,7 @@ if ($view_calls_in_queue > 0)
      -其他代理狀態:  
     
    +其他代理狀態:  
     
    0)
    \n";} + {echo "
    \n";} ?>
    AGENT SCRIPT
    @@ -13221,13 +14739,25 @@ if ($agent_display_dialable_leads > 0)
    \n";} + {echo "
    \n";} ?>
    - -refresh + +
    \n";} + ?> +
    +
    + + +復位形式 + + + +refresh @@ -13374,6 +14904,23 @@ if ($agent_display_dialable_leads > 0)
    + 0) && ($user_level>=$HKuser_level) && ($VU_hotkeys_active > 0) ) { ?> +關閉快捷鍵 + + + + + px height='px'> + + + + + + +
    查看評論歷史:
    +
    + @@ -13447,7 +14994,7 @@ if ($agent_display_dialable_leads > 0) -
    Your session has been disabled
    登出

    回上一頁 +
    Your session has been disabled
    登出

    @@ -13476,18 +15023,18 @@ if ($agent_display_dialable_leads > 0)
    通話結束 :       再次掛斷       最小

    \n";} + {echo "

    \n";} ?> - + 結束碼選擇
    暫停值機員撥號
    清除表單 | 確認送出

    - WEB FORM 確認送出 + 網頁的形式提交

     
    @@ -13496,7 +15043,7 @@ if ($agent_display_dialable_leads > 0)
    選擇回撥日期 :

    \n";} + {echo "

    \n";} ?> @@ -13554,7 +15101,7 @@ if ($agent_display_dialable_leads > 0)

    \n";} + {echo "

    \n";} ?>

      @@ -13565,10 +15112,10 @@ if ($agent_display_dialable_leads > 0) -
    新的人工撥號紀錄給 :

    請輸入下面的資訊給您想要外撥的新紀錄. + - + @@ -13613,7 +15164,7 @@ if ($agent_display_dialable_leads > 0)
    新的人工撥號紀錄給 :

    請輸入下面的資訊給您想要外撥的新紀錄.
    \n"; } @@ -13578,9 +15125,9 @@ if ($agent_display_dialable_leads > 0)
    Dial Code:   (This is usually a 1 in the USA-Canada)
    電話 Number: 電話號碼: -   (digits only) +   (僅數字) @@ -13593,6 +15140,10 @@ if ($agent_display_dialable_leads > 0)

        +

    +     +

    +


    If you want to dial a number and have it NOT be added as a new lead, enter in the exact dialstring that you want to call in the Dial Override field below. To hangup this call you will have to open the 撥號S IN THIS SESSION link at the bottom of the screen and hang it up by clicking on its channel link there.
     
    CLOSER INBOUND GROUP SELECTION

    \n";} + {echo "

    \n";} ?> Closer Inbound Group Selection
    @@ -13635,7 +15186,7 @@ if ($agent_display_dialable_leads > 0)
    領地的選擇

    \n";} + {echo "

    \n";} ?> Territory Selection
    @@ -13657,10 +15208,10 @@ if ($agent_display_dialable_leads > 0) -
          AGENT 撥號 LOG:             close [X]
    +
          代理通話記錄:             關閉[X]

    \n";} + {echo "

    \n";} ?>
    Call log List


      @@ -13668,10 +15219,10 @@ if ($agent_display_dialable_leads > 0) -
          搜索聯繫人:             close [X]
    +
          搜索聯繫人:             關閉[X]

    \n";} + {echo "

    \n";} ?>

    注:時,做了一個接觸搜索,通配符或部分搜索條件不允許.
    聯繫人搜索請求都記錄在系統. @@ -13679,31 +15230,31 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + - + - + - + - + - + - +
    Office Number: 辦公室電話號碼:
    名 Name: 名字:
    姓 Name: 姓:
    BU Name: 企業名稱:
    Department: 部門:
    Group Name: 組名:
    Job 職銜: 職稱:
    Location: 位置:

    確認送出 SEARCH             復位形式

    提交搜索             復位形式


      @@ -13711,10 +15262,10 @@ if ($agent_display_dialable_leads > 0) -
          聯繫人搜索結果:             close [X]
    +
          聯繫人搜索結果:             關閉[X]

    \n";} + {echo "

    \n";} ?>
    Search Results


      @@ -13722,10 +15273,10 @@ if ($agent_display_dialable_leads > 0) -
          作者:帶頭作用:             close [X]
    +
          作者:帶頭作用:             關閉[X]

    \n";} + {echo "

    \n";} ?>

    注:做一個領先的搜索時,電話號碼,導致ID或 是最好的領域使用.
    使用的其他領域可能會比較慢。鉛搜索不允許通配符或部分搜索字詞.
    鉛的搜索請求都記錄在系統. @@ -13733,10 +15284,10 @@ if ($agent_display_dialable_leads > 0)
    - + - + - + @@ -13765,7 +15316,7 @@ if ($agent_display_dialable_leads > 0) - +
    電話 Number: 電話號碼:
    電話 Number Fields: 電話號碼字段: 主要電話號碼 備用電話號碼 @@ -13744,7 +15295,7 @@ if ($agent_display_dialable_leads > 0)
    Lead ID: 導致ID:
    : :

    確認送出 SEARCH             復位形式

    提交搜索             復位形式


      @@ -13773,34 +15324,34 @@ if ($agent_display_dialable_leads > 0) -
          搜尋結果:             close [X]
    +
          搜尋結果:             關閉[X]

    \n";} + {echo "

    \n";} ?>
    Search Results


     
    - - "; -$MAIN.=""; +$MAIN.=""; +$MAIN.=""; + +$MAIN.=""; $MAIN.="
          調用注意日誌:             close [X]
    + +
          調用Notes日誌:             關閉[X]

    \n";} + {echo "

    \n";} ?> -
    呼叫債券清單
    +
    呼叫債券清單


      - 關閉信息框 + 關閉信息框
    -
          客戶資訊:             close [X] +
          客戶資訊:             關閉[X]

    \n";} + {echo "

    \n";} ?> Lead Info

      @@ -13812,7 +15363,7 @@ if ($agent_display_dialable_leads > 0) "; $DURATION_graph.=" "; $HANDLETIME_graph.=" "; - } + } $CALLS_graph.="
    選擇暫停原因代碼 :

    \n";} + {echo "

    \n";} ?> 暫停 Code Selection @@ -13824,7 +15375,7 @@ if ($agent_display_dialable_leads > 0)
    選擇預設 :

    \n";} + {echo "

    \n";} ?> Presets Selection @@ -13835,7 +15386,7 @@ if ($agent_display_dialable_leads > 0)
    選擇群組代名 :

    \n";} + {echo "

    \n";} ?> 群組代名選擇 @@ -13843,6 +15394,18 @@ if ($agent_display_dialable_leads > 0)
    + +
    選擇一個撥號組 :
    +
    \n";} + ?> + 撥號組 Selection + +

      +
    +
    +
    ALERT :
        @@ -13850,6 +15413,13 @@ if ($agent_display_dialable_leads > 0)
    + +
    另一個現場代理會話開放使用您的用戶ID。它已被禁用。點擊“確定”繼續代理屏幕.
    OK --> +
    +
    + + + @@ -13907,4 +15477,4 @@ if ($agent_display_dialable_leads > 0) exit; -?> \ No newline at end of file +?> diff --git a/agc_2-X/trunk/LANG_www/agc_tw/voicemail_check.php b/agc_2-X/trunk/LANG_www/agc_tw/voicemail_check.php index f3892742..a93111bb 100644 --- a/agc_2-X/trunk/LANG_www/agc_tw/voicemail_check.php +++ b/agc_2-X/trunk/LANG_www/agc_tw/voicemail_check.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to check whether the voicemail box on the server defined has new and old messages # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -23,6 +23,7 @@ # 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES # 60619-1204 - Added variable filters to close security holes for login form # 90508-0727 - Changed to PHP long tags +# 130328-0025 - Converted ereg to preg functions # require("dbconnect.php"); @@ -41,33 +42,32 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=ereg_replace("[^0-9a-zA-Z]","",$user); -$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.5'; -$build = '60619-1204'; +$version = '0.0.7'; +$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; - if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) +if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) { - echo "無效 Username/密碼: |$user|$pass|\n"; - exit; + echo "無效 Username/密碼: |$user|$pass|\n"; + exit; } - else +else { - if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { echo "無效 server_ip: |$server_ip| or 無效 session_name: |$session_name|\n"; @@ -93,25 +93,25 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} } if ($format=='debug') -{ -echo "\n"; -echo "\n"; -echo "\n"; -echo "檢視語音信箱"; -echo "\n"; -echo "\n"; -echo "\n"; -} + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "檢視語音信箱"; + echo "\n"; + echo "\n"; + echo "\n"; + } - $MT[0]=''; - $row=''; $rowx=''; - if (strlen($vmail_box)<1) +$MT[0]=''; +$row=''; $rowx=''; +if (strlen($vmail_box)<1) { $channel_live=0; echo "語音信箱 $vmail_box 是無效的\n"; exit; } - else +else { $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; if ($format=='debug') {echo "\n";} diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSER_service_level.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSER_service_level.php index d22dcc23..7d8ce85d 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSER_service_level.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSER_service_level.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,11 @@ # 110703-1756 - Added download option # 111103-2300 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0104 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -69,15 +72,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -99,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -924,7 +947,7 @@ while ($k <= 22) $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; -$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in seconds) | | CALLS HANDLED | | |\n"; +$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (em segundo) | | CALLS HANDLED | | |\n"; $ASCII_text.="| 15 MIN INT |$hold_scale| AVG | MAX | |$call_scale| DROPS | TOTAL |\n"; $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; @@ -1280,10 +1303,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { echo "$HEADER"; @@ -1293,6 +1314,26 @@ if ($file_download > 0) } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERstats.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERstats.php index 2503c95a..576f6f68 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERstats.php @@ -1,10 +1,9 @@ LICENSE: AGPLv2 -# -# CHANGES +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 60905-1326 - Added queue time stats @@ -35,8 +34,13 @@ # 111103-0632 - Added MAXCAL as a drop status # 111103-2003 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 120730-0724 - Small fix for HTML output +# 130124-1719 - Added email report support +# 130414-1429 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -57,6 +61,8 @@ if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} if (isset($_GET["DID"])) {$DID=$_GET["DID"];} elseif (isset($_POST["DID"])) {$DID=$_POST["DID"];} +if (isset($_GET["EMAIL"])) {$EMAIL=$_GET["EMAIL"];} + elseif (isset($_POST["EMAIL"])) {$EMAIL=$_POST["EMAIL"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} @@ -92,15 +98,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -185,9 +182,16 @@ if (!isset($group)) {$group = '';} if (!isset($query_date)) {$query_date = $NOW_DATE;} if (!isset($end_date)) {$end_date = $NOW_DATE;} -$stmt="select group_id,group_name,8 from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='PHONE' $LOGadmin_viewable_groupsSQL order by group_id;"; if ($DID=='Y') - {$stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;";} + { + $stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; + } +if ($EMAIL=='Y') + { + $stmt="select email_account_id,email_account_name,email_account_id from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + } $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $groups_to_print = mysql_num_rows($rslt); @@ -231,6 +235,37 @@ else } if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $DID, $EMAIL, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&DID=".$DID."&EMAIL=".$EMAIL."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); @@ -286,6 +321,7 @@ $MAIN.="
    \n"; $MAIN.="\n"; +$MAIN.="\n"; $MAIN.="Período:
    \n"; $MAIN.=""; @@ -314,7 +350,9 @@ $MAIN.="// o_cal.a_tpl.weekstart = 1; // Segunda week start\n"; $MAIN.="\n"; $MAIN.="
    \n"; -if ($DID=='Y') +if ($EMAIL=='Y') + {$MAIN.="Email Accts: \n";} +else if ($DID=='Y') {$MAIN.="Inbound DIDs: \n";} else {$MAIN.="Grupos de Entrada: \n";} @@ -372,6 +410,8 @@ $MAIN.="
    \n\n";
     if ($groups_to_print < 1)
     	{
     	$MAIN.="\n\n";
    +	if ($EMAIL=='Y')
    +		{$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK ENVIAR\n";}
     	if ($DID=='Y')
     		{$MAIN.="PLEASE SELECT A DID AND DATE RANGE ABOVE AND CLICK ENVIAR\n";}
     	else
    @@ -402,12 +442,18 @@ if ($shift == 'ALL')
     $query_date_BEGIN = "$query_date $time_BEGIN";   
     $query_date_END = "$end_date $time_END";
     
    +if ($EMAIL=='Y') 
    +	{
    +	$MAIN.="Inbound Email Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
     
     
    -$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    -
    -$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    -
     
     if ($DID=='Y')
     	{
    @@ -452,7 +498,14 @@ if ($group_ct > 1)
     
     	$CSV_text1.="\n\"MULTI-GROUP BREAKDOWN:\"\n";
     
    -	if ($DID=='Y')
    +	if ($EMAIL=='Y')
    +		{
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$ASCII_text.="| EMAIL                | EMAILS  | DROPS   | DROP %  | IVR     |\n";
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$CSV_text1.="\"EMAIL\",\"CALLS\",\"DROPS\",\"DROP %\",\"IVR\"\n";
    +		}
    +	else if ($DID=='Y')
     		{
     		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
     		$ASCII_text.="| DID                  | CALLS   | DROPS   | DROP %  | IVR     |\n";
    @@ -655,18 +708,34 @@ else
     	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
     	}
     
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails taken in to this In-Grupo:        $TOTALcalls\n";
    +	$MAIN.="Average Email Length for all Emails:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Emails:                               $RESPOSTAEDcalls  $RESPOSTAEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Emails:        $average_answer_seconds seconds\n";
    +	$MAIN.="Emails taken into the IVR for this In-Grupo:   $IVRcalls\n";
     
    -$MAIN.="Total de chamadas recebidas pelo Grupo:        $TOTALcalls\n";
    -$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    -$MAIN.="Answered Calls:                               $RESPOSTAEDcalls  $RESPOSTAEDpercent%\n";
    -$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    -$MAIN.="Calls taken into the IVR for this In-Grupo:   $IVRcalls\n";
    +	$CSV_text1.="\"Total Emails taken in to this In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Email Length for all Emails:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Emails:\",\"$RESPOSTAEDcalls\",\"$RESPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Emails:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Emails taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Total de chamadas recebidas pelo Grupo:        $TOTALcalls\n";
    +	$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Calls:                               $RESPOSTAEDcalls  $RESPOSTAEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    +	$MAIN.="Calls taken into the IVR for this In-Grupo:   $IVRcalls\n";
     
    -$CSV_text1.="\"Total de chamadas recebidas pelo Grupo:\",\"$TOTALcalls\"\n";
    -$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    -$CSV_text1.="\"Answered Calls:\",\"$RESPOSTAEDcalls\",\"$RESPOSTAEDpercent%\"\n";
    -$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    -$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	$CSV_text1.="\"Total de chamadas recebidas pelo Grupo:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Calls:\",\"$RESPOSTAEDcalls\",\"$RESPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
     
     $MAIN.="\n";
     $MAIN.="---------- DERRUBADAS\n";
    @@ -709,12 +778,22 @@ else
     	$DROP_RESPOSTAEDpercent = round($DROP_RESPOSTAEDpercent, 0);
     	}
     
    -$MAIN.="Total de chamadas derrubadas:                 $DROPcalls  $DROPpercent%               drop/answered: $DROP_RESPOSTAEDpercent%\n";
    -$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total DROP Emails:                             $DROPcalls  $DROPpercent%               drop/answered: $DROP_RESPOSTAEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Emails:             $average_hold_seconds seconds\n";
     
    -$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RESPOSTAEDpercent%\"\n";
    -$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	$CSV_text1.="\"Total DROP Emails:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RESPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Emails:\",\"$average_hold_seconds seconds\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Total de chamadas derrubadas:                 $DROPcalls  $DROPpercent%               drop/answered: $DROP_RESPOSTAEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
     
    +	$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RESPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	}
     
     if (strlen($group_SQL)>3)
     	{
    @@ -750,14 +829,29 @@ if (strlen($group_SQL)>3)
     			}
     		}
     	}
    -$MAIN.="\n";
    -$MAIN.="---------- CUSTOM INDICATORS\n";
    -$MAIN.="GDE (Answered/Chamadas totais atendidas in to this In-Group):  $RESPOSTAEDpercent%\n";
    -$MAIN.="ACR (Dropped/Answered):                                $DROP_RESPOSTAEDpercent%\n";
     
    -$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    -$CSV_text1.="\"GDE (Answered/Chamadas totais atendidas in to this In-Group):\",\"$RESPOSTAEDpercent%\"\n";
    -$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RESPOSTAEDpercent%\"\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Total emails taken in to this In-Group):  $RESPOSTAEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_RESPOSTAEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Total emails taken in to this In-Group):\",\"$RESPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RESPOSTAEDpercent%\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Chamadas totais atendidas in to this In-Group):  $RESPOSTAEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_RESPOSTAEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Chamadas totais atendidas in to this In-Group):\",\"$RESPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RESPOSTAEDpercent%\"\n";
    +	}
     
     if ($DID!='Y')
     	{
    @@ -848,15 +942,34 @@ else
     	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
     	}
     
    -$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    -$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    -$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue emails:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all emails:        $average_total_queue_seconds seconds\n";
     
    -$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    -$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    -$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Total Emails That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue emails:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all emails:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
    +else 
    +	{
    +	$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
     
    +	$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
     
    +if ($EMAIL=='Y') {
    +	$rpt_type_verbiage='EMAIL';
    +	$rpt_type_verbiages='EMAILS';
    +} else {
    +	$rpt_type_verbiage='CALL ';
    +	$rpt_type_verbiages='CALLS ';
    +}
     
     ##############################
     #########  CALL HOLD TIME BREAKDOWN IN SECONDS
    @@ -864,12 +977,12 @@ $CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_s
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- TEMPO DE ESPERA POR SEGUNDOS       DOWNLOAD\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS       DOWNLOAD\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"TEMPO DE ESPERA POR SEGUNDOS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     
    @@ -1009,12 +1122,12 @@ else
     $BDdropCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="---------- $rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL DROP TIME BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
    @@ -1154,12 +1267,12 @@ else
     $BDansweredCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="           CALL RESPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="           $rpt_type_verbiage RESPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
     $ASCII_text.="          +-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="----------+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL RESPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage RESPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE','TIMEOT','AFTHRS','NANQUE','INBND','MAXCAL') group by queue_seconds;";
    @@ -1442,13 +1555,13 @@ else
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- ESTATÍSTICA DE MOTIVO DE DESLIGAMENTO       DOWNLOAD\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HANGUP REASON STATS       DOWNLOAD\n";
     $ASCII_text.="+----------------------+------------+\n";
    -$ASCII_text.="| HANGUP REASON        | CALLS      |\n";
    +$ASCII_text.="| HANGUP REASON        | $rpt_type_verbiages      |\n";
     $ASCII_text.="+----------------------+------------+\n";
     
    -$CSV_text3.="\n\"ESTATÍSTICA DE MOTIVO DE DESLIGAMENTO\"\n";
    -$CSV_text3.="\"HANGUP REASON\",\"CALLS\"\n";
    +$CSV_text3.="\n\"$rpt_type_verbiage HANGUP REASON STATS\"\n";
    +$CSV_text3.="\"HANGUP REASON\",\"$rpt_type_verbiages\"\n";
     
     $stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason order by term_reason;";
     if ($DID=='Y')
    @@ -1486,6 +1599,7 @@ $CSV_text3.="\"TOTAL:\",\"$TOTALcalls\"\n";
     
     if ($report_display_type=="HTML") 
     	{
    +	$ct_ary=array();
     	$rslt=mysql_query($stmt, $link);
     	$high_ct=0; $i=0;
     	while ($row=mysql_fetch_row($rslt)) {
    @@ -1495,11 +1609,11 @@ if ($report_display_type=="HTML")
     		$i++;
     	}
     	$GRAPH_text="
    \n"; - $GRAPH_text.="\n"; - $GRAPH_text.=" \n"; + $GRAPH_text.="
    ESTATÍSTICA DE MOTIVO DE DESLIGAMENTO
    \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; - $GRAPH_text.=" \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; for ($i=0; $iTOTAL DE CHAMADAS:\n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.="
    $rpt_type_verbiage HANGUP REASON STATS
    REASON CALLS $rpt_type_verbiages
    TOTAL ".$rpt_type_verbiage.":".trim($TOTALcalls)."
    \n"; @@ -1527,17 +1641,17 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL STATUS STATS DOWNLOAD\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; -$ASCII_text.="| STATUS | DESCRIPTION | CATEGORIA | CALLS | TOTAL TIME | AVG TIME |CALLS/HOUR|\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; +$ASCII_text.="---------- $rpt_type_verbiage STATUS STATS DOWNLOAD\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; +$ASCII_text.="| STATUS | DESCRIPTION | CATEGORIA | $rpt_type_verbiages | TOTAL TIME | AVG TIME |$rpt_type_verbiages/HOUR|\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; $GRAPH="

    "; $GRAPH.=""; $GRAPH.="
    CALLSTOTAL TIMEAVG TIMECALLS/HR

     


    "; -$CSV_text4.="\n\"CALL STATUS STATS\"\n"; -$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"CATEGORIA\",\"CALLS\",\"TOTAL TIME\",\"AVG TIME\",\"CALLS/HOUR\"\n"; +$CSV_text4.="\n\"$rpt_type_verbiage STATUS STATS\"\n"; +$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"CATEGORIA\",\"$rpt_type_verbiages\",\"TOTAL TIME\",\"AVG TIME\",\"$rpt_type_verbiages/HOUR\"\n"; @@ -1710,11 +1824,11 @@ else $ASCII_text="\n"; $ASCII_text.="---------- CUSTOM STATUS CATEGORIA STATS
    DOWNLOAD\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; -$ASCII_text.="| CATEGORIA | CALLS | DESCRIPTION |\n"; +$ASCII_text.="| CATEGORIA | $rpt_type_verbiages | DESCRIPTION |\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; $CSV_text5.="\n\"CUSTOM STATUS CATEGORIA STATS\"\n"; -$CSV_text5.="\"CATEGORIA\",\"CALLS\",\"DESCRIPTION\"\n"; +$CSV_text5.="\"CATEGORIA\",\"$rpt_type_verbiages\",\"DESCRIPTION\"\n"; $TOTCATcalls=0; $r=0; @@ -1744,7 +1858,7 @@ $CSV_text5.="\"TOTAL\",\"$TOTCATcalls\"\n"; if ($report_display_type=="HTML") { - $ct_ary=""; + $ct_ary=array(); $r=0; $i=0; $high_ct=0; while ($r < $statcats_to_print) @@ -1794,12 +1908,12 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL INITIAL QUEUE POSITION BREAKDOWN DOWNLOAD\n"; +$ASCII_text.="---------- $rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN DOWNLOAD\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; $ASCII_text.="| 1 2 3 4 5 6 7 8 9 10 15 20 25 +25 | TOTAL |\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; -$CSV_text6.="\n\"CALL INITIAL QUEUE POSITION BREAKDOWN\"\n"; +$CSV_text6.="\n\"$rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN\"\n"; $CSV_text6.="\"\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"15\",\"20\",\"25\",\"+25\",\"TOTAL\"\n"; @@ -1938,11 +2052,11 @@ $TOTavg=0; $ASCII_text="\n"; $ASCII_text.="---------- AGENTE STATS DOWNLOAD\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; -$ASCII_text.="| AGENTE | CALLS | TIME H:M:S |AVERAGE |\n"; +$ASCII_text.="| AGENTE | $rpt_type_verbiages | TIME H:M:S |AVERAGE |\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; $CSV_text7.="\n\"AGENTE STATS\"\n"; -$CSV_text7.="\"AGENT\",\"CALLS\",\"TIME H:M:S\",\"AVERAGE\"\n"; +$CSV_text7.="\"AGENT\",\"$rpt_type_verbiages\",\"TIME H:M:S\",\"AVERAGE\"\n"; $max_calls=1; @@ -1953,7 +2067,7 @@ $GRAPH="

    CALLS"; $GRAPH.="
    TIME H:M:SAVERAGE

     


    "; $graph_header=""; -$CALLS_graph=$graph_header.""; +$CALLS_graph=$graph_header.""; $TIMEHMS_graph=$graph_header.""; $AVERAGE_graph=$graph_header.""; @@ -2173,7 +2287,7 @@ else } $ASCII_text.="\n"; -$ASCII_text.="GRÁFICO TOTAL DE CHAMADAS A CADA 15 MINUTOS TAKEN INTO THIS IN-GROUP\n"; +$ASCII_text.="GRAPH IN 15 MINUTE INCREMENTS OF TOTAL $rpt_type_verbiages TAKEN INTO THIS IN-GROUP\n"; $k=1; @@ -2347,12 +2461,12 @@ else ##### Answered wait time breakdown $MAIN.="\n"; -$MAIN.="---------- CALL RESPOSTAED TIME BREAKDOWN IN SECONDS DOWNLOAD\n"; +$MAIN.="---------- $rpt_type_verbiage RESPOSTAED TIME BREAKDOWN IN SECONDS DOWNLOAD\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; $MAIN.="| HOUR | 0 5 10 15 20 25 30 35 40 45 50 55 60 90 +90 | TOTAL |\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; -$CSV_text8.="\n\"CALL RESPOSTAED TIME BREAKDOWN IN SECONDS\"\n"; +$CSV_text8.="\n\"$rpt_type_verbiage RESPOSTAED TIME BREAKDOWN IN SECONDS\"\n"; $CSV_text8.="\"HOUR\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n"; $ZZ = '00'; @@ -2464,7 +2578,6 @@ if ($file_download>0) { echo "$CSV_text"; - exit; } else { echo $HEADER; echo $JS_text; @@ -2474,6 +2587,27 @@ if ($file_download>0) { } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERsummary_hourly.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERsummary_hourly.php index 6029f242..7f2d2d9f 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERsummary_hourly.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_CLOSERsummary_hourly.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1806 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0107 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -124,6 +118,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -938,6 +961,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -961,10 +1003,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { if ($report_display_type=="HTML") @@ -998,5 +1038,24 @@ if ($file_download > 0) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_DIDstats.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_DIDstats.php index 0e464d8a..948aa7a5 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_DIDstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_DIDstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1809 - Added download option # 111104-1133 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0113 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -67,15 +70,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -189,6 +183,36 @@ else if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&file_download=".$file_download."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $HEADER.="\n"; $HEADER.="\n"; @@ -1070,6 +1094,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { echo $HEADER; @@ -1079,5 +1122,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRfilter.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRfilter.php index 29788848..0359d4b3 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRfilter.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRfilter.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -9,8 +9,13 @@ # 90310-2054 - Admin header # 90508-0644 - Changed to PHP long tags # 120113-2022 - Added new columns for sent to queue and agent +# 130414-0257 - Added report logging # +$startMS = microtime(); + +$report_name='IVR Filter Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -88,6 +93,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$campaign[0], $query_date, $end_date|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -494,8 +519,6 @@ if ($file_download == 0 || !$file_download) { flush(); echo "$CSV_text"; - - exit; # $CSV_report=fopen("AST_pause_code_breakdown.csv", "w"); # fwrite($CSV_report, $CSV_header); @@ -503,4 +526,26 @@ if ($file_download == 0 || !$file_download) { # fwrite($CSV_report, $CSV_total); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRstats.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRstats.php index 6fe6b235..ff02bcb8 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_IVRstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 81026-2026 - First build @@ -20,8 +20,11 @@ # 110703-1850 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130114-0115 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -79,15 +82,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -109,6 +103,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -1001,6 +1024,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1013,6 +1055,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_LISTS_campaign_stats.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_LISTS_campaign_stats.php index e1404750..11441001 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_LISTS_campaign_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_LISTS_campaign_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -10,8 +10,13 @@ # 100916-0928 - First build # 110703-1815 - Added download option # 120224-0910 - Added HTML display option with bar graphs +# 120524-1754 - Fixed status categories issue +# 130221-1928 - small change to remove nested SQL query +# 130414-0127 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -58,15 +63,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -88,6 +84,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -178,9 +203,18 @@ else $group_SQL = "where campaign_id IN($group_SQL)"; } +# Get lists to query to avoid using a nested query +$lists_id_str=""; +$list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; +$list_rslt=mysql_query($list_stmt, $link); +while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; +} +$lists_id_str=substr($lists_id_str,0,-1); + $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +if ($DB) {echo "$stmt\n";} $statcats_to_print = mysql_num_rows($rslt); $i=0; while ($i < $statcats_to_print) @@ -188,13 +222,27 @@ while ($i < $statcats_to_print) $row=mysql_fetch_row($rslt); $vsc_id[$i] = $row[0]; $vsc_name[$i] = $row[1]; - $vsc_count[$i] = 0; + + $category_statuses=""; + $status_stmt="select distinct status from vicidial_statuses where category='$row[0]' UNION select distinct status from vicidial_campaign_statuses where category='$row[0]' $group_SQLand"; + if ($DB) {echo "$status_stmt\n";} + $status_rslt=mysql_query($status_stmt, $link); + while ($status_row=mysql_fetch_row($status_rslt)) + { + $category_statuses.="'$status_row[0]',"; + } + $category_statuses=substr($category_statuses, 0, -1); + + $category_stmt="select count(*) from vicidial_list where status in ($category_statuses) and list_id IN($lists_id_str)"; + if ($DB) {echo "$category_stmt\n";} + $category_rslt=mysql_query($category_stmt, $link); + $category_row=mysql_fetch_row($category_rslt); + $vsc_count[$i] = $category_row[0]; $i++; } - ### BEGIN gather all statuses that are in status flags ### $human_answered_statuses=''; $sale_statuses=''; @@ -348,7 +396,15 @@ else $GRAPH.="\n"; $GRAPH.="\n"; - $stmt="select count(*),list_id from vicidial_list where list_id IN( SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand) group by list_id;"; + $lists_id_str=""; + $list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; + $list_rslt=mysql_query($list_stmt, $link); + while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; + } + $lists_id_str=substr($lists_id_str,0,-1); + + $stmt="select count(*),list_id from vicidial_list where list_id IN($lists_id_str) group by list_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $listids_to_print = mysql_num_rows($rslt); @@ -949,7 +1005,6 @@ else echo "$CSV_text"; - exit; } else { $JS_onload.="}\n"; $JS_text.=$JS_onload; @@ -962,5 +1017,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_LIST_UPDATEstats.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_LIST_UPDATEstats.php index daf1305f..0c7b2074 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_LIST_UPDATEstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_LIST_UPDATEstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -10,8 +10,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0201 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -54,15 +57,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -84,6 +78,35 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,24 @@ $RUNtime = ($ENDtime - $STARTtime); echo "
    AGENTE STATS
    AGENTCALLS
    $rpt_type_verbiages
    TIME H:M:S
    AVERAGE
    LEADS

    \nRun Time: $RUNtime seconds|$db_source\n"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_OUTBOUNDsummary_interval.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_OUTBOUNDsummary_interval.php index ce3ddb67..fcafdf0f 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_OUTBOUNDsummary_interval.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_OUTBOUNDsummary_interval.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1825 - Added download option # 111104-1205 - Added user_group and calltime restrictions # 120224-0910 - Added HTML display option with bar graphs +# 130414-0119 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -132,6 +126,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_call_times from vicidial_user_groups where user_group='$user_group';"; @@ -1452,6 +1475,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1521,6 +1563,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1555,6 +1616,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_VDADstats.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_VDADstats.php index 40e38374..7edfdd14 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_VDADstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_VDADstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 60619-1718 - Added variable filtering to eliminate SQL injection attack threat @@ -32,8 +32,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 101207-1634 - Changed limits on seconds to 65000 from 36000 in vicidial_agent_log # 120224-0910 - Added HTML display option with bar graphs +# 130414-0117 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -103,15 +106,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - ##### SERVER CARRIER LOGGING LOOKUP ##### $stmt = "SELECT count(*) FROM servers where carrier_logging_active='Y' and max_vicidial_trunks > 0;"; $rslt=mysql_query($stmt, $link); @@ -144,6 +138,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -580,7 +603,7 @@ else $OUToutput .= "Total Resposta Humanaed calls for this Campanha: $CIcalls\n"; - $OUToutput .= "Average Call Length for all HA in seconds: $average_ci_seconds Total Time: $CIsec\n"; + $OUToutput .= "Average Call Length for all HA em segundo: $average_ci_seconds Total Time: $CIsec\n"; $OUToutput .= "\n"; @@ -1557,6 +1580,25 @@ else echo "OUTBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$outbound_rate = \$$outbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1792,6 +1834,25 @@ else $JS_text.="\n"; echo $JS_text; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_hopperlist.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_hopperlist.php index 3122a46e..2118270b 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_hopperlist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_hopperlist.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,13 @@ # 111103-1207 - Added admin_hide_phone_data and admin_hide_lead_data options # 120210-1218 - Added vendor_lead_code to output # 120221-0059 - Added User Group restriction settings +# 130414-0159 - Added report logging # +$startMS = microtime(); + +$report_name='Lista De Hopper Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -49,6 +54,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -226,6 +251,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_ingrouplist.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_ingrouplist.php index 87910b68..c3496318 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_ingrouplist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_VICIDIAL_ingrouplist.php @@ -3,12 +3,17 @@ # # shows the agents logged into vicidial and set to take calls from in-group # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 100320-2102 - First Build +# 130414-0222 - Added report logging # +$startMS = microtime(); + +$report_name='In-Group Usuário List'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -40,6 +45,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -205,6 +230,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_admin_template_maker.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_admin_template_maker.php index df4b1474..a2a9af51 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_admin_template_maker.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_admin_template_maker.php @@ -5,6 +5,7 @@ # # CHANGES # 120402-2132 - First Build +# 120529-1427 - Filename filter fix # require("dbconnect.php"); @@ -193,6 +194,8 @@ $NWE = "')\">\"AJUDA\"
    Campanhas:
    "; echo "

    \n"; +echo "
    \n"; +echo "Show parks-holds
    "; echo "Mostrar as:
    "; echo "\n

    "; -echo "\n"; +echo "$NWB#agent_time_detail$NWE\n"; echo "
            "; echo "          \n"; @@ -1206,6 +1418,25 @@ while ($m < $k) echo "\n"; ##### END horizontal yellow transparent bar graph overlay on top of agent stats +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_time_sheet.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_time_sheet.php index c17bc6c8..619219bf 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_time_sheet.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_time_sheet.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1848 - Added download option # 111104-1308 - Added user_group restrictions for selecting in-groups +# 130414-0148 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -42,14 +45,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; @@ -93,6 +88,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -416,16 +440,33 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { header ("Content-type: text/html; charset=utf-8"); echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_timeclock_detail.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_timeclock_detail.php index 5f59a166..07b35ed9 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_timeclock_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_agent_timeclock_detail.php @@ -3,7 +3,7 @@ # # Pulls all timeclock records for an agent # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 90602-2244 - First build @@ -13,8 +13,10 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 111104-1315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0154 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -67,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -100,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -319,9 +341,6 @@ else $query_date_BEGIN = "$query_date"; $query_date_END = "$end_date"; - if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";} - else {$ugSQL='';} - if ($file_download < 1) { echo "Usuário Time-Clock Detalhes $NOW_TIME\n"; @@ -685,6 +704,25 @@ if ($file_download > 0) echo "$file_output"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -819,6 +857,25 @@ $ENDtime = date("U"); $RUNtime = ($ENDtime - $STARTtime); echo "$RUNtime|$db_source\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_campaign_status_list_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_campaign_status_list_report.php index 170b6c00..69a3cb38 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_campaign_status_list_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_campaign_status_list_report.php @@ -4,14 +4,19 @@ # This report is designed to show the breakdown by list_id of the calls and # their statuses for all lists within a campaign for a set time period # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # # 110815-2138 - First build # 120224-0910 - Added HTML display option with bar graphs +# 130414-0129 - Added report logging +# 130425-2113 - Added status flag summaries and other formatting cleanup +# 130425-2353 - Fixed bug with subtracting unsigned columns in SQL # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_PW); @@ -97,6 +93,36 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) echo "Nome ou Senha inválidos: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -138,7 +164,7 @@ while($i < $group_ct) $i++; } -$stmt="select campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; +$stmt="SELECT campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$HTML_text.="$stmt\n";} $campaigns_to_print = mysql_num_rows($rslt); @@ -276,17 +302,25 @@ $JS_onload="onload = function() {\n"; while($i < $group_ct) { - $stmt="select distinct status, status_name from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION select distinct status, status_name from vicidial_statuses order by status, status_name"; + $stmt="SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_statuses order by status, status_name"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $status_ary[$row[0]]=" - $row[1]"; + $status_ary[$row[0]] = " - $row[1]"; + $HA_ary[$row[0]] = $row[2]; + $SALE_ary[$row[0]] = $row[3]; + $DNC_ary[$row[0]] = $row[4]; + $CC_ary[$row[0]] = $row[5]; + $NI_ary[$row[0]] = $row[6]; + $UW_ary[$row[0]] = $row[7]; + $SC_ary[$row[0]] = $row[8]; + $COMP_ary[$row[0]] = $row[9]; } $ASCII_text.="CAMPANHA: $group[$i]\n"; $GRAPH.="CAMPANHA: $group[$i]\n"; $CSV_text.="\"CAMPANHA: $group[$i]\"\n"; - $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; + $stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; $rslt=mysql_query($stmt, $link); if (mysql_num_rows($rslt)>0) { @@ -303,20 +337,30 @@ while($i < $group_ct) } } - $stmt="select distinct list_id, list_name from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; + $stmt="SELECT distinct list_id, list_name, active from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $list_id=$row[0]; $list_name=$row[1]; + $list_id=$row[0]; $list_name=$row[1]; $list_active=$row[2]; + $HA_count=0; + $SALE_count=0; + $DNC_count=0; + $CC_count=0; + $NI_count=0; + $UW_count=0; + $SC_count=0; + $COMP_count=0; + $dispo_ary=""; $ASCII_text.="ID da Lista #$list_id: $list_name\n"; $GRAPH.="ID da Lista #$list_id: $list_name\n"; $CSV_text.="\"ID da Lista #$list_id: $list_name\"\n"; - # $stat_stmt="select vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; - #$stat_stmt="select val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; - $stat_stmt="select vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION select vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + # $stat_stmt="SELECT vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; + #$stat_stmt="SELECT val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; + $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + if ($DB) {$HTML_text.="|$stat_stmt|\n";} # $ASCII_text.=$stat_stmt."\n"; $stat_rslt=mysql_query($stat_stmt, $link); if (mysql_num_rows($stat_rslt)>0) @@ -336,9 +380,9 @@ while($i < $group_ct) $max_duration=1; $max_handletime=1; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"DISPOSITION\",\"CALLS\",\"DURATION\",\"HANDLE TIME\"\n"; while ($stat_row=mysql_fetch_row($stat_rslt)) { @@ -353,14 +397,22 @@ while($i < $group_ct) $total_calls++; $total_duration+=$stat_row[2]; $total_handle_time+=$stat_row[3]; + if ($HA_ary[$stat_row[0]]=="Y") {$HA_count++;} + if ($SALE_ary[$stat_row[0]]=="Y") {$SALE_count++;} + if ($DNC_ary[$stat_row[0]]=="Y") {$DNC_count++;} + if ($CC_ary[$stat_row[0]]=="Y") {$CC_count++;} + if ($NI_ary[$stat_row[0]]=="Y") {$NI_count++;} + if ($UW_ary[$stat_row[0]]=="Y") {$UW_count++;} + if ($SC_ary[$stat_row[0]]=="Y") {$SC_count++;} + if ($COMP_ary[$stat_row[0]]=="Y") {$COMP_count++;} } $d=0; while (list($key, $val)=each($dispo_ary)) { - $ASCII_text.="| ".sprintf("%-35s", $key.$status_ary[$key]); - $ASCII_text.=" | ".sprintf("%5s", $val[0]); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($val[1], 'H')); + $ASCII_text.="| ".sprintf("%-40s", $key.$status_ary[$key]); + $ASCII_text.=" | ".sprintf("%6s", $val[0]); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($val[1], 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($val[2], 'H'))." |\n"; $CSV_text.="\"".$key.$status_ary[$key]."\",\"$val[0]\",\"".sec_convert($val[1], 'H')."\",\"".sec_convert($val[2], 'H')."\"\n"; @@ -373,20 +425,61 @@ while($i < $group_ct) $graph_stats[$d][3]=$val[2]; $d++; } - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| TOTALS:"; - $ASCII_text.=" | ".sprintf("%5s", $total_calls); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($total_duration, 'H')); + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| TOTALS:"; + $ASCII_text.=" | ".sprintf("%6s", $total_calls); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($total_duration, 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($total_handle_time, 'H'))." |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"TOTALS:\",\"$total_calls\",\"".sec_convert($total_duration, 'H')."\",\"".sec_convert($total_handle_time, 'H')."\"\n\n"; - for ($d=0; $d6) {$HA_percent = substr("$HA_percent", 0, -1);} + $SALE_percent = sprintf("%6.2f", 100*($SALE_count/$total_calls)); while(strlen($SALE_percent)>6) {$SALE_percent = substr("$SALE_percent", 0, -1);} + $DNC_percent = sprintf("%6.2f", 100*($DNC_count/$total_calls)); while(strlen($DNC_percent)>6) {$DNC_percent = substr("$DNC_percent", 0, -1);} + $CC_percent = sprintf("%6.2f", 100*($CC_count/$total_calls)); while(strlen($CC_percent)>6) {$CC_percent = substr("$CC_percent", 0, -1);} + $NI_percent = sprintf("%6.2f", 100*($NI_count/$total_calls)); while(strlen($NI_percent)>6) {$NI_percent = substr("$NI_percent", 0, -1);} + $UW_percent = sprintf("%6.2f", 100*($UW_count/$total_calls)); while(strlen($UW_percent)>6) {$UW_percent = substr("$UW_percent", 0, -1);} + $SC_percent = sprintf("%6.2f", 100*($SC_count/$total_calls)); while(strlen($SC_percent)>6) {$SC_percent = substr("$SC_percent", 0, -1);} + $COMP_percent = sprintf("%6.2f", 100*($COMP_count/$total_calls)); while(strlen($COMP_percent)>6) {$COMP_percent = substr("$COMP_percent", 0, -1);} + + $HA_count = sprintf("%9s", "$HA_count"); while(strlen($HA_count)>9) {$HA_count = substr("$HA_count", 0, -1);} + $SALE_count = sprintf("%9s", "$SALE_count"); while(strlen($SALE_count)>9) {$SALE_count = substr("$SALE_count", 0, -1);} + $DNC_count = sprintf("%9s", "$DNC_count"); while(strlen($DNC_count)>9) {$DNC_count = substr("$DNC_count", 0, -1);} + $CC_count = sprintf("%9s", "$CC_count"); while(strlen($CC_count)>9) {$CC_count = substr("$CC_count", 0, -1);} + $NI_count = sprintf("%9s", "$NI_count"); while(strlen($NI_count)>9) {$NI_count = substr("$NI_count", 0, -1);} + $UW_count = sprintf("%9s", "$UW_count"); while(strlen($UW_count)>9) {$UW_count = substr("$UW_count", 0, -1);} + $SC_count = sprintf("%9s", "$SC_count"); while(strlen($SC_count)>9) {$SC_count = substr("$SC_count", 0, -1);} + $COMP_count = sprintf("%9s", "$COMP_count"); while(strlen($COMP_count)>9) {$COMP_count = substr("$COMP_count", 0, -1);} + + if ($list_active=='Y') {$list_active = 'ACTIVE ';} else {$list_active = 'INACTIVE';} + $header_list_id = "$list_id - $list_name"; + $header_list_id = sprintf("%-51s", $header_list_id); while(strlen($header_list_id)>51) {$header_list_id = substr("$header_list_id", 0, -1);} + $header_list_count = sprintf("%10s", $total_calls); while(strlen($header_list_count)>10) {$header_list_count = substr("$header_list_count", 0, -1);} + $ASCII_text .= "\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| $header_list_id $list_active |\n"; + $ASCII_text .= "| TOTAL DE CHAMADAS: $header_list_count |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| STATUS FLAGS BREAKDOWN: (and % of total leads in the list) |\n"; + $ASCII_text .= "| Resposta Humana: $HA_count $HA_percent% |\n"; + $ASCII_text .= "| Sale: $SALE_count $SALE_percent% |\n"; + $ASCII_text .= "| DNC: $DNC_count $DNC_percent% |\n"; + $ASCII_text .= "| Customer Contact: $CC_count $CC_percent% |\n"; + $ASCII_text .= "| Not Interested: $NI_count $NI_percent% |\n"; + $ASCII_text .= "| Unworkable: $UW_count $UW_percent% |\n"; + $ASCII_text .= "| Scheduled callbk: $SC_count $SC_percent% |\n"; + $ASCII_text .= "| Completed: $COMP_count $COMP_percent% |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + + + for ($d=0; $d".$graph_stats[$d][1]."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][2], 'H')."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][3], 'H')."
    TOTAL:".trim($total_calls)."
    "; $DURATION_graph.="
    TOTAL:".sec_convert($total_duration, 'H')."
    "; $HANDLETIME_graph.="
    TOTAL:".sec_convert($total_handle_time, 'H')."
    "; @@ -415,7 +508,6 @@ while($i < $group_ct) } $ASCII_text.="\n"; $GRAPH.="\n"; - } $i++; $ASCII_text.="\n\n"; @@ -456,8 +548,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -468,4 +558,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_carrier_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_carrier_log_report.php index ca147f66..e47c459c 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_carrier_log_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_carrier_log_report.php @@ -1,26 +1,31 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120210-2202 - First build +# 130413-2213 - Added SIP codes summary and fields, and report logging +# 130418-1048 - Changed how server list is generated # +$startMS = microtime(); require("dbconnect.php"); +$report_name='Relatório Log transportadora'; + $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} -if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} +if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} elseif (isset($_POST["query_date_D"])) {$query_date_D=$_POST["query_date_D"];} -if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} +if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} elseif (isset($_POST["query_date_T"])) {$query_date_T=$_POST["query_date_T"];} -if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} - elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -54,14 +59,7 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } +$NOW_DATE = date("Y-m-d"); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} @@ -84,10 +82,39 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} -$NOW_DATE = date("Y-m-d"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $server_ip_string='|'; @@ -99,7 +126,7 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="select server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -223,7 +250,29 @@ if ($ENVIAR && $server_ip_ct>0) { } $MAIN.="+--------------+-------------+---------+\n"; $MAIN.="| TOTAL | ".sprintf("%-8s", $total_count)."|\n"; - $MAIN.="+--------------+-------------+---------+\n\n\n"; + $MAIN.="+--------------+-------------+---------+\n\n"; + + $stmt="select sip_hangup_cause,sip_hangup_reason,count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL group by sip_hangup_cause,sip_hangup_reason order by sip_hangup_cause,sip_hangup_reason"; + $rslt=mysql_query($stmt, $link); + $MAIN.="
    \n";
    +		if ($DB) {$MAIN.=$stmt."\n";}
    +		if (mysql_num_rows($rslt)>0) {
    +			$MAIN.="--- SIP ERROR REASON BREAKDOWN FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="| SIP CODE | SIP HANGUP REASON              |  COUNT  |\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$total_count=0;
    +			while ($row=mysql_fetch_array($rslt)) {
    +				$MAIN.="| ".sprintf("%8s", $row["sip_hangup_cause"])." ";
    +				$MAIN.="| ".sprintf("%-31s", $row["sip_hangup_reason"]);
    +				$MAIN.="| ".sprintf("%-8s", $row["ct"]);
    +				$MAIN.="|\n";
    +				$total_count+=$row["ct"];
    +			}
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="|                                     TOTAL | ".sprintf("%-8s", $total_count)."|\n";
    +			$MAIN.="+-------------------------------------------+---------+\n\n\n";
    +		}
     
     		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
    @@ -233,10 +282,10 @@ if ($ENVIAR && $server_ip_ct>0) {
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
     		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVIDOR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RESPOSTAED TIME | PHONE NUMBER |\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVIDOR IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"RESPOSTAED TIME\",\"PHONE NUMBER\"\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVIDOR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RESPOSTAED TIME | SIP CODE | SIP HANGUP REASON              | PHONE NUMBER |\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVIDOR IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"RESPOSTAED TIME\",\"SIP CODE\",\"SIP HANGUP REASON\",\"PHONE NUMBER\"\n";
     
     		for ($i=1; $i<=mysql_num_rows($rpt_rslt); $i++) {
     			$row=mysql_fetch_array($rpt_rslt);
    @@ -255,7 +304,7 @@ if ($ENVIAR && $server_ip_ct>0) {
     				$phone_number=$row["phone_number"];
     			}
     
    -			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\"\n";
    +			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$row[sip_hangup_cause]\",\"$row[sip_hangup_reason]\",\"$phone_number\"\n";
     			if ($i>=$lower_limit && $i<=$upper_limit) {
     				if (strlen($row["channel"])>37) {$row["channel"]=substr($row["channel"],0,37)."...";}
     				$carrier_rpt.="| ".sprintf("%-21s", $row["uniqueid"]); 
    @@ -267,10 +316,12 @@ if ($ENVIAR && $server_ip_ct>0) {
     				$carrier_rpt.="| ".sprintf("%-41s", $row["channel"]); 
     				$carrier_rpt.="| ".sprintf("%-10s", $row["dial_time"]); 
     				$carrier_rpt.="| ".sprintf("%-14s", $row["answered_time"]); 
    +				$carrier_rpt.="| ".sprintf("%8s", $row["sip_hangup_cause"])." "; 
    +				$carrier_rpt.="| ".sprintf("%-31s", $row["sip_hangup_reason"]); 
     				$carrier_rpt.="| ".sprintf("%-13s", $phone_number)."|\n"; 
     			}
     		}
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
     
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
    @@ -315,11 +366,31 @@ if ($ENVIAR && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_dialer_inventory_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_dialer_inventory_report.php
    index 3dd08797..048c8a08 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_dialer_inventory_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_dialer_inventory_report.php
    @@ -1,7 +1,7 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Joe Johnson     LICENSE: AGPLv2
     #                     Matt Florell 
     #
     # NOTES:
    @@ -14,8 +14,11 @@
     # 111106-1327 - Reformatting, other minor changes
     # 111230-1145 - Debugging additions and more minor changes
     # 120221-2237 - Added totals, list options, other small changes
    +# 130414-0131 - Added report logging
     #
     
    +$startMS = microtime();
    +
     error_reporting(0);
     
     require("dbconnect.php");
    @@ -77,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	#$HTML_header.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
     if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -107,6 +101,34 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	#$HTML_header.="\n";
    +	}
     
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
    @@ -882,8 +904,6 @@ if ($file_download>0)
     	flush();
     
     	echo "$CSV_text";
    -
    -	exit;
     	} 
     else 
     	{
    @@ -894,6 +914,27 @@ else
     	echo $HTML_text;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
     
     
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_display.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_display.php
    new file mode 100644
    index 00000000..c5a8dfca
    --- /dev/null
    +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_display.php
    @@ -0,0 +1,86 @@
    +    LICENSE: AGPLv2
    +#
    +# This page displays emails from the log
    +#
    +# changes:
    +# 130221-2124 - First build
    +#
    +
    +require("dbconnect.php");
    +require("functions.php");
    +
    +if (isset($_GET["DB"]))				{$DB=$_GET["DB"];}
    +	elseif (isset($_POST["DB"]))	{$DB=$_POST["DB"];}
    +if (isset($_GET["email_row_id"]))	{$email_row_id=$_GET["email_row_id"];}
    +	elseif (isset($_POST["email_row_id"]))	{$email_row_id=$_POST["email_row_id"];}
    +if (isset($_GET["email_log_id"]))	{$email_log_id=$_GET["email_log_id"];}
    +	elseif (isset($_POST["email_log_id"]))	{$email_log_id=$_POST["email_log_id"];}
    +
    +header ("Content-type: text/html; charset=utf-8");
    +header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    +header ("Pragma: no-cache");                          // HTTP/1.0
    +
    +#############################################
    +##### START SYSTEM_SETTINGS LOOKUP #####
    +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$qm_conf_ct = mysql_num_rows($rslt);
    +if ($qm_conf_ct > 0)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$non_latin =							$row[0];
    +	$timeclock_end_of_day =					$row[1];
    +	$agentonly_callback_campaign_lock =		$row[2];
    +	$custom_fields_enabled =				$row[3];
    +	$allow_emails =				$row[4];
    +	}
    +##### END SETTINGS LOOKUP #####
    +###########################################
    +
    +if ($allow_emails<1) 
    +	{
    +	echo "Your system does not have the email setting enabled\n";
    +	exit;
    +	}
    +
    +if ($non_latin < 1)
    +	{
    +	$user=ereg_replace("[^-_0-9a-zA-Z]","",$user);
    +	$pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass);
    +	}
    +else
    +	{
    +	$user = ereg_replace("'|\"|\\\\|;","",$user);
    +	$pass = ereg_replace("'|\"|\\\\|;","",$pass);
    +	}
    +
    +if ($email_log_id) {
    +	$stmt="select * from vicidial_email_log where email_log_id='$email_log_id'";
    +	$rslt=mysql_query($stmt, $link);
    +} else if ($email_row_id) {
    +	$stmt="select * from vicidial_email_list where email_row_id='$email_row_id'";
    +	$rslt=mysql_query($stmt, $link);
    +}
    +	
    +if (mysql_num_rows($rslt)>0) {
    +	$row=mysql_fetch_array($rslt);
    +	$row["message"]=preg_replace('/\r|\n/', "
    ", $row["message"]); + $EMAIL_form="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="
    Date sent:$row[email_date]
    Message:$row[message]
    "; +} +?> + + + +VICIDIAL email frame + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_report.php new file mode 100644 index 00000000..80f90efb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_email_log_report.php @@ -0,0 +1,559 @@ + LICENSE: AGPLv2 +# +# report of emails handled by the system +# +# CHANGELOG: +# 130221-2117 - First build +# 130414-0132 - Added report logging +# + +$startMS = microtime(); + +$version = '2.6-2'; +$build = '130414-0132'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["user_group_filter"])) {$user_group_filter=$_GET["user_group_filter"];} + elseif (isset($_POST["user_group_filter"])) {$user_group_filter=$_POST["user_group_filter"];} +if (isset($_GET["email_type"])) {$email_type=$_GET["email_type"];} + elseif (isset($_POST["email_type"])) {$email_type=$_POST["email_type"];} +if (isset($_GET["date_type"])) {$date_type=$_GET["date_type"];} + elseif (isset($_POST["date_type"])) {$date_type=$_POST["date_type"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} + + +$report_name = 'Email Log Report'; +$db_source = 'M'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,email_enabled FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $slave_db_server = $row[2]; + $reports_use_slave_db = $row[3]; + $email_enabled = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {$MAIN.="$stmt\n";} +$gmt_conf_ct = mysql_num_rows($rslt); +$dst = date("I"); +if ($gmt_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + $epoch_offset = (($local_gmt + $dst) * 3600); + } + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level='7' and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$reports_only_user=$row[0]; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nome ou Senha inválidos: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + +$stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGuser_group = $row[0]; + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; +$LOGadmin_viewable_call_times = $row[3]; + +if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Você não tem permissão para ver este relatório: |$PHP_AUTH_USER|$report_name|\n"; + exit; + } + +$LOGadmin_viewable_groupsSQL=''; +$whereLOGadmin_viewable_groupsSQL=''; +if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; +$rslt=mysql_query($stmt, $link); + +if ($DB) {$MAIN.="$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +$LISTgroups[$i]='---NONE---'; +$i++; +$groups_to_print++; +$groups_string='|'; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] = $row[0]; + $LISTgroup_names[$i] = $row[1]; + $LISTgroup_ids[$i] = $row[2]; + $groups_string .= "$LISTgroups[$i]|"; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + } + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } +if (strlen($group_SQL)<3) {$group_SQL="''";} + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; + + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="$report_name\n"; + +$short_header=1; + +#require("admin_header.php"); + +$MAIN.="
    "; + +if ($DB > 0) + { + $MAIN.="
    \n"; + $MAIN.="$group_ct|$group_string|$group_SQL\n"; + $MAIN.="
    \n"; + $MAIN.="$shift|$query_date|$end_date\n"; + $MAIN.="
    \n"; + } + +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="Período:
    \n"; +$MAIN.=""; + +$MAIN.="\n"; + +$MAIN.=" to "; + +$MAIN.="\n"; + +$MAIN.="
    Email groups:
    \n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="           "; +if ($DID!='Y') + { + $MAIN.="ALTERAR | "; + $MAIN.="IVR REPORT | \n"; + } +$MAIN.="RELATÓRIOS | "; +$MAIN.="


    \n"; +$MAIN.="
    \n"; + + +$MAIN.="
    \n"; +$MAIN.="
    Select date criteria: 
    "; +if (!$date_type || $date_type=="email_date") {$emailed="checked"; $date_title="received";} +if ($date_type=="call_date") {$called="checked"; $date_title="viewed";} +if ($date_type=="date_answered") {$answrd="checked"; $date_title="answered";} +$rpt_title.="from $query_date_BEGIN to $query_date_END "; +$MAIN.="Date email received
    \n"; +$MAIN.="Date email viewed
    \n"; +$MAIN.="Date email answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="
    Select report type to display: 
    "; +if (!$email_type || $email_type=="received") {$rcvd="checked"; $date_type="email_date"; $email_title="received";} +if ($email_type=="viewed") {$view="checked"; $email_title="viewed";} +if ($email_type=="answered") {$answ="checked"; $email_title="answered";} +$MAIN.="Emails received
    \n"; +$MAIN.="Emails viewed
    \n"; +$MAIN.="Emails answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="\n\n"; +$MAIN.="
    \n\n";
    +
    +if ($groups_to_print < 1)
    +	{
    +	$MAIN.="\n\n";
    +	$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK ENVIAR\n";
    +	}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$end_date 23:59:59";
    +
    +$rpt_title="Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\n\n";
    +$MAIN.=$rpt_title;
    +$MAIN.="Email log results: $group_string          $NOW_TIME        DOWNLOAD\n";
    +$CSV_text1.="\"Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\"\n\n";
    +
    +if ($email_type=="received") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +	#	$stmt="select vel.* from vicidial_email_list vel where $date_type>='$query_date_BEGIN' and $date_type<='$query_date_END' and group_id in ($group_SQL) order by $date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +	#	$stmt="select vel.*, vcl.call_date, from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="viewed") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | DATE EMAIL VIEWED   | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="answered") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+---------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE (click to view full text)")." | DATE EMAIL VIEWED   | DATE EMAIL RESPOSTAED | ".sprintf("%-20s", "USER")." | ".sprintf("%-50s", "RESPONSE (click to view full text)")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"DATE EMAIL RESPOSTAED\",\"USER\",\"RESPONSE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +#echo $stmt."\n";
    +$rslt=mysql_query($stmt, $link);
    +if (mysql_num_rows($rslt)>0) {
    +	$i=0;
    +	$rpt_str=$rpt_border;
    +	$rpt_str.=$rpt_header;
    +	$rpt_str.=$rpt_border;
    +
    +	while($row=mysql_fetch_array($rslt)) {
    +		$email_row_id=$row["email_row_id"];
    +		$email_log_id=$row["email_log_id"];
    +		$lead_id=$row["lead_id"];
    +		$email_date=$row["email_date"];
    +
    +		$email_from=$row["email_from"];
    +		if (mb_strlen($email_from,'UTF-8')>27) {$email_from=mb_substr($email_from,0,27,'UTF-8')."...";}
    +
    +		$sender_name=$row["email_from_name"];
    +		if (mb_strlen($sender_name,'UTF-8')>17) {$sender_name=mb_substr($sender_name,0,17,'UTF-8')."...";}
    +
    +		$message=preg_replace('/\r|\n/', '', strip_tags($row["message"]));	
    +		if (mb_strlen($message,'UTF-8')>47) {$message=mb_substr($message,0,47,'UTF-8')."...";}
    +
    +		$call_date=$row["call_date"];
    +		$date_answered=$row["date_response_sent"];
    +		
    +		$sent_message=preg_replace('/\r|\n/', ' ', strip_tags($row["sent_message"]));
    +		if (mb_strlen($sent_message,'UTF-8')>47) {$sent_message=mb_substr($sent_message,0,47,'UTF-8')."...";}
    +		
    +		$user=$row["sending_user"];
    +		$status=$row["status"];
    +
    +		if ($email_type=="received") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$status\"\n";
    +		} else if ($email_type=="viewed") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$status\"\n";
    +		} else if ($email_type=="answered") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | $date_answered | ".sprintf("%-20s", $user)." | ".sprintf("%-50s", "$sent_message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$date_answered\",\"$user\",\"$sent_message\",\"$status\"\n";
    +		}
    +
    +		$rpt_str.=$rpt_line;
    +	}
    +	$rpt_str.=$rpt_border;
    +} else {
    +	$rpt_str="**NO RESULTS FOUND**\n\n";
    +}
    +	$MAIN.=$rpt_str;
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +$MAIN.="\nRun Time: $RUNtime seconds|$db_source\n";
    +$MAIN.="
    "; +$MAIN.="
    "; + +$MAIN.=""; + +if ($file_download>0) { + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AST_email_log_report_$US$FILE_TIME.csv"; + $CSV_var="CSV_text1"; + $CSV_text=preg_replace('/^\s+/', '', $$CSV_var); + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text1"; + +} else { + echo $HEADER; + echo $JS_text; + require("admin_header.php"); + echo $MAIN; +} + +} + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_hangup_cause_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_hangup_cause_report.php index 8330c082..aa692f4d 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_hangup_cause_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_hangup_cause_report.php @@ -1,12 +1,17 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120331-2301 - First build +# 130413-2348 - Added report logging +# 130419-2047 - Changed how menu lists are generated to speed up initial form load # +$startMS = microtime(); + +$report_name='Hangup Cause Report'; require("dbconnect.php"); @@ -23,6 +28,8 @@ if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["hangup_cause"])) {$hangup_cause=$_GET["hangup_cause"];} elseif (isset($_POST["hangup_cause"])) {$hangup_cause=$_POST["hangup_cause"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -39,6 +46,8 @@ if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$START_TIME=date("U"); + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;"; @@ -56,15 +65,96 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) +##### Hangup Cause Dictionary ##### +$hangup_cause_dictionary = array( +0 => "Unspecified. No other cause codes applicable.", +1 => "Unallocated (unassigned) number.", +2 => "No route to specified transit network (national use).", +3 => "No route to destination.", +6 => "Channel unacceptable.", +7 => "Call awarded, being delivered in an established channel.", +16 => "Normal call clearing.", +17 => "Usuário busy.", +18 => "No user responding.", +19 => "No answer from user (user alerted).", +20 => "Subscriber absent.", +21 => "Call rejected.", +22 => "Number changed.", +23 => "Redirection to new destination.", +25 => "Exchange routing error.", +27 => "Destination out of order.", +28 => "Invalid number format (address incomplete).", +29 => "Facilities rejected.", +30 => "Response to STATUS INQUIRY.", +31 => "Normal, unspecified.", +34 => "No circuit/channel available.", +38 => "Network out of order.", +41 => "Temporary failure.", +42 => "Switching equipment congestion.", +43 => "Access information discarded.", +44 => "Requested circuit/channel not available.", +50 => "Requested facility not subscribed.", +52 => "Outgoing calls barred.", +54 => "Incoming calls barred.", +57 => "Bearer capability not authorized.", +58 => "Bearer capability not presently available.", +63 => "Service or option not available, unspecified.", +65 => "Bearer capability not implemented.", +66 => "Channel type not implemented.", +69 => "Requested facility not implemented.", +79 => "Service or option not implemented, unspecified.", +81 => "Invalid call reference value.", +88 => "Incompatible destination.", +95 => "Invalid message, unspecified.", +96 => "Mandatory information element is missing.", +97 => "Message type non-existent or not implemented.", +98 => "Message not compatible with call state or message type non-existent or not implemented.", +99 => "Information element / parameter non-existent or not implemented.", +100 => "Invalid information element contents.", +101 => "Message not compatible with call state.", +102 => "Recovery on timer expiry.", +103 => "Parameter non-existent or not implemented - passed on (national use).", +111 => "Protocol error, unspecified.", +127 => "Interworking, unspecified." +); + +$master_hangup_cause_array=array(); +$i=0; +while (list($key, $val)=each($hangup_cause_dictionary)) { + $master_hangup_cause_array[$i]=$key; + $i++; +} +$hangup_causes_to_print=count($master_hangup_cause_array); +$master_dialstatus_array=array("RESPOSTA", "BUSY", "NORESPOSTA", "CANCEL", "CONGESTION", "CHANUNAVAIL", "DONTCALL", "TORTURE", "INVALIDARGS"); +$dialstatuses_to_print=count($master_dialstatus_array); + +/* +$hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); +$i=0; +while($i < $hangup_cause_ct) { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; + if (preg_match('/\-\-ALL\-\-/', $hangup_cause[$i])) + { + $hangup_cause=$master_hangup_cause_array; + break; + } + $i++; } +$j=0; +while($j < $dial_status_ct) + { + if (preg_match('/\-\-ALL\-\-/', $dial_status[$j])) + { + $dial_status=$master_dialstatus_array; + break; + } + $j++; + } +*/ + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -87,6 +177,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} $NOW_DATE = date("Y-m-d"); @@ -101,7 +220,8 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="SELECT server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; +if ($DB) {echo "|$server_stmt|\n";} $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -148,65 +268,102 @@ if (strlen($server_ip_SQL)<3) {$server_ip_SQL="";} ########### HANGUP CAUSES $hangup_cause_string='|'; $dialstatus_string='|'; -$hangup_and_dialstatus_string='|'; +#$hangup_and_dialstatus_string='|'; $hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); $i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - $hangup_and_dialstatus_string .= "$hangup_cause[$i]|"; - $hangup_cause_string .= "$hangup_array[0]|"; - $dialstatus_string .= "$hangup_array[1]|"; + $hangup_cause_string .= "$hangup_cause[$i]|"; $i++; } -$hangupcause_stmt="select distinct hangup_cause, dialstatus from vicidial_carrier_log order by dialstatus, hangup_cause asc"; -$hangupcause_rslt=mysql_query($hangupcause_stmt, $link); -$causes_to_print=mysql_num_rows($hangupcause_rslt); -$i=0; -while ($i < $causes_to_print) +$j=0; +while($j < $dial_status_ct) { - $row=mysql_fetch_row($hangupcause_rslt); - $LISThangup_causes[$i] = $row[0]; - $LISTdialstatuses[$i] = $row[1]; - if (ereg("-ALL",$hangup_cause_string) ) + $dialstatus_string .= "$dial_status[$j]|"; + $j++; + } + +$i=0; $j=0; +$hangup_causes_string='|'; +$dialstatuses_string='|'; +while($i < $hangup_cause_ct) + { + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) ) { - $hangup_cause[$i] = $LISThangup_causes[$i]; - $dialstatus[$i] = $LISTdialstatuses[$i]; + $hangup_causes_string .= "$hangup_cause[$i]|"; + $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; } $i++; } -$i=0; -$hangup_causes_string='|'; -$hangup_cause_ct = count($hangup_cause); +while ($j < $dial_status_ct) + { + if ( (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + $dialstatuses_string .= "$dial_status[$j]|"; + $dial_statusQS .= "&dial_status[]=$dial_status[$j]"; + } + $j++; + } + +$i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - if ( (strlen($hangup_array[0]) > 0) and (preg_match("/\|$hangup_array[0]\|/",$hangup_cause_string)) and (strlen($hangup_array[1]) > 0) and (preg_match("/\|$hangup_array[1]\|/",$dialstatus_string)) ) + $j=0; + while ($j < $dial_status_ct) { - $hangup_causes_string .= "$hangup_array[0]|"; - $hangup_cause_SQL .= "(hangup_cause='$hangup_array[0]' and dialstatus='$hangup_array[1]') OR"; - $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) and (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + if ( ereg("--ALL--",$hangup_cause_string) ) {$HC_subclause="";} else {$HC_subclause="hangup_cause='$hangup_cause[$i]'";} + if ( ereg("--ALL--",$dialstatus_string) ) {$DS_subclause="";} else {$DS_subclause="dialstatus='$dial_status[$j]'";} + if ($HC_subclause=="" || $DS_subclause=="") {$conjunction="";} else {$conjunction=" and ";} + $hangup_cause_SQL .= "($HC_subclause$conjunction$DS_subclause) OR"; + $hangup_cause_SQL=preg_replace('/\(\) OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL .= "(hangup_cause='$hangup_cause[$i]' and dialstatus='$dial_status[$j]') OR"; + } + $j++; } $i++; } if ( (ereg("--ALL--",$hangup_cause_string) ) or ($hangup_cause_ct < 1) ) { - $hangup_cause_SQL = ""; +# $hangup_cause_SQL = ""; $HC_rpt_string="- ALL hangup causes "; if (ereg("--ALL--",$hangup_cause_string)) {$hangup_causeQS="&hangup_cause[]=--ALL--";} } else { - $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); - $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); - $hangup_cause_SQL = "and ($hangup_cause_SQL)"; - $hangup_and_dialstatus_string=preg_replace('/\!/', "-", $hangup_and_dialstatus_string); - $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_and_dialstatus_string, 1, -1)); +# $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +# $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +# $hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $hangup_causes_string=preg_replace('/\!/', "-", $hangup_causes_string); + $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_causes_string, 1, -1)); } -if (strlen($hangup_cause_SQL)<3) {$hangup_cause_SQL="";} + +if ( (ereg("--ALL--",$dial_status_string) ) or ($dial_status_ct < 1) ) + { + $dial_status_SQL = ""; + $DS_rpt_string="- ALL dial statuses "; + if (ereg("--ALL--",$dial_status_string)) {$dial_statusQS="&dial_status[]=--ALL--";} + } +else + { + #$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); + #$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $dialstatuses_string=preg_replace('/\!/', "-", $dialstatuses_string); + $DS_rpt_string="AND dial status(es) ".preg_replace('/\|/', ", ", substr($dialstatuses_string, 1, -1)); + } + +$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + +if (strlen($hangup_cause_SQL)<7) {$hangup_cause_SQL="";} + ######################## $HEADER.="\n"; $HEADER.="\n"; @@ -267,22 +424,44 @@ while ($servers_to_print > $o) } $MAIN.="
    Hangup Cause/Dial Status:
    "; +$MAIN.="
    Hangup Cause:
    "; $MAIN.="
    Dial status:
    "; +$MAIN.=""; +$MAIN.="
    "; @@ -292,7 +471,7 @@ $MAIN.="\n"; $MAIN.="

    \n"; $MAIN.="
    \n"; if ($ENVIAR && $server_ip_ct>0) { - $stmt="select hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; + $stmt="SELECT hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; $rslt=mysql_query($stmt, $link); $MAIN.="
    \n";
     	if ($DB) {$MAIN.=$stmt."\n";}
    @@ -313,14 +492,14 @@ if ($ENVIAR && $server_ip_ct>0) {
     		$MAIN.="|                      TOTAL | ".sprintf("%-8s", $total_count)."|\n";
     		$MAIN.="+--------------+-------------+---------+\n\n\n";
     
    -		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
    +		$rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
     		if ($DB) {$MAIN.=$rpt_stmt."\n";}
     
     		if (!$lower_limit) {$lower_limit=1;}
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
    -		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
    +		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string, $DS_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
     		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVIDOR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RESPOSTAED TIME | PHONE NUMBER |\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    @@ -331,7 +510,7 @@ if ($ENVIAR && $server_ip_ct>0) {
     			$phone_number=""; $phone_note="";
     
     			if (strlen($row["phone_number"])==0) {
    -				$stmt2="select phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
    +				$stmt2="SELECT phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
     				$rslt2=mysql_query($stmt2, $link);
     				$channel=$row["channel"];
     				while ($row2=mysql_fetch_array($rslt2)) {
    @@ -363,14 +542,14 @@ if ($ENVIAR && $server_ip_ct>0) {
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
     		if ($ll>=1) {
    -			$carrier_rpt_hf.="[<<< PREV 1000 records]";
    +			$carrier_rpt_hf.="[<<< PREV 1000 records]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%-23s", " ");
     		}
     		$carrier_rpt_hf.=sprintf("%-145s", " ");
     		if (($lower_limit+1000)=mysql_num_rows($rpt_rslt)) {$max_limit=mysql_num_rows($rpt_rslt)-$upper_limit;} else {$max_limit=1000;}
    -			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
    +			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%23s", " ");
     		}
    @@ -403,11 +582,35 @@ if ($ENVIAR && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$END_TIME=date("U");
    +
    +#print "Total run time: ".($END_TIME-$START_TIME);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_inbound_daily_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_inbound_daily_report.php
    index fb6f75e2..b65b6bf1 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_inbound_daily_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_inbound_daily_report.php
    @@ -1,17 +1,30 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Matt Florell     LICENSE: AGPLv2
     #
     # CHANGES
     #
     # 111119-1234 - First build
     # 120118-2116 - Changed headers on CSV download
     # 120224-0910 - Added HTML display option with bar graphs
    +# 120601-2235 - Added group name to header, added status breakdown counts to page and CSV with option to display them
    +# 120611-2200 - Added ability to filter output by call time
    +# 120819-0118 - Formatting changes
    +# 121115-0621 - Changed to multi-select for in-group selection
    +# 130322-2008 - Added Unique Agents column
    +# 130414-0110 - Added report logging
     #
     
    +$startMS = microtime();
    +
     require("dbconnect.php");
     
    +if (file_exists('options.php'))
    +        {
    +        require('options.php');
    +        }
    +
     $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
     $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
     $PHP_SELF=$_SERVER['PHP_SELF'];
    @@ -27,6 +40,10 @@ if (isset($_GET["file_download"]))			{$file_download=$_GET["file_download"];}
     	elseif (isset($_POST["file_download"]))	{$file_download=$_POST["file_download"];}
     if (isset($_GET["hourly_breakdown"]))			{$hourly_breakdown=$_GET["hourly_breakdown"];}
     	elseif (isset($_POST["hourly_breakdown"]))	{$hourly_breakdown=$_POST["hourly_breakdown"];}
    +if (isset($_GET["show_disposition_statuses"]))			{$show_disposition_statuses=$_GET["show_disposition_statuses"];}
    +	elseif (isset($_POST["show_disposition_statuses"]))	{$show_disposition_statuses=$_POST["show_disposition_statuses"];}
    +if (isset($_GET["ignore_afterhours"]))			{$ignore_afterhours=$_GET["ignore_afterhours"];}
    +	elseif (isset($_POST["ignore_afterhours"]))	{$ignore_afterhours=$_POST["ignore_afterhours"];}
     if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
     	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
     if (isset($_GET["ENVIAR"]))				{$ENVIAR=$_GET["ENVIAR"];}
    @@ -44,6 +61,8 @@ if (strlen($shift)<2) {$shift='ALL';}
     $report_name = 'Inbound Daily Report';
     $db_source = 'M';
     
    +if ($ignore_afterhours=="checked") {$status_clause=" and status!='AFTHRS'";}
    +
     #############################################
     ##### START SYSTEM_SETTINGS LOOKUP #####
     $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;";
    @@ -61,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	$MAIN.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -91,6 +101,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	$MAIN.="\n";
    +	}
    +
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     $rslt=mysql_query($stmt, $link);
    @@ -124,14 +163,34 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl
     	$whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')";
     	}
     
    -$LOGadmin_viewable_call_timesSQL='';
    -$whereLOGadmin_viewable_call_timesSQL='';
    -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +if ($IDR_calltime_available==1)
     	{
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    -	$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    -	$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +	$LOGadmin_viewable_call_timesSQL='';
    +	$whereLOGadmin_viewable_call_timesSQL='';
    +	if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +		{
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    +		$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		}
    +
    +	$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {$MAIN.="$stmt\n";}
    +	$times_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $times_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$call_times[$i] =		$row[0];
    +		$call_time_names[$i] =	$row[1];
    +		$i++;
    +		}
    +	}
    +else 
    +	{
    +	$shift="24hours";
     	}
     
     $NOW_DATE = date("Y-m-d");
    @@ -140,6 +199,25 @@ $STARTtime = date("U");
     if (!isset($group)) {$group = '';}
     if (!isset($query_date)) {$query_date = $NOW_DATE;}
     if (!isset($end_date)) {$end_date = $NOW_DATE;}
    +$groups_selected = count($group);
    +$group_name_str="";
    +$groups_selected_str="";
    +$groups_selected_URLstr="";
    +for ($i=0; $i<$groups_selected; $i++) 
    +	{
    +	$selected_group_URLstr.="&group[]=$group[$i]";
    +	if ($group[$i]=="--ALL--") 
    +		{
    +		$group=array("--ALL--");
    +		$groups_selected=1;
    +		$group_name_str.="-- ALL INGROUPS --";
    +		$all_selected="selected";
    +		}
    +	else 
    +		{
    +		$groups_selected_str.="'$group[$i]', ";
    +		}
    +	}
     
     $stmt="select group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;";
     $rslt=mysql_query($stmt, $link);
    @@ -153,6 +231,26 @@ while ($i < $groups_to_print)
     	$groups[$i] =		$row[0];
     	$group_names[$i] =	$row[1];
     	$groups_string .= "$groups[$i]|";
    +	for ($j=0; $j<$groups_selected; $j++) {
    +		if ($group[$j] && $groups[$i]==$group[$j]) {$group_name_str.="$groups[$i] - $group_names[$i], ";}
    +		if ($group[$j]=="--ALL--") {$groups_selected_str.="'$groups[$i]', ";}
    +	}
    +	$i++;
    +	}
    +
    +$groups_selected_str=preg_replace('/, $/', '', $groups_selected_str);
    +$group_name_str=preg_replace('/, $/', '', $group_name_str);
    +
    +$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {$MAIN.="$stmt\n";}
    +$times_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $times_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$call_times[$i] =		$row[0];
    +	$call_time_names[$i] =	$row[1];
     	$i++;
     	}
     
    @@ -166,11 +264,11 @@ $HEADER.="   .orange {color: black; background-color: #FFCC99}\n";
     $HEADER.="-->\n";
     $HEADER.=" \n";
     
    -if (!preg_match("/\|$group\|/i",$groups_string))
    -	{
    -	$HEADER.="\n";
    -	$group='';
    -	}
    +#if (!preg_match("/\|$group\|/i",$groups_string))
    +#	{
    +#	$HEADER.="\n";
    +#	$group='';
    +#	}
     
     $HEADER.="\n";
     $HEADER.="\n";
    @@ -183,9 +281,9 @@ $short_header=1;
     
     # require("admin_header.php");
     
    -$MAIN.="
    "; - $MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    "; + $MAIN.=""; $MAIN.="\n"; -$MAIN.="\n"; +$MAIN.="\n"; $o=0; while ($groups_to_print > $o) { - if ($groups[$o] == $group) {$MAIN.="\n";} - else {$MAIN.="\n";} + $selected=""; + for ($i=0; $i<$groups_selected; $i++) { + echo "\n"; + if ($groups[$o] == $group[$i]) {$selected="selected";} + } + $MAIN.="\n"; $o++; } $MAIN.="\n"; @@ -225,26 +328,29 @@ $MAIN.="  "; $MAIN.="  "; -$MAIN.="\n"; -$MAIN.="\n"; -$MAIN.="           DOWNLOAD | ALTERAR | RELATÓRIOS
    Show hourly results
    \n"; -$MAIN.="\n\n"; + +if ($IDR_calltime_available==1) + { + $MAIN.="\n"; + } + +$MAIN.="
    Show hourly results
    Show disposition statuses
    Ignore after-hours calls
    DOWNLOAD | ALTERAR | RELATÓRIOS
    "; $MAIN.="
    \n\n";
     
     
    -if (!$group)
    +if ($groups_selected==0)
     	{
     	$MAIN.="\n\n";
     	$MAIN.="POR FAVOR SELECIONE UM GRUPO DE ENTRADA E PERÍODO ACIMA E CLIQUE ENVIAR\n";
    @@ -256,94 +362,247 @@ if (!$group)
     else
     	{
     	### FOR SHIFTS IT IS BEST TO STICK TO 15-MINUTE INCREMENTS FOR START TIMES ###
    +	if ($shift && $shift!="ALL") {
    +		# call_time_id | call_time_name              | call_time_comments | ct_default_start | ct_default_stop | ct_sunday_start | ct_sunday_stop | ct_monday_start | ct_monday_stop | ct_tuesday_start | ct_tuesday_stop | ct_wednesday_start | ct_wednesday_stop | ct_thursday_start | ct_thursday_stop | ct_friday_start | ct_friday_stop | ct_saturday_start | ct_saturday_stop
    +		$big_shift_time_SQL_clause ="";
    +		$shift_stmt="select * from vicidial_call_times where call_time_id='$shift'";
    +		$shift_rslt=mysql_query($shift_stmt, $link);
    +		$shift_row=mysql_fetch_array($shift_rslt);
    +		$default_start_time=substr("0000".$shift_row["ct_default_start"], -4);
    +		$default_stop_time=substr("0000".$shift_row["ct_default_stop"], -4);
    +		$ct_default_start=substr($default_start_time,0,2).":".substr($default_start_time,2,2).":00";
    +		$ct_default_stop=substr($default_stop_time,0,2).":".substr($default_stop_time,2,2).":00";
     
    -	if ($shift == 'AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}   
    -		if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +		if ($shift_row["ct_sunday_start"]!=$shift_row["ct_sunday_stop"]) {
    +			$sunday_start_time=substr("0000".$shift_row["ct_sunday_start"], -4);
    +			$sunday_stop_time=substr("0000".$shift_row["ct_sunday_stop"], -4);
    +			$ct_sunday_start=substr($sunday_start_time,0,2).":".substr($sunday_start_time,2,2).":00";
    +			$ct_sunday_stop=substr($sunday_stop_time,0,2).":".substr($sunday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_sunday_start"]!="2400") {
    +			$ct_sunday_start=$ct_default_start;
    +			$ct_sunday_stop=$ct_default_stop;
    +		} else {
    +			$ct_sunday_start="00:00:00";
    +			$ct_sunday_stop=1;
     		}
    -	if ($shift == 'PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_sunday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_sunday_stop=$strow[0];
    +		$start_time_ary[0]=$ct_sunday_start;
    +		$stop_time_ary[0]=$ct_sunday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=0 and date_format(call_date, '%H:%i:%s')>='$ct_sunday_start' and date_format(call_date, '%H:%i:%s')<='$ct_sunday_stop') or ";
    +
    +		if ($shift_row["ct_monday_start"]!=$shift_row["ct_monday_stop"]) {
    +			$monday_start_time=substr("0000".$shift_row["ct_monday_start"], -4);
    +			$monday_stop_time=substr("0000".$shift_row["ct_monday_stop"], -4);
    +			$ct_monday_start=substr($monday_start_time,0,2).":".substr($monday_start_time,2,2).":00";
    +			$ct_monday_stop=substr($monday_stop_time,0,2).":".substr($monday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_monday_start"]!="2400") {
    +			$ct_monday_start=$ct_default_start;
    +			$ct_monday_stop=$ct_default_stop;
    +		} else {
    +			$ct_monday_start="00:00:00";
    +			$ct_monday_stop=1;
     		}
    -	if ($shift == 'ALL') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_monday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_monday_stop=$strow[0];
    +		$start_time_ary[1]=$ct_monday_start;
    +		$stop_time_ary[1]=$ct_monday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=1 and date_format(call_date, '%H:%i:%s')>='$ct_monday_start' and date_format(call_date, '%H:%i:%s')<='$ct_monday_stop') or ";
    +
    +		if ($shift_row["ct_tuesday_start"]!=$shift_row["ct_tuesday_stop"]) {
    +			$tuesday_start_time=substr("0000".$shift_row["ct_tuesday_start"], -4);
    +			$tuesday_stop_time=substr("0000".$shift_row["ct_tuesday_stop"], -4);
    +			$ct_tuesday_start=substr($tuesday_start_time,0,2).":".substr($tuesday_start_time,2,2).":00";
    +			$ct_tuesday_stop=substr($tuesday_stop_time,0,2).":".substr($tuesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_tuesday_start"]!="2400") {
    +			$ct_tuesday_start=$ct_default_start;
    +			$ct_tuesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_tuesday_start="00:00:00";
    +			$ct_tuesday_stop=1;
     		}
    -	if ($shift == 'DAYTIME') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_tuesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_tuesday_stop=$strow[0];
    +		$start_time_ary[2]=$ct_tuesday_start;
    +		$stop_time_ary[2]=$ct_tuesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=2 and date_format(call_date, '%H:%i:%s')>='$ct_tuesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_tuesday_stop') or ";
    +
    +		if ($shift_row["ct_wednesday_start"]!=$shift_row["ct_wednesday_stop"]) {
    +			$wednesday_start_time=substr("0000".$shift_row["ct_wednesday_start"], -4);
    +			$wednesday_stop_time=substr("0000".$shift_row["ct_wednesday_stop"], -4);
    +			$ct_wednesday_start=substr($wednesday_start_time,0,2).":".substr($wednesday_start_time,2,2).":00";
    +			$ct_wednesday_stop=substr($wednesday_stop_time,0,2).":".substr($wednesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_wednesday_start"]!="2400") {
    +			$ct_wednesday_start=$ct_default_start;
    +			$ct_wednesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_wednesday_start="00:00:00";
    +			$ct_wednesday_stop=1;
     		}
    -	if ($shift == '10AM-6PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_wednesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_wednesday_stop=$strow[0];
    +		$start_time_ary[3]=$ct_wednesday_start;
    +		$stop_time_ary[3]=$ct_wednesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=3 and date_format(call_date, '%H:%i:%s')>='$ct_wednesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_wednesday_stop') or ";
    +
    +		if ($shift_row["ct_thursday_start"]!=$shift_row["ct_thursday_stop"]) {
    +			$thursday_start_time=substr("0000".$shift_row["ct_thursday_start"], -4);
    +			$thursday_stop_time=substr("0000".$shift_row["ct_thursday_stop"], -4);
    +			$ct_thursday_start=substr($thursday_start_time,0,2).":".substr($thursday_start_time,2,2).":00";
    +			$ct_thursday_stop=substr($thursday_stop_time,0,2).":".substr($thursday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_thursday_start"]!="2400") {
    +			$ct_thursday_start=$ct_default_start;
    +			$ct_thursday_stop=$ct_default_stop;
    +		} else {
    +			$ct_thursday_start="00:00:00";
    +			$ct_thursday_stop=1;
     		}
    -	if ($shift == '9AM-1AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_thursday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_thursday_stop=$strow[0];
    +		$start_time_ary[4]=$ct_thursday_start;
    +		$stop_time_ary[4]=$ct_thursday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=4 and date_format(call_date, '%H:%i:%s')>='$ct_thursday_start' and date_format(call_date, '%H:%i:%s')<='$ct_thursday_stop') or ";
    +
    +		if ($shift_row["ct_friday_start"]!=$shift_row["ct_friday_stop"]) {
    +			$friday_start_time=substr("0000".$shift_row["ct_friday_start"], -4);
    +			$friday_stop_time=substr("0000".$shift_row["ct_friday_stop"], -4);
    +			$ct_friday_start=substr($friday_start_time,0,2).":".substr($friday_start_time,2,2).":00";
    +			$ct_friday_stop=substr($friday_stop_time,0,2).":".substr($friday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_friday_start"]!="2400") {
    +			$ct_friday_start=$ct_default_start;
    +			$ct_friday_stop=$ct_default_stop;
    +		} else {
    +			$ct_friday_start="00:00:00";
    +			$ct_friday_stop=1;
     		}
    -	if ($shift == '845-1745') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:44:59";}
    -		}
    -	if ($shift == '1745-100') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_friday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_friday_stop=$strow[0];
    +		$start_time_ary[5]=$ct_friday_start;
    +		$stop_time_ary[5]=$ct_friday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=5 and date_format(call_date, '%H:%i:%s')>='$ct_friday_start' and date_format(call_date, '%H:%i:%s')<='$ct_friday_stop') or ";
    +
    +		if ($shift_row["ct_saturday_start"]!=$shift_row["ct_saturday_stop"]) {
    +			$saturday_start_time=substr("0000".$shift_row["ct_saturday_start"], -4);
    +			$saturday_stop_time=substr("0000".$shift_row["ct_saturday_stop"], -4);
    +			$ct_saturday_start=substr($saturday_start_time,0,2).":".substr($saturday_start_time,2,2).":00";
    +			$ct_saturday_stop=substr($saturday_stop_time,0,2).":".substr($saturday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_saturday_start"]!="2400") {
    +			$ct_saturday_start=$ct_default_start;
    +			$ct_saturday_stop=$ct_default_stop;
    +		} else {
    +			$ct_saturday_start="00:00:00";
    +			$ct_saturday_stop=1;
     		}
    +		$stop_time_stmt="select TIMEDIFF('$ct_saturday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_saturday_stop=$strow[0];
    +		$start_time_ary[6]=$ct_saturday_start;
    +		$stop_time_ary[6]=$ct_saturday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=6 and date_format(call_date, '%H:%i:%s')>='$ct_saturday_start' and date_format(call_date, '%H:%i:%s')<='$ct_saturday_stop') or ";
     
    -	$time1 = strtotime($time_BEGIN);
    -	$time2 = strtotime($time_END)+1;
    +		$query_time_stmt="select date_format('$query_date', '%w'), date_format('$end_date', '%w')";
    +		$query_time_rslt=mysql_query($query_time_stmt, $link);
    +		$qrow=mysql_fetch_row($query_time_rslt);
    +		$time_BEGIN=$start_time_ary[$qrow[0]];
    +		$time_END=$stop_time_ary[$qrow[0]];
    +		#$time_BEGIN="00:00:00"; # Need this so the $SQepoch value can be tweaked per day (i.e. only adding the hours for the start time);
     
    -	$hpd = ceil(($time2 - $time1) / 3600);
    -	if ($hpd<0) {$hpd+=24;}
    +		$query_date_BEGIN = "$query_date ".$time_BEGIN;   
    +		$query_date_END = "$end_date ".$time_END;
    +		RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); # Only calling it here to get the DURATIONday, EQepoch, and intial SQepoch
    +		# Will be called repeatedly for each day
     
    +		$big_shift_time_SQL_clause=preg_replace('/\sor\s$/', '', $big_shift_time_SQL_clause);
    +		$big_shift_time_SQL_clause=" and ($big_shift_time_SQL_clause)";
    +		#echo $big_shift_time_SQL_clause;
    +		#print_r($start_time_ary); echo "
    "; + #print_r($stop_time_ary); echo "
    "; + } else { - $query_date_BEGIN = "$query_date $time_BEGIN"; - $query_date_END = "$end_date $time_END"; + if ($shift == 'ALL') + { + if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";} + if (strlen($time_END) < 6) {$time_END = "23:59:59";} + } - $SQdate_ARY = explode(' ',$query_date_BEGIN); - $SQday_ARY = explode('-',$SQdate_ARY[0]); - $SQtime_ARY = explode(':',$SQdate_ARY[1]); - $EQdate_ARY = explode(' ',$query_date_END); - $EQday_ARY = explode('-',$EQdate_ARY[0]); - $EQtime_ARY = explode(':',$EQdate_ARY[1]); + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; - $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); - - $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); - $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); - - $DURATIONsec = ($EQepoch - $SQepoch); - $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); - - if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) - { - $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); - $query_date_END = date("Y-m-d H:i:s", $EQepoch); - $DURATIONday++; - } + RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); + } $MAIN.="Inbound Daily Report $NOW_TIME\n"; - $MAIN.="Selected in-group: $group\n"; - $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END for $shift shift\n\n"; + $MAIN.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$MAIN.="Selected shift: $shift\n";} + $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END"; + if ($shift && $IDR_calltime_available) {$MAIN.="for $shift shift";} + $MAIN.="\n\n"; #echo "Time range day sec: $SQsec - $EQsec Day range in epoch: $SQepoch - $EQepoch Start: $SQepochDAY\n"; $CSV_text.="\"Inbound Daily Report\",\"$NOW_TIME\"\n"; - $CSV_text.="Selected in-group: $group\n"; - $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END for $shift shift\"\n\n"; + $CSV_text.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$CSV_text.="Selected shift: $shift\n";} + $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END\""; + if ($shift && $IDR_calltime_available) {$CSV_text.="for $shift shift";} + $CSV_text.="\n\n"; - $d=0; $q=0; $hr=0; + if ($show_disposition_statuses) { + $dispo_stmt="select distinct status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ") $big_shift_time_SQL_clause order by status;"; + #echo $dispo_stmt."
    "; + $dispo_rslt=mysql_query($dispo_stmt, $link); + $dispo_str=""; + $s=0; + while($dispo_row=mysql_fetch_row($dispo_rslt)) { + $status_array[$s][0]="$dispo_row[0]"; + $status_array[$s][1]=""; + $dispo_str.="'$dispo_row[0]',"; + $stat_stmt="select distinct status, status_name from vicidial_statuses where status='$dispo_row[0]' UNION select distinct status, status_name from vicidial_campaign_statuses where status='$dispo_row[0]' order by status;"; + #echo $stat_stmt."
    "; + $stat_rslt=mysql_query($stat_stmt, $link); + while ($stat_row=mysql_fetch_array($stat_rslt)) { + $status_array[$s][1]=$stat_row["status_name"]; + } + $s++; + } + $dispo_str=substr($dispo_str,0,-1); + asort($status_array); + #print_r($status_array); +# if (strlen($dispo_str)>0) { +# } + } + + $d=0; $q=0; $hr=0; $shift_hrs=0; while ($d < $DURATIONday) { - $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) ); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600)); + + if ($shift && $shift!="ALL" && $RECALC==1) + { + # Need to get current day, hours for that day (hpd) + $current_dayofweek=date("w", $dSQepoch); + $time_BEGIN=$start_time_ary[$current_dayofweek]; + $time_END=$stop_time_ary[$current_dayofweek]; + HourDifference($time_BEGIN, $time_END); # new hpd + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; + RecalculateEpochs($query_date_BEGIN, $query_date_END); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) + ($shift_hrs * 3600) ); + #echo " --- NEW DAY: $query_date_BEGIN / $query_date_END ---
    "; + $RECALC=0; + } + if ($hourly_breakdown) { @@ -351,17 +610,17 @@ else } else { - $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600) ) ); + $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600)) ); if ($EQsec < $SQsec) { $dEQepoch = ($dEQepoch + 86400); } } + #echo "$dSQepoch - $dEQepoch, ".date("Y-m-d H:i:s", $dSQepoch)." - ".date("Y-m-d H:i:s", $dEQepoch).", ".date("D", $dSQepoch)." - $hpd hours - shift starts at $shift_hrs:00:00
    "; $daySTART[$q] = date("Y-m-d H:i:s", $dSQepoch); $dayEND[$q] = date("Y-m-d H:i:s", $dEQepoch); - # || $time_END<=date("H:i:s", $dEQepoch) if ($hr>=($hpd-1) || !$hourly_breakdown) { $d++; @@ -370,6 +629,7 @@ else { $dayEND[$q] = date("Y-m-d ", $dEQepoch).$time_END; } + $RECALC=1; } else { @@ -467,11 +727,12 @@ else ### GRAB ALL RECORDS WITHIN RANGE FROM THE DATABASE ### - $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';"; + $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date,user from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ");"; $rslt=mysql_query($stmt, $link); if ($DB) {$ASCII_text.="$stmt\n";} $records_to_grab = mysql_num_rows($rslt); $i=0; + $fTOTAL_agents=array(); if($hourly_breakdown) {$epoch_interval=3600;} else {$epoch_interval=86400;} while ($i < $records_to_grab) { @@ -492,7 +753,8 @@ else $st[$i] = $row[3]; $tr[$i] = $row[4]; $at[$i] = $row[5]; # Actual time - + if ($row[6]!="VDCL" && $row[6]!="") {$ag[$i] = $row[6];} # Usuário + # $fTOTAL_agents["$row[6]"]++; # $ASCII_text.= "$qs[$i] | $dt[$i] - $row[1] | $ut[$i] | $ls[$i] | $st[$i] | $tr[$i] | $at[$i]\n"; $i++; @@ -529,12 +791,15 @@ else $totRESPOSTASdate=$MT; $totRESPOSTAS=0; + $totAGENTS=0; $totABANDONS=0; $totRESPOSTASsec=0; $totABANDONSsec=0; $totRESPOSTASspeed=0; + $totSTATUS=array(); $FtotRESPOSTAS=0; + $FtotAGENTS=count(array_count_values($ag)); $FtotABANDONS=0; $FtotRESPOSTASsec=0; $FtotABANDONSsec=0; @@ -554,6 +819,7 @@ else $totRESPOSTASsecdate[$j]=0; $totRESPOSTASspeeddate[$j]=0; $i=0; + $agents_array=array(); while ($i < $records_to_grab) { if ( ($at[$i] >= $daySTART[$j]) and ($at[$i] <= $dayEND[$j]) ) @@ -565,6 +831,12 @@ else # $qrtCALLSsec[$j] = ($qrtCALLSsec[$j] + $ls[$i]); # $dtt = $dt[$i]; $totCALLSdate[$j]++; + # $totAGENTSdate[$j]=$ag[$i]; + if ($ag[$i]!="VDCL" && $ag[$i]!="") {$totAGENTSdate[$j][$ag[$i]]++;} + + $totSTATUS[$st[$i]]++; + $totSTATUSdate[$j][$st[$i]]++; + if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} if (ereg('ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS', $tr[$i])) @@ -577,10 +849,12 @@ else else { $totRESPOSTASdate[$j]++; - $totRESPOSTASsecdate[$j]+=($ls[$i]-$qs[$i]-15); + if (($ls[$i]-$qs[$i]-15)>0) { ## Patch by Joe J - can cause negative time values if removed. + $totRESPOSTASsecdate[$j]+=($ls[$i]-$qs[$i]-15); + $FtotRESPOSTASsec+=($ls[$i]-$qs[$i]-15); + } $totRESPOSTASspeeddate[$j]+=$qs[$i]; $FtotRESPOSTAS++; - $FtotRESPOSTASsec+=($ls[$i]-$qs[$i]-15); $FtotRESPOSTASspeeddate+=$qs[$i]; } if (ereg('DROP',$st[$i])) @@ -626,14 +900,37 @@ else ################################################### ### TOTALS SUMMARY SECTION ### - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |\n"; - $ASCII_text.="| SHIFT | CALLS | CALLS | CALLS | ABANDON | ABANDON | RESPOSTA | TALK | TALK | WRAP | CALL |\n"; - $ASCII_text.="| DATE-TIME RANGE | OFFERED | RESPOSTAED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"AVG\",\"AVG\",\"AVG\",\"TOTAL\",\"TOTAL\",\"TOTAL\"\n"; - $CSV_text.="\"\",\"CALLS\",\"CALLS\",\"CALLS\",\"ABANDON\",\"ABANDON\",\"RESPOSTA\",\"TALK\",\"TALK\",\"WRAP\",\"CALL\"\n"; - $CSV_text.="\"SHIFT DATE-TIME RANGE\",\"OFFERED\",\"RESPOSTAED\",\"ABANDONED\",\"PERCENT\",\"TIME\",\"SPEED\",\"TIME\",\"TIME\",\"TIME\",\"TIME\"\n"; + $MAINH="+-------------------------------------------+---------+----------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+"; + $MAIN1="| | TOTAL | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |"; + $MAIN2="| SHIFT | CALLS | CALLS | AGENTS | CALLS | ABANDON | ABANDON | RESPOSTA | TALK | TALK | WRAP | CALL |"; + $MAIN3="| DATE-TIME RANGE | OFFERED | RESPOSTAED | RESPOSTAED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |"; + $CSV_text1=""; + $CSV_text2=""; + $CSV_text3=""; + + for ($s=0; $sTOTAL DE CHAMADAS OFFERED
    TOTAL DE CHAMADAS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $MTD_GRAPH="

    TOTAL DE CHAMADAS OFFEREDTOTAL DE CHAMADAS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $WTD_GRAPH="

    TOTAL DE CHAMADAS OFFEREDTOTAL DE CHAMADAS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $QTD_GRAPH="

    TOTAL DE CHAMADAS OFFEREDTOTAL DE CHAMADAS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $GRAPH="
    TOTAL DE CHAMADAS OFFEREDTOTAL DE CHAMADAS RESPOSTAEDTOTAL AGENTS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $MTD_GRAPH="

    TOTAL DE CHAMADAS OFFEREDTOTAL DE CHAMADAS RESPOSTAEDTOTAL AGENTS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $WTD_GRAPH="

    TOTAL DE CHAMADAS OFFEREDTOTAL DE CHAMADAS RESPOSTAEDTOTAL AGENTS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $QTD_GRAPH="

    TOTAL DE CHAMADAS OFFEREDTOTAL DE CHAMADAS RESPOSTAEDTOTAL AGENTS RESPOSTAEDTOTAL DE CHAMADAS ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; $graph_header=""; $OFFERED_graph=$graph_header.""; $RESPOSTAED_graph=$graph_header.""; + $AGENTS_graph=$graph_header.""; $ABANDONED_graph=$graph_header.""; $ABANDONPCT_graph=$graph_header.""; $AVGABANDONTIME_graph=$graph_header.""; @@ -703,24 +1005,30 @@ else $totCALLSwtd=0; $totRESPOSTASwtd=0; + $totAGENTSwtd=0; $AGENTS_wtd_array=array(); $totRESPOSTASsecwtd=0; $totRESPOSTASspeedwtd=0; $totABANDONSwtd=0; $totABANDONSsecwtd=0; + $totSTATUSwtd=array(); $totCALLSmtd=0; $totRESPOSTASmtd=0; + $totAGENTSmtd=0; $AGENTS_mtd_array=array(); $totRESPOSTASsecmtd=0; $totRESPOSTASspeedmtd=0; $totABANDONSmtd=0; $totABANDONSsecmtd=0; + $totSTATUSmtd=array(); $totCALLSqtd=0; $totRESPOSTASqtd=0; + $totAGENTSqtd=0; $AGENTS_qtd_array=array(); $totRESPOSTASsecqtd=0; $totRESPOSTASspeedqtd=0; $totABANDONSqtd=0; $totABANDONSsecqtd=0; + $totSTATUSqtd=array(); $d=0; while ($d < $TOTintervals) @@ -767,16 +1075,8 @@ else $totCALLSavgDATE[$d] = 0; $totTIME_MS=' '; } - /* - $totCALLSavgDATE[$d] = sprintf("%6.0f", $totCALLSavgDATE[$d]); - $totDROPSavgDATE[$d] = sprintf("%7.2f", $totDROPSavgDATE[$d]); - $totQUEUEavgDATE[$d] = sprintf("%7.2f", $totQUEUEavgDATE[$d]); - $totQUEUEtotDATE[$d] = sprintf("%7.2f", $totQUEUEtotDATE[$d]); - $totDROPSpctDATE[$d] = sprintf("%6.2f", $totDROPSpctDATE[$d]); - $totQUEUEpctDATE[$d] = sprintf("%6.2f", $totQUEUEpctDATE[$d]); - $totDROPSdate[$d] = sprintf("%6s", $totDROPSdate[$d]); - $totQUEUEdate[$d] = sprintf("%6s", $totQUEUEdate[$d]); - */ $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + if ($totCALLSdate[$d]>0) { @@ -828,6 +1128,7 @@ else if (date("w", strtotime($daySTART[$d]))==0 && date("w", strtotime($daySTART[$d-1]))!=0 && $d>0) { # 2nd date/"w" check is for DST + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); @@ -869,12 +1170,16 @@ else $wtd_graph_stats[$wa][14]=($totRESPOSTASsecwtd+($totRESPOSTASwtd*15)); $wtd_graph_stats[$wa][15]=$totRESPOSTASsecwtd; $totRESPOSTAStotTIMEwtd = sprintf("%10s", floor(($totRESPOSTASsecwtd+($totRESPOSTASwtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPOSTASsecwtd+($totRESPOSTASwtd*15))))); + # $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totRESPOSTASwtd = sprintf("%8s", $totRESPOSTASwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totRESPOSTASwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totRESPOSTASwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -894,21 +1199,33 @@ else $wtd_graph_stats[$wa][8]=trim($totRESPOSTAStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totRESPOSTASwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totRESPOSTAStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wa++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totRESPOSTASwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPOSTASavgspeedTIMEwtd | $totRESPOSTASavgTIMEwtd | $totRESPOSTAStalkTIMEwtd | $totRESPOSTASwrapTIMEwtd | $totRESPOSTAStotTIMEwtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPOSTASwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPOSTASavgspeedTIMEwtd\",\"$totRESPOSTASavgTIMEwtd\",\"$totRESPOSTAStalkTIMEwtd\",\"$totRESPOSTASwrapTIMEwtd\",\"$totRESPOSTAStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totRESPOSTASwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPOSTASavgspeedTIMEwtd | $totRESPOSTASavgTIMEwtd | $totRESPOSTAStalkTIMEwtd | $totRESPOSTASwrapTIMEwtd | $totRESPOSTAStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPOSTASwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPOSTASavgspeedTIMEwtd\",\"$totRESPOSTASavgTIMEwtd\",\"$totRESPOSTAStalkTIMEwtd\",\"$totRESPOSTASwrapTIMEwtd\",\"$totRESPOSTAStotTIMEwtd\""; + for ($s=0; $s0 && date("d", strtotime($daySTART[$d-1]))!=1) { + if (date("d", strtotime($daySTART[$d]))==1 && $d>0 && date("d", strtotime($daySTART[$d-1]))!=1) + { + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); if ($totCALLSmtd>0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -950,6 +1267,8 @@ else $mtd_graph_stats[$ma][14]=($totRESPOSTASsecmtd+($totRESPOSTASmtd*15)); $mtd_graph_stats[$ma][15]=$totRESPOSTASsecmtd; $totRESPOSTAStotTIMEmtd = sprintf("%10s", floor(($totRESPOSTASsecmtd+($totRESPOSTASmtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPOSTASsecmtd+($totRESPOSTASmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totRESPOSTASmtd = sprintf("%8s", $totRESPOSTASmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); @@ -957,6 +1276,7 @@ else if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totRESPOSTASmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totRESPOSTASmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} if (round($totRESPOSTASsecmtd/$totRESPOSTASmtd)>$max_mtd_avgtalktime) {$max_mtd_avgtalktime=round($totRESPOSTASsecmtd/$totRESPOSTASmtd);} if (trim($totRESPOSTASsecmtd)>$max_mtd_totaltalktime) {$max_mtd_totaltalktime=trim($totRESPOSTASsecmtd);} @@ -974,21 +1294,32 @@ else $mtd_graph_stats[$ma][8]=trim($totRESPOSTAStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totRESPOSTASwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totRESPOSTAStotTIMEmtd); + $mtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $ma++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| MTD | $totCALLSmtd | $totRESPOSTASmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRESPOSTASavgspeedTIMEmtd | $totRESPOSTASavgTIMEmtd | $totRESPOSTAStalkTIMEmtd | $totRESPOSTASwrapTIMEmtd | $totRESPOSTAStotTIMEmtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRESPOSTASmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRESPOSTASavgspeedTIMEmtd\",\"$totRESPOSTASavgTIMEmtd\",\"$totRESPOSTAStalkTIMEmtd\",\"$totRESPOSTASwrapTIMEmtd\",\"$totRESPOSTAStotTIMEmtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totRESPOSTASmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRESPOSTASavgspeedTIMEmtd | $totRESPOSTASavgTIMEmtd | $totRESPOSTAStalkTIMEmtd | $totRESPOSTASwrapTIMEmtd | $totRESPOSTAStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRESPOSTASmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRESPOSTASavgspeedTIMEmtd\",\"$totRESPOSTASavgTIMEmtd\",\"$totRESPOSTAStalkTIMEmtd\",\"$totRESPOSTASwrapTIMEmtd\",\"$totRESPOSTAStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1030,6 +1361,8 @@ else $qtd_graph_stats[$qa][14]=($totRESPOSTASsecqtd+($totRESPOSTASqtd*15)); $qtd_graph_stats[$qa][15]=$totRESPOSTASsecqtd; $totRESPOSTAStotTIMEqtd = sprintf("%10s", floor(($totRESPOSTASsecqtd+($totRESPOSTASqtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPOSTASsecqtd+($totRESPOSTASqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totRESPOSTASqtd = sprintf("%8s", $totRESPOSTASqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); @@ -1037,6 +1370,7 @@ else if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totRESPOSTASqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totRESPOSTASqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_answers) {$max_qtd_answered=trim($totAGENTSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} if (round($totRESPOSTASsecqtd/$totRESPOSTASqtd)>$max_qtd_avgtalktime) {$max_qtd_avgtalktime=round($totRESPOSTASsecqtd/$totRESPOSTASqtd);} if (trim($totRESPOSTASsecqtd)>$max_qtd_totaltalktime) {$max_qtd_totaltalktime=trim($totRESPOSTASsecqtd);} @@ -1067,20 +1401,40 @@ else $qtd_graph_stats[$qa][8]=trim($totRESPOSTAStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totRESPOSTASwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totRESPOSTAStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qa++; - $ASCII_text.="| QTD | $totCALLSqtd | $totRESPOSTASqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPOSTASavgspeedTIMEqtd | $totRESPOSTASavgTIMEqtd | $totRESPOSTAStalkTIMEqtd | $totRESPOSTASwrapTIMEqtd | $totRESPOSTAStotTIMEqtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPOSTASqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPOSTASavgspeedTIMEqtd\",\"$totRESPOSTASavgTIMEqtd\",\"$totRESPOSTAStalkTIMEqtd\",\"$totRESPOSTASwrapTIMEqtd\",\"$totRESPOSTAStotTIMEqtd\"\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totRESPOSTASqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPOSTASavgspeedTIMEqtd | $totRESPOSTASavgTIMEqtd | $totRESPOSTAStalkTIMEqtd | $totRESPOSTASwrapTIMEqtd | $totRESPOSTAStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPOSTASqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPOSTASavgspeedTIMEqtd\",\"$totRESPOSTASavgTIMEqtd\",\"$totRESPOSTAStalkTIMEqtd\",\"$totRESPOSTASwrapTIMEqtd\",\"$totRESPOSTAStotTIMEqtd\""; + for ($s=0; $s$max_offered) {$max_offered=trim($totCALLSdate[$d]);} if (trim($totRESPOSTASdate[$d])>$max_answered) {$max_answered=trim($totRESPOSTASdate[$d]);} + if (trim($totAGENTSday)>$max_agents) {$max_agents=trim($totAGENTSday);} if (trim($totABANDONSdate[$d])>$max_abandoned) {$max_abandoned=trim($totABANDONSdate[$d]);} if (trim($totABANDONSpctDATE[$d])>$max_abandonpct) {$max_abandonpct=trim($totABANDONSpctDATE[$d]);} @@ -1119,9 +1474,19 @@ else $graph_stats[$d][8]=trim($totRESPOSTAStalkTIME[$d]); $graph_stats[$d][9]=trim($totRESPOSTASwrapTIME[$d]); $graph_stats[$d][10]=trim($totRESPOSTAStotTIME[$d]); + $graph_stats[$d][17]=trim($totAGENTSday); - $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totRESPOSTASdate[$d] | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totRESPOSTASavgspeedTIME[$d] | $totRESPOSTASavgTIME[$d] | $totRESPOSTAStalkTIME[$d] | $totRESPOSTASwrapTIME[$d] | $totRESPOSTAStotTIME[$d] |\n"; - $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totRESPOSTASdate[$d]\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totRESPOSTASavgspeedTIME[$d]\",\"$totRESPOSTASavgTIME[$d]\",\"$totRESPOSTAStalkTIME[$d]\",\"$totRESPOSTASwrapTIME[$d]\",\"$totRESPOSTAStotTIME[$d]\"\n"; + $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totRESPOSTASdate[$d] | $totAGENTSday | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totRESPOSTASavgspeedTIME[$d] | $totRESPOSTASavgTIME[$d] | $totRESPOSTAStalkTIME[$d] | $totRESPOSTASwrapTIME[$d] | $totRESPOSTAStotTIME[$d] |"; + $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totRESPOSTASdate[$d]\",\"$totAGENTSday\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totRESPOSTASavgspeedTIME[$d]\",\"$totRESPOSTASavgTIME[$d]\",\"$totRESPOSTAStalkTIME[$d]\",\"$totRESPOSTASwrapTIME[$d]\",\"$totRESPOSTAStotTIME[$d]\""; + for ($s=0; $s0) { - if ($totCALLSwtd>0) + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); } @@ -1251,12 +1617,15 @@ else $wtd_graph_stats[$wa][14]=($totRESPOSTASsecwtd+($totRESPOSTASwtd*15)); $wtd_graph_stats[$wa][15]=$totRESPOSTASsecwtd; $totRESPOSTAStotTIMEwtd = sprintf("%10s", floor(($totRESPOSTASsecwtd+($totRESPOSTASwtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPOSTASsecwtd+($totRESPOSTASwtd*15))))); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totRESPOSTASwtd = sprintf("%8s", $totRESPOSTASwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totRESPOSTASwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totRESPOSTASwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -1277,8 +1646,10 @@ else $wtd_graph_stats[$wa][8]=trim($totRESPOSTAStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totRESPOSTASwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totRESPOSTAStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wtd_OFFERED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $OFFERED_graph); $wtd_RESPOSTAED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$RESPOSTAED_graph); + $wtd_AGENTS_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $AGENTS_graph); $wtd_ABANDONED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONED_graph); $wtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONPCT_graph); $wtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$AVGABANDONTIME_graph); @@ -1291,6 +1662,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($wtd_graph_stats)) {$class=" last";} else {$class="";} $wtd_OFFERED_graph.=" "; $wtd_RESPOSTAED_graph.=" "; + $wtd_AGENTS_graph.=" "; $wtd_ABANDONED_graph.=" "; $wtd_ABANDONPCT_graph.=" "; $wtd_AVGABANDONTIME_graph.=" "; @@ -1301,11 +1673,19 @@ else $wtd_TOTALCALLTIME_graph.=" "; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totRESPOSTASwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPOSTASavgspeedTIMEwtd | $totRESPOSTASavgTIMEwtd | $totRESPOSTAStalkTIMEwtd | $totRESPOSTASwrapTIMEwtd | $totRESPOSTAStotTIMEwtd |\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPOSTASwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPOSTASavgspeedTIMEwtd\",\"$totRESPOSTASavgTIMEwtd\",\"$totRESPOSTAStalkTIMEwtd\",\"$totRESPOSTASwrapTIMEwtd\",\"$totRESPOSTAStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totRESPOSTASwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPOSTASavgspeedTIMEwtd | $totRESPOSTASavgTIMEwtd | $totRESPOSTAStalkTIMEwtd | $totRESPOSTASwrapTIMEwtd | $totRESPOSTAStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPOSTASwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPOSTASavgspeedTIMEwtd\",\"$totRESPOSTASavgTIMEwtd\",\"$totRESPOSTAStalkTIMEwtd\",\"$totRESPOSTASwrapTIMEwtd\",\"$totRESPOSTAStotTIMEwtd\""; + for ($s=0; $s0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -1355,12 +1736,15 @@ else $mtd_graph_stats[$ma][14]=($totRESPOSTASsecmtd+($totRESPOSTASmtd*15)); $mtd_graph_stats[$ma][15]=$totRESPOSTASsecmtd; $totRESPOSTAStotTIMEmtd = sprintf("%10s", floor(($totRESPOSTASsecmtd+($totRESPOSTASmtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPOSTASsecmtd+($totRESPOSTASmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totRESPOSTASmtd = sprintf("%8s", $totRESPOSTASmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totRESPOSTASmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totRESPOSTASmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} @@ -1381,8 +1765,10 @@ else $mtd_graph_stats[$ma][8]=trim($totRESPOSTAStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totRESPOSTASwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totRESPOSTAStotTIMEmtd); + $wtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $mtd_OFFERED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$OFFERED_graph); $mtd_RESPOSTAED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$RESPOSTAED_graph); + $mtd_AGENTS_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE', $AGENTS_graph); $mtd_ABANDONED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONED_graph); $mtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONPCT_graph); $mtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$AVGABANDONTIME_graph); @@ -1395,6 +1781,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($mtd_graph_stats)) {$class=" last";} else {$class="";} $mtd_OFFERED_graph.=" "; $mtd_RESPOSTAED_graph.=" "; + $mtd_AGENTS_graph.=" "; $mtd_ABANDONED_graph.=" "; $mtd_ABANDONPCT_graph.=" "; $mtd_AVGABANDONTIME_graph.=" "; @@ -1405,6 +1792,7 @@ else $mtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSmtd+=$mtd_graph_stats[$q][1]; $graph_totRESPOSTASmtd+=$mtd_graph_stats[$q][2]; + $graph_totAGENTSmtd+=$mtd_graph_stats[$q][17]; $graph_totABANDONSmtd+=$mtd_graph_stats[$q][3]; $graph_totABANDONSpctmtd+=$mtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEmtd+=$mtd_graph_stats[$q][5]; @@ -1414,12 +1802,20 @@ else $graph_totRESPOSTASwrapTIMEmtd+=$mtd_graph_stats[$q][9]; $graph_totRESPOSTAStotTIMEmtd+=$mtd_graph_stats[$q][10]; } + + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totRESPOSTASmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRESPOSTASavgspeedTIMEmtd | $totRESPOSTASavgTIMEmtd | $totRESPOSTAStalkTIMEmtd | $totRESPOSTASwrapTIMEmtd | $totRESPOSTAStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRESPOSTASmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRESPOSTASavgspeedTIMEmtd\",\"$totRESPOSTASavgTIMEmtd\",\"$totRESPOSTAStalkTIMEmtd\",\"$totRESPOSTASwrapTIMEmtd\",\"$totRESPOSTAStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1468,12 +1865,15 @@ else $qtd_graph_stats[$qa][14]=($totRESPOSTASsecqtd+($totRESPOSTASqtd*15)); $qtd_graph_stats[$qa][15]=$totRESPOSTASsecqtd; $totRESPOSTAStotTIMEqtd = sprintf("%10s", floor(($totRESPOSTASsecqtd+($totRESPOSTASqtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPOSTASsecqtd+($totRESPOSTASqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totRESPOSTASqtd = sprintf("%8s", $totRESPOSTASqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totRESPOSTASqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totRESPOSTASqtd);} + if (trim($totAGENTSqtd)>$max_qtd_agents) {$max_qtd_agents=trim($totAGENTSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} @@ -1507,8 +1907,10 @@ else $qtd_graph_stats[$qa][8]=trim($totRESPOSTAStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totRESPOSTASwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totRESPOSTAStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qtd_OFFERED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$OFFERED_graph); $qtd_RESPOSTAED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$RESPOSTAED_graph); + $qtd_AGENTS_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AGENTS_graph); $qtd_ABANDONED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONED_graph); $qtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONPCT_graph); $qtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AVGABANDONTIME_graph); @@ -1521,6 +1923,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($qtd_graph_stats)) {$class=" last";} else {$class="";} $qtd_OFFERED_graph.=" "; $qtd_RESPOSTAED_graph.=" "; + $qtd_AGENTS_graph.=" "; $qtd_ABANDONED_graph.=" "; $qtd_ABANDONPCT_graph.=" "; $qtd_AVGABANDONTIME_graph.=" "; @@ -1531,6 +1934,7 @@ else $qtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSqtd+=$qtd_graph_stats[$q][1]; $graph_totRESPOSTASqtd+=$qtd_graph_stats[$q][2]; + $graph_totAGENTSqtd+=$qtd_graph_stats[$q][17]; $graph_totABANDONSqtd+=$qtd_graph_stats[$q][3]; $graph_totABANDONSpctqtd+=$qtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEqtd+=$qtd_graph_stats[$q][5]; @@ -1541,11 +1945,19 @@ else $graph_totRESPOSTAStotTIMEqtd+=$qtd_graph_stats[$q][10]; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| QTD | $totCALLSqtd | $totRESPOSTASqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPOSTASavgspeedTIMEqtd | $totRESPOSTASavgTIMEqtd | $totRESPOSTAStalkTIMEqtd | $totRESPOSTASwrapTIMEqtd | $totRESPOSTAStotTIMEqtd |\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPOSTASqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPOSTASavgspeedTIMEqtd\",\"$totRESPOSTASavgTIMEqtd\",\"$totRESPOSTAStalkTIMEqtd\",\"$totRESPOSTASwrapTIMEqtd\",\"$totRESPOSTAStotTIMEqtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totRESPOSTASqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPOSTASavgspeedTIMEqtd | $totRESPOSTASavgTIMEqtd | $totRESPOSTAStalkTIMEqtd | $totRESPOSTASwrapTIMEqtd | $totRESPOSTAStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPOSTASqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPOSTASavgspeedTIMEqtd\",\"$totRESPOSTASavgTIMEqtd\",\"$totRESPOSTAStalkTIMEqtd\",\"$totRESPOSTASwrapTIMEqtd\",\"$totRESPOSTAStotTIMEqtd\""; + for ($s=0; $s"; $RESPOSTAED_graph.=" "; + $AGENTS_graph.=" "; $ABANDONED_graph.=" "; $ABANDONPCT_graph.=" "; $AVGABANDONTIME_graph.=" "; @@ -1568,6 +1981,7 @@ else } $OFFERED_graph.="
    DAILY RPT - $query_date_BEGIN to $query_date_END
    DATE/TIME RANGETOTAL DE CHAMADAS OFFERED
    TOTAL DE CHAMADAS RESPOSTAED
    TOTAL AGENTS RESPOSTAED
    TOTAL DE CHAMADAS ABANDONED
    TOTAL ABANDON PERCENT
    AVG ABANDON TIME
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][1]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][2]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][17]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][3]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][4]."%
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][5]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][10]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][1]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][2]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][17]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][3]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][4]."%
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][5]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][10]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][1]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][2]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][17]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][3]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][4]."%
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][5]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][10]."
    ".$graph_stats[$q][1]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][2]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][17]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][3]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][4]."%
    ".$graph_stats[$q][0]."".$graph_stats[$q][5]."
    TOTAL:".trim($FtotCALLS)."
    "; $RESPOSTAED_graph.="
    TOTAL:".trim($FtotRESPOSTAS)."
    "; + $AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1580,6 +1994,7 @@ else $JS_text.="function DrawGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$OFFERED_graph\";\n"; $JS_text.=" var RESPOSTAED_graph=\"$RESPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$AVGABANDONTIME_graph\";\n"; @@ -1600,6 +2015,7 @@ else $JS_text.="}\n"; $wtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $wtd_RESPOSTAED_graph.="
    TOTAL:".trim($FtotRESPOSTAS)."
    "; + $wtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $wtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $wtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $wtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1612,6 +2028,7 @@ else $JS_text.="function DrawWTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$wtd_OFFERED_graph\";\n"; $JS_text.=" var RESPOSTAED_graph=\"$wtd_RESPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$wtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$wtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$wtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$wtd_AVGABANDONTIME_graph\";\n"; @@ -1632,6 +2049,7 @@ else $JS_text.="}\n"; $mtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $mtd_RESPOSTAED_graph.="
    TOTAL:".trim($FtotRESPOSTAS)."
    "; + $mtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $mtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $mtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $mtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1644,6 +2062,7 @@ else $JS_text.="function DrawMTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$mtd_OFFERED_graph\";\n"; $JS_text.=" var RESPOSTAED_graph=\"$mtd_RESPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$mtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$mtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$mtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$mtd_AVGABANDONTIME_graph\";\n"; @@ -1664,6 +2083,7 @@ else $JS_text.="}\n"; $qtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $qtd_RESPOSTAED_graph.="
    TOTAL:".trim($FtotRESPOSTAS)."
    "; + $qtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $qtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $qtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $qtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1676,6 +2096,7 @@ else $JS_text.="function DrawQTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$qtd_OFFERED_graph\";\n"; $JS_text.=" var RESPOSTAED_graph=\"$qtd_RESPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$qtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$qtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$qtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$qtd_AVGABANDONTIME_graph\";\n"; @@ -1694,12 +2115,41 @@ else $JS_text.=" var graph_to_display=eval(graph+\"_graph\");\n"; $JS_text.=" document.getElementById('QTD_stats_graph').innerHTML=graph_to_display;\n"; $JS_text.="}\n"; + $FtotAGENTS = sprintf("%8s", $FtotAGENTS); + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| TOTALS | $FtotCALLS | $FtotRESPOSTAS | $FtotAGENTS | $FtotABANDONS | $FtotABANDONSpct%| $FtotABANDONSavgTIME | $FtotRESPOSTASavgspeedTIME | $FtotRESPOSTASavgTIME | $FtotRESPOSTAStalkTIME | $FtotRESPOSTASwrapTIME | $FtotRESPOSTAStotTIME |"; + $CSV_text.="\"TOTALS\",\"$FtotCALLS\",\"$FtotRESPOSTAS\",\"$FtotAGENTS\",\"$FtotABANDONS\",\"$FtotABANDONSpct%\",\"$FtotABANDONSavgTIME\",\"$FtotRESPOSTASavgspeedTIME\",\"$FtotRESPOSTASavgTIME\",\"$FtotRESPOSTAStalkTIME\",\"$FtotRESPOSTASwrapTIME\",\"$FtotRESPOSTAStotTIME\""; + for ($s=0; $s 0) @@ -1777,18 +2228,139 @@ else flush(); echo "$CSV_text"; - - exit; } else { - echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + if ($file_download < 1) + {echo "\n";} + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + + +function HourDifference($time_BEGIN, $time_END) { + global $hpd; + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} +} + +function RecalculateEpochs($query_date_BEGIN, $query_date_END) { + global $query_date_BEGIN, $query_date_END, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + #$EQdate_ARY = explode(' ',$query_date_END); + #$EQday_ARY = explode('-',$EQdate_ARY[0]); + #$EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + #$EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + #$EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); +} + +function RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END) { + global $hpd, $query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END; + global $DURATIONday, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} + + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + $EQdate_ARY = explode(' ',$query_date_END); + $EQday_ARY = explode('-',$EQdate_ARY[0]); + $EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); + + if (!$DURATIONday) + { + $DURATIONsec = ($EQepoch - $SQepoch); + $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); + + if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) + { + $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); + $query_date_END = date("Y-m-d H:i:s", $EQepoch); + $DURATIONday++; + } + } +} ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_server_performance.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_server_performance.php index 997e0ce3..859307d2 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_server_performance.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_server_performance.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0157 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -59,15 +62,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -88,6 +82,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -223,10 +246,10 @@ $TOTALcalls = sprintf("%10s", $row[0]); $OFFHOOKtime = sprintf("%10s", $row[1]); -echo "Total Calls in/out on this server: $TOTALcalls\n"; +echo "Total Calls in/out on this servidor: $TOTALcalls\n"; echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n"; -echo "Average/Peak channels in use for server: $AVGchannels / $HIGHchannels\n"; -echo "Average/Peak load for server: $AVGload / $HIGHload\n"; +echo "Average/Peak channels in use for servidor: $AVGchannels / $HIGHchannels\n"; +echo "Average/Peak load for servidor: $AVGload / $HIGHload\n"; echo "Average USER process cpu percentage: $AVGcpuUSER %\n"; echo "Average SYSTEM process cpu percentage: $AVGcpuSYSTEM %\n"; echo "Average IDLE process cpu percentage: $AVGcpuIDLE %\n"; @@ -397,6 +420,24 @@ echo ""; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_team_performance_detail.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_team_performance_detail.php index 0518b7f7..7de6dd94 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_team_performance_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_team_performance_detail.php @@ -6,7 +6,7 @@ # QC statuses of QCFAIL, QCCANC and sales are defined by the Sale=Y status # flags being set on those statuses. # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 111104-1259 - Added user_group restrictions for selecting in-groups # 120224-1424 - Added new colums and PRECAL to System Time # 120307-1926 - Added additional statuses option and HTML display option +# 130414-0142 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,15 +73,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -104,6 +98,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -623,9 +646,9 @@ if ($ENVIAR=="ENVIAR") $j=0; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contactos | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contactos Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contactos Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; while ($user_row=mysql_fetch_array($user_rslt)) { $j++; @@ -1080,7 +1103,7 @@ if ($ENVIAR=="ENVIAR") $ASCII_text.="--- CALL CENTER TOTAL\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contactos | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contactos Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; $ASCII_text.=$GROUP_text; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; @@ -1186,7 +1209,7 @@ if ($ENVIAR=="ENVIAR") $ASCII_text.="\n"; $CSV_text.="\"\",\"CALL CENTER TOTAL\"\n"; - $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contactos Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; $CSV_text.=$GROUP_CSV_text; $CSV_text.="\"\",\"\",\"TOTALS:\",\"$total_calls\",\"$total_leads\",\"$total_contacts\",\"$total_contact_ratio %\",\"".sec_convert($total_nonpause_time,'H')."\",\"".sec_convert($total_system_time,'H')."\",\"".sec_convert($total_talk_time,'H')."\",\"$total_sales\",\"$sales_per_working_hours\",\"$total_sales_ratio\",\"$total_sale_contact_ratio\",\"$total_sales_per_hour\",\"$total_inc_sales\",\"$total_cnc_sales\",\"$total_callbacks\",\"$total_stcall\",\"$total_average_sale_time\",\"$total_average_contact_time\"$CSV_status_text\n"; for ($d=0; $d0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1327,4 +1348,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/AST_timeonVDADall.php b/agc_2-X/trunk/LANG_www/vicidial_br/AST_timeonVDADall.php index d43a9c81..a8a0dec2 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/AST_timeonVDADall.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/AST_timeonVDADall.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -76,10 +76,14 @@ # 110314-1735 - Fixed another query that was causing load spikes on systems with millions of log entries # 111103-1220 - Added admin_hide_phone_data and admin_hide_lead_data options # 120223-1934 - Added user group options +# 120612-2150 - Added percentages to counts for carrier stats and TOTAL line to carrier display stats as well +# 121222-2151 - Added email status +# 130214-1323 - Added link to in-group selected users report for in-queue inbound calls +# 130424-1357 - Fixed issue with pause codes display # -$version = '2.4-67'; -$build = '120223-1934'; +$version = '2.6-70'; +$build = '130424-1357'; header ("Content-type: text/html; charset=utf-8"); @@ -1292,6 +1296,7 @@ if ($CARRIERstats > 0) $row=mysql_fetch_row($rslt); $TFhour_status[$ctp] = $row[0]; $TFhour_count[$ctp] = $row[1]; + $TFhour_total+=$row[1]; $dialstatuses .= "'$row[0]',"; $ctp++; } @@ -1320,6 +1325,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $SIXhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1338,6 +1344,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1356,6 +1363,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FTminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1374,6 +1382,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FIVEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1392,6 +1401,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1415,16 +1425,27 @@ if ($CARRIERstats > 0) $CARRIERstatsHTML .= "
         $TFhour_status[$print_ctp] $TFhour_count[$print_ctp] $SIXhour_count[$print_ctp] $ONEhour_count[$print_ctp] $FTminute_count[$print_ctp] $FIVEminute_count[$print_ctp] $ONEminute_count[$print_ctp]     $TFhour_status[$print_ctp] $TFhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($TFhour_count[$print_ctp]/$TFhour_total)))."% $SIXhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($SIXhour_count[$print_ctp]/$SIXhour_total)))."% $ONEhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEhour_count[$print_ctp]/$ONEhour_total)))."% $FTminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FTminute_count[$print_ctp]/$FTminute_total)))."% $FIVEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FIVEminute_count[$print_ctp]/$FIVEminute_total)))."% $ONEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEminute_count[$print_ctp]/$ONEminute_total)))."%
         TOTALS ".($TFhour_total+0)." ".($SIXhour_total+0)." ".($ONEhour_total+0)." ".($FTminute_total+0)." ".($FIVEminute_total+0)." ".($ONEminute_total+0)."
    Source Usuário:
    Fonte Usuário: $NWB#vicidial_campaigns-user_group$NWE
    Ativo: $NWB#vicidial_campaigns-active$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Formulário Web: $NWB#vicidial_campaigns-web_form_address$NWE
    Horário Local da Chamada: $NWB#vicidial_campaigns-local_call_time$NWE
    Correio de Voz: $NWB#vicidial_campaigns-voicemail_ext$NWE
    ID da Lista: (somente dígitos)$NWB#vicidial_lists-list_id$NWE
    ID da Lista: (somente dígitos)$NWB#vicidial_lists-list_id$NWE
    Nome da Lista: $NWB#vicidial_lists-list_name$NWE
    Descrição da Lista: $NWB#vicidial_lists-list_description$NWE
    \n"; echo ""; @@ -9440,6 +10030,9 @@ if ($ADD==121) if ($ADD==171) { + ### filter for Letters DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^\n0-9a-zA-Z]","",$phone_numbers); + echo "\n"; + if ($SSallow_emails>0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; + echo "
    \n"; echo ""; @@ -9594,6 +10187,75 @@ if ($ADD==1111) if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} echo "
    Pegar lançamento da chamada: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Handling Grupo: $NWB#vicidial_inbound_groups-group_handling$NWE
    \n"; + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } + +###################### +# ADD=1811 display the ADD NEW EMAIL GROUP SCREEN +###################### + +if ($ADD==1811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW EMAIL GROUP
    \n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + # echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $eswHTML=''; $cfwHTML=''; + if ($SSenable_second_webform > 0) + {$eswHTML = '';} + if ($SScustom_fields_enabled > 0) + {$cfwHTML = '';} + echo "\n"; echo "\n"; echo "
    ID do Grupo: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    ID do Grupo: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Nome do Grupo: $NWB#vicidial_inbound_groups-group_name$NWE
    Cor do Grupo: $NWB#vicidial_inbound_groups-group_color$NWE
    Ativo: $NWB#vicidial_inbound_groups-active$NWE
    Grupo de Usuários do Administrador: $NWB#vicidial_inbound_groups-user_group$NWE
    Formulário Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Correio de Voz: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Próxima Agent Email:$NWB#vicidial_inbound_groups-next_agent_call$NWE
    Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Pegar lançamento da chamada: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    \n"; } @@ -9667,6 +10329,67 @@ if ($ADD==1211) } } +###################### +# ADD=1911 display the COPY EMAIL INBOUND GROUP SCREEN +###################### + +if ($ADD==1911) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    Cópia do grupo de EMAIL\n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Email Grupo ID: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Email Grupo ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    E-mail Nome do grupo: $NWB#vicidial_inbound_groups-group_name$NWE
    Fonte Email Grupo ID: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } ###################### # ADD=1311 display the ADD NEW DID SCREEN @@ -10056,7 +10779,7 @@ if ($ADD==1111111) echo "
    Texto do Script: "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -10263,6 +10987,53 @@ if ($ADD==1111111111) } +###################### +# ADD=1211111111 display the ADD NEW HOLIDAY SCREEN +###################### + +if ($ADD==1211111111) + { + if ($LOGmodify_call_times==1) + { + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -22672,7 +24245,7 @@ if ($ADD==34) $rslt=mysql_query($stmt, $link); } - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group,allow_emails,call_count_limit from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $dial_status_a = $row[3]; @@ -22710,6 +24283,8 @@ if ($ADD==34) $drop_lockout_time = $row[116]; $display_leads_count = $row[130]; $user_group = $row[131]; + $allow_emails = $row[132]; + $call_count_limit = $row[133]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -22838,6 +24413,11 @@ if ($ADD==34) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) + { + echo "\n"; + } + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -23132,7 +24712,9 @@ if ($ADD==34) if (eregi("CAMPANHADOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPANHAlink='stage=CAMPANHAUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $whereLOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -23142,7 +24724,7 @@ if ($ADD==34) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -23174,6 +24756,11 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; @@ -23181,7 +24768,7 @@ if ($ADD==34) $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; + echo ""; + + echo "
    NOVO HORÁRIO DE CHAM. POR ESTADO\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    Férias ID: (sem espaços ou pontos)$NWB#vicidial_call_times-holiday_id$NWE
    Nome do feriado: (breve descrição do feriado)$NWB#vicidial_call_times-holiday_name$NWE
    Férias Comentários: $NWB#vicidial_call_times-holiday_comments$NWE
    Feriado Data: $NWB#vicidial_call_times-holiday_date$NWE\n"; + echo "
    Grupo de Usuários do Administrador: $NWB#vicidial_call_times-user_group$NWE
    Opções de dia e hora será exibida uma vez que criou a definição de férias
    \n"; + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } + + ###################### # ADD=131111111 display the ADD NEW SHIFT SCREEN ###################### @@ -10874,289 +11645,295 @@ if ($ADD==11111111111111) if ($ADD=="2") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    USUÁRIO NÃO ADICIONADO - já existe um usuário no sistema com esse número\n";} else { - if (ereg('AUTOGENERA',$user)) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - $user = 'AUTOGENERA'; - } - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) - { - echo "
    USUÁRIO NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    nome completo e senha devem ter pelo menos 2 caracteres de comprimento\n"; - echo "
    usted debe seleccionar un grupo de usuarios\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    USUÁRIO NÃO ADICIONADO - já existe um usuário no sistema com esse número\n";} else { if (ereg('AUTOGENERA',$user)) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) + { + echo "
    USUÁRIO NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    nome completo e senha devem ter pelo menos 2 caracteres de comprimento\n"; + echo "
    usted debe seleccionar un grupo de usuarios\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; + echo "
    USUÁRIO ADICIONADO: $user\n"; - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; $rslt=mysql_query($stmt, $link); - } - echo "
    USUÁRIO ADICIONADO: $user\n"; - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUÁRIOS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUÁRIOS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Ativo'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Ativo'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### + ### END vtiger integration } - ### END vtiger integration } } - $ADD=3; } @@ -11166,292 +11943,299 @@ if ($ADD=="2") if ($ADD=="2A") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    USUÁRIO NÃO ADICIONADO - já existe um usuário no sistema com esse número\n";} else { - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    USUÁRIO NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    nome completo e senha devem ter pelo menos 2 caracteres de comprimento\n"; - echo "\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    USUÁRIO NÃO ADICIONADO - já existe um usuário no sistema com esse número\n";} else { - if (ereg('AUTOGEN',$user)) + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + echo "
    USUÁRIO NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    nome completo e senha devem ter pelo menos 2 caracteres de comprimento\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGEN',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; - - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); - } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; - $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUÁRIOS', event_type='COPY', record_id='$user', event_code='ADMIN COPIAR USUÁRIO', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUÁRIOS', event_type='COPY', record_id='$user', event_code='ADMIN COPIAR USUÁRIO', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Ativo'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Ativo'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } + ### END vtiger integration - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} + echo "
    USER COPIED: $user copied from $source_user_id\n"; + echo "

    \n"; + echo "Click here to go to the user record\n"; + echo "

    \n"; - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### } - ### END vtiger integration - - echo "
    USER COPIED: $user copied from $source_user_id\n"; - echo "

    \n"; - echo "Click here to go to the user record\n"; - echo "

    \n"; - } } exit; @@ -11463,76 +12247,83 @@ if ($ADD=="2A") if ($ADD==21) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPANHA NÃO ADICIONADA - já existe uma campanha com esse ID no sistema\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPANHA NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPANHA NÃO ADICIONADA - já existe uma campanha com esse ID no sistema\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) - { - echo "
    CAMPANHA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n"; - echo "
    ID da campanha deve ter entre 2 e 8 caracteres de comprimento\n"; - echo "
    o nome da campanha deve ter entre 6 e 40 caracteres de comprimento\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPANHA NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPANHA ADICIONADA: $campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPANHAS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPANHA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n"; + echo "
    ID da campanha deve ter entre 2 e 8 caracteres de comprimento\n"; + echo "
    o nome da campanha deve ter entre 6 e 40 caracteres de comprimento\n"; + } + else + { + echo "
    CAMPANHA ADICIONADA: $campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPANHAS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHAS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHAS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11545,94 +12336,101 @@ if ($ADD==21) if ($ADD==20) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPANHA NÃO ADICIONADA - já existe uma campanha com esse ID no sistema\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPANHA NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPANHA NÃO ADICIONADA - já existe uma campanha com esse ID no sistema\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) - { - echo "
    CAMPANHA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n"; - echo "
    ID da campanha deve ter entre 2 e 8 caracteres de comprimento\n"; - echo "
    source ID da campanha deve ter entre 2 e 8 caracteres de comprimento\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPANHA NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPANHA COPIED: $campaign_id copied from $source_campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPANHAS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPANHA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n"; + echo "
    ID da campanha deve ter entre 2 e 8 caracteres de comprimento\n"; + echo "
    source ID da campanha deve ter entre 2 e 8 caracteres de comprimento\n"; + } + else + { + echo "
    CAMPANHA COPIED: $campaign_id copied from $source_campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPANHAS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHAS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPANHA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHAS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPANHA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11645,41 +12443,48 @@ if ($ADD==20) if ($ADD==22) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUS DE CAMPANHA NAO ADICIONADO - já existe um status/campanha no sistema com esse nome\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    STATUS DE CAMPANHA NÃO ADICIONADO - já existe um status global do sistema com esse nome\n";} + {echo "
    STATUS DE CAMPANHA NAO ADICIONADO - já existe um status/campanha no sistema com esse nome\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    STATUS DE CAMPANHA NÃO ADICIONADO- Por favor volte e verifique os dados digitados\n"; - echo "
    status deve ter entre 1 e 8 caracteres de comprimento\n"; - echo "
    nome do status deve ter entre 2 e 30 caracteres de comprimento\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUS DE CAMPANHA NÃO ADICIONADO - já existe um status global do sistema com esse nome\n";} else { - echo "
    STATUS DE CAMPANHA ADICIONADO: $campaign_id - $status_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    STATUS DE CAMPANHA NÃO ADICIONADO- Por favor volte e verifique os dados digitados\n"; + echo "
    status deve ter entre 1 e 8 caracteres de comprimento\n"; + echo "
    nome do status deve ter entre 2 e 30 caracteres de comprimento\n"; + } + else + { + echo "
    STATUS DE CAMPANHA ADICIONADO: $campaign_id - $status_id\n"; - $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -11694,38 +12499,45 @@ if ($ADD==22) if ($ADD==23) { - $HKstatus_data = explode('-----',$HKstatus); - $status = $HKstatus_data[0]; - $status_name = $HKstatus_data[1]; - - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPANHA HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) - { - echo "
    TECLA DE ATALHO DA CAMPANHA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n"; - echo "
    hotkey must be a single character between 1 and 9 \n"; - echo "
    status deve ter entre 1 e 8 caracteres de comprimento\n"; - } + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPANHA HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} else { - echo "
    ATALHO DA CAMPANHA ADICIONADO: $campaign_id - $status - $hotkey\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    TECLA DE ATALHO DA CAMPANHA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n"; + echo "
    hotkey must be a single character between 1 and 9 \n"; + echo "
    status deve ter entre 1 e 8 caracteres de comprimento\n"; + } + else + { + echo "
    ATALHO DA CAMPANHA ADICIONADO: $campaign_id - $status - $hotkey\n"; - $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA HOTKEY', event_sql=\"$SQL_log\", event_notes='Status: $status|HotKey: $hotkey';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA HOTKEY', event_sql=\"$SQL_log\", event_notes='Status: $status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=23; @@ -11739,36 +12551,43 @@ if ($ADD==23) if ($ADD==25) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    RECICLAGEM DE REGISTROS DA CAMPANHA NÃO ADICIONADO - já existe um registro de reciclagem nessa campanha para esse status\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) - { - echo "
    CAMPANHA LEAD RECYCLE NOT ADDED - Por favor, volte e verifique os dados digitados\n"; - echo "
    status deve ter entre 1 e 6 caracteres\n"; - echo "
    tempo de tentativa deve ter pelo menos 120 segundos e menos de 43200 segundos ou 12 horas\n"; - echo "
    quantidade máxima de tentativas deve ser entre 1 e 10\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    RECICLAGEM DE REGISTROS DA CAMPANHA NÃO ADICIONADO - já existe um registro de reciclagem nessa campanha para esse status\n";} else { - echo "
    RECICLAGEM DE REGISTROS DA CAMPANHA ADICIONADO: $campaign_id - $status - $attempt_delay\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    CAMPANHA LEAD RECYCLE NOT ADDED - Por favor, volte e verifique os dados digitados\n"; + echo "
    status deve ter entre 1 e 6 caracteres\n"; + echo "
    tempo de tentativa deve ter pelo menos 120 segundos e menos de 43200 segundos ou 12 horas\n"; + echo "
    quantidade máxima de tentativas deve ser entre 1 e 10\n"; + } + else + { + echo "
    RECICLAGEM DE REGISTROS DA CAMPANHA ADICIONADO: $campaign_id - $status - $attempt_delay\n"; - $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Status: $status';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=25; @@ -11782,40 +12601,47 @@ if ($ADD==25) if ($ADD==26) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUS DE DISCAGEM DE NÚM. ALT. NÃO INCLUÍDO - já existe uma entrada para esta campanha com este status\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    STATUS DE DISCAGEM DE NÚM. ALT. NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    status deve ter entre 1 e 6 caracteres\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUS DE DISCAGEM DE NÚM. ALT. NÃO INCLUÍDO - já existe uma entrada para esta campanha com este status\n";} else { - echo "
    STATUS DE DISCAGEM PARA NÚM. ALT. INCLUÍDO: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    STATUS DE DISCAGEM DE NÚM. ALT. NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    status deve ter entre 1 e 6 caracteres\n"; + } + else + { + echo "
    STATUS DE DISCAGEM PARA NÚM. ALT. INCLUÍDO: $campaign_id - $status\n"; - $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $auto_alt_dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA ALT DIAL', event_sql=\"$SQL_log\", event_notes='Status: $auto_alt_dial_statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA ALT DIAL', event_sql=\"$SQL_log\", event_notes='Status: $auto_alt_dial_statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=26; @@ -11829,34 +12655,41 @@ if ($ADD==26) if ($ADD==27) { - echo ""; - $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CÓDIGO DE PAUSA NAO INCLUÍDO - já existe uma entrada para esta campanha e este código de pausa\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) - { - echo "
    CÓDIGO DE PAUSA NAO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    pause code must be between 1 and 6 characters in length\n"; - echo "
    pause nome do código deve ter entre 2 e 30 caracteres de comprimento\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CÓDIGO DE PAUSA NAO INCLUÍDO - já existe uma entrada para esta campanha e este código de pausa\n";} else { - echo "
    CÓDIGO DE PAUSA INCLUÍDO: $campaign_id - $pause_code - $pause_code_name\n"; + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    CÓDIGO DE PAUSA NAO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + echo "
    pause nome do código deve ter entre 2 e 30 caracteres de comprimento\n"; + } + else + { + echo "
    CÓDIGO DE PAUSA INCLUÍDO: $campaign_id - $pause_code - $pause_code_name\n"; - $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Código de Pausa: $pause_code';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Código de Pausa: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=27; @@ -11870,40 +12703,47 @@ if ($ADD==27) if ($ADD==28) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUS DE DISCAGEM NÃO INCLUÍDO - já existe uma entrada para esta campanha com este status\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    STATUS DE DISCAGEM NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    status deve ter entre 1 e 6 caracteres\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUS DE DISCAGEM NÃO INCLUÍDO - já existe uma entrada para esta campanha com este status\n";} else { - echo "
    STATUS DE DISCAGEM INCLUÍDO: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    STATUS DE DISCAGEM NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    status deve ter entre 1 e 6 caracteres\n"; + } + else + { + echo "
    STATUS DE DISCAGEM INCLUÍDO: $campaign_id - $status\n"; - $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Status: $statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Status: $statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } #$SUB=28; @@ -11916,37 +12756,44 @@ if ($ADD==28) ###################### if ($ADD==201) { - echo ""; - $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PRESET NÃO ADICIONADO - já existe uma entrada para esta campanha com esta predefinição\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) - { - echo "
    PRESET NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; - echo "
    preset name must be between 1 and 40 characters in length\n"; - echo "
    preset number must be between 2 and 50 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PRESET NÃO ADICIONADO - já existe uma entrada para esta campanha com esta predefinição\n";} else { - echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; + if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) + { + echo "
    PRESET NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; + echo "
    preset name must be between 1 and 40 characters in length\n"; + echo "
    preset number must be between 2 and 50 characters in length\n"; + } + else + { + echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; - $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; + $rslt=mysql_query($stmt, $link); - $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=201; @@ -11959,121 +12806,128 @@ if ($ADD==201) ###################### if ($ADD==202) { - echo ""; - if ($stage == 'ADD') + if ($add_copy_disabled > 0) { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CódigoDeÁrea NÃO CID ADICIONADO - já existe uma entrada para esta campanha com este CID
    \n";} - else - { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    CódigoDeÁrea NÃO CID ADICIONADO - Por favor, volte e verifique os dados digitados
    \n"; - } - else - { - echo "
    CódigoDeÁrea CID ADICIONADO: $campaign_id - $areacode - $outbound_cid
    \n"; - - $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - if ($stage == 'DELETE') + else { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    CódigoDeÁrea CID não excluído - esta entrada não existir
    \n";} - else + echo ""; + if ($stage == 'ADD') { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    CódigoDeÁrea CID não excluído - Por favor, volte e verifique os dados digitados
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CódigoDeÁrea NÃO CID ADICIONADO - já existe uma entrada para esta campanha com este CID
    \n";} else { - echo "
    CódigoDeÁrea CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    CódigoDeÁrea NÃO CID ADICIONADO - Por favor, volte e verifique os dados digitados
    \n"; + } + else + { + echo "
    CódigoDeÁrea CID ADICIONADO: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPANHA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } - } - if ($stage == 'MODIFY') - { - $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; - $rslt=mysql_query($stmt, $link); - $accids_to_print = mysql_num_rows($rslt); - $o=0; - while ($accids_to_print > $o) + if ($stage == 'DELETE') { - $rowx=mysql_fetch_row($rslt); - $Xareacode[$o] = $rowx[0]; - $Xoutbound_cid[$o] = $rowx[1]; - $Xactive[$o] = $rowx[2]; - $Xcid_description[$o] = $rowx[3]; - $Xcall_count_today[$o] = $rowx[4]; - $o++; - } - - $o=0; - while ($accids_to_print > $o) - { - $Factive_value=''; - $Fcid_description_value=''; - $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; - $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; - - if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} - elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} - if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} - elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} - $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); - $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); - - # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; - - if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) - { - # echo "
    CódigoDeÁrea CID NOT MODIFIED - Por favor, volte e verifique os dados digitados
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    CódigoDeÁrea CID não excluído - esta entrada não existir
    \n";} else { - echo "CódigoDeÁrea CID MODIFICADO: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    CódigoDeÁrea CID não excluído - Por favor, volte e verifique os dados digitados
    \n"; + } + else + { + echo "
    CódigoDeÁrea CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; - $rslt=mysql_query($stmt, $link); + $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPANHA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPANHA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + if ($stage == 'MODIFY') + { + $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; + $rslt=mysql_query($stmt, $link); + $accids_to_print = mysql_num_rows($rslt); + $o=0; + while ($accids_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xareacode[$o] = $rowx[0]; + $Xoutbound_cid[$o] = $rowx[1]; + $Xactive[$o] = $rowx[2]; + $Xcid_description[$o] = $rowx[3]; + $Xcall_count_today[$o] = $rowx[4]; + $o++; + } + + $o=0; + while ($accids_to_print > $o) + { + $Factive_value=''; + $Fcid_description_value=''; + $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; + $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; + + if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} + elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} + if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} + elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} + $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); + $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); + + # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; + + if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) + { + # echo "
    CódigoDeÁrea CID NOT MODIFIED - Por favor, volte e verifique os dados digitados
    \n"; + } + else + { + echo "CódigoDeÁrea CID MODIFICADO: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + + $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPANHA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + $o++; } - $o++; } } $SUB=202; @@ -12087,49 +12941,56 @@ if ($ADD==202) if ($ADD==211) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $list_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LISTA NÃO ADICIONADA - já existe uma lista no sistema com essa ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    LISTA NÃO ADICIONADA - por favor volte e verifique os dados digitados\n"; - echo "
    A ID da lista deve ter entre 2 e 8 caracteres de comprimento\n"; - echo "
    O Nome da Lista deve ter até 2 caracteres de comprimento\n"; - echo "
    ID da Lista must be greater than 100\n"; + $row=mysql_fetch_row($rslt); + $list_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LISTA NÃO ADICIONADA - já existe uma lista no sistema com essa ID\n";} else { - echo "
    LISTA ADICIONADA: $list_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 19) ) + { + echo "
    LISTA NÃO ADICIONADA - por favor volte e verifique os dados digitados\n"; + echo "
    A ID da lista deve ter entre 2 e 8 caracteres de comprimento\n"; + echo "
    O Nome da Lista deve ter até 2 caracteres de comprimento\n"; + echo "
    ID da Lista must be greater than 100\n"; + } + else + { + echo "
    LISTA ADICIONADA: $list_id\n"; - $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311; @@ -12143,67 +13004,148 @@ if ($ADD==211) if ($ADD==2111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO NÃO ADICIONADO - já existe um grupo com essa ID no sistema\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPO NÃO ADICIONADO - já existe um grupo com essa ID no sistema\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; - echo "
    A ID do grupo deve ter entre 2 e 20 caracteres de comprimento ' -+'.\n"; - echo "
    O nome e a cor do grupo devem ter pelo menos 2 caracteres de comprimento\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; + echo "
    A ID do grupo deve ter entre 2 e 20 caracteres de comprimento ' -+'.\n"; + echo "
    O nome e a cor do grupo devem ter pelo menos 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group','$group_handling');"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPO ADICIONADO: $group_id\n"; + echo "
    GRUPO ADICIONADO: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2811 adds the new EMAIL inbound group to the system +###################### + +if ( ($ADD==2811) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPO NÃO ADICIONADO - já existe um grupo com essa ID no sistema\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPO E-MAIL NÃO ADICIONADO - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; + echo "
    A ID do grupo deve ter entre 2 e 20 caracteres de comprimento ' -+'.\n"; + echo "
    O nome e a cor do grupo devem ter pelo menos 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','EMAIL','','','','','','$user_group','EMAIL');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    GRUPO DE EMAIL ADICIONADO: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2011 adds copied inbound group to the system @@ -12211,67 +13153,148 @@ if ($ADD==2111) if ($ADD==2011) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO NÃO ADICIONADO - já existe um grupo com essa ID no sistema\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPO NÃO ADICIONADO - já existe um grupo com essa ID no sistema\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; - echo "
    A ID do grupo deve ter entre 2 e 20 caracteres de comprimento ' -+'.\n"; - echo "
    O nome e a cor do grupo devem ter pelo menos 2 caracteres de comprimento\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id=\"$source_group_id\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; + echo "
    A ID do grupo deve ter entre 2 e 20 caracteres de comprimento ' -+'.\n"; + echo "
    O nome e a cor do grupo devem ter pelo menos 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPO ADICIONADO: $group_id\n"; + echo "
    GRUPO ADICIONADO: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPIAR GRUPO DE ENTRADA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPIAR GRUPO DE ENTRADA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2911 adds copied inbound group to the system +###################### + +if ( ($ADD==2911) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPO NÃO ADICIONADO - já existe um grupo com essa ID no sistema\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPO E-MAIL NÃO ADICIONADO - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    EMAIL GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; + echo "
    Email grupo ID deve ter entre 2 e 20 caracteres de comprimento e não contêm ' -+'.\n"; + echo "
    E-mail nome do grupo e cor grupo deve ter pelo menos dois caracteres\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    GRUPO DE EMAIL ADICIONADO: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPIAR GRUPO DE ENTRADA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2311 adds the new did to the system @@ -12279,45 +13302,52 @@ if ($ADD==2011) if ($ADD==2311) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DDR NÃO INCLUÍDO - já existe um DDR com este ID no sistema\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { + echo ""; $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    DDR NÃO INCLUÍDO - já existe um DDR com esta extensão no sistema\n";} + {echo "
    DDR NÃO INCLUÍDO - já existe um DDR com este ID no sistema\n";} else { - if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) - { - echo "
    DDR NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DDR NÃO INCLUÍDO - já existe um DDR com esta extensão no sistema\n";} else - { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + { # or (eregi("\+",$did_pattern)) + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) ) + { + echo "
    DDR NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; + echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12331,38 +13361,45 @@ if ($ADD==2311) if ($ADD==2411) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DDR NÃO INCLUÍDO - já existe um DDR com esta extensão no sistema\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) - { - echo "
    DDR NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DDR NÃO INCLUÍDO - já existe um DDR com esta extensão no sistema\n";} else { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
    DDR NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern - $did_id\n"; + echo "
    DID ADDED: $did_pattern - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPIAR DDR', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPIAR DDR', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3311; @@ -12375,61 +13412,68 @@ if ($ADD==2411) if ($ADD==2511) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    MENU NÃO INCLUÍDO - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    MENU NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    Identificação de chamada Menu não pode usar palavras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    MENU NÃO INCLUÍDO - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    MENU NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    O ID do menu deve ter entre 2 e 50 caracteres de comprimento e nao conter ' '.\n"; + echo "
    Identificação de chamada Menu não pode usar palavras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + { + echo "
    MENU NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    O ID do menu deve ter entre 2 e 50 caracteres de comprimento e nao conter ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    MENU INCLUÍDO: $menu_id $menu_name\n"; + echo "
    MENU INCLUÍDO: $menu_id $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12442,64 +13486,71 @@ if ($ADD==2511) if ($ADD==2611) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    MENU NÃO INCLUÍDO - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    MENU NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    Identificação de chamada Menu não pode usar palavras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    MENU NÃO INCLUÍDO - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    MENU NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    O ID do menu deve ter entre 2 e 50 caracteres de comprimento e nao conter ' '.\n"; + echo "
    Identificação de chamada Menu não pode usar palavras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id=\"$source_menu\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + { + echo "
    MENU NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    O ID do menu deve ter entre 2 e 50 caracteres de comprimento e nao conter ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id=\"$source_menu\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; + $rslt=mysql_query($stmtA, $link); - echo "
    MENU INCLUÍDO: $menu_id - $menu_name\n"; + echo "
    MENU INCLUÍDO: $menu_id - $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtA"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtA"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12512,33 +13563,40 @@ if ($ADD==2611) if ($ADD==2711) { - echo ""; - $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO DE FILTRO TELEFONE NÃO ADICIONADO - já existe um Grupo Telefone FILTER no sistema com este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) - { - echo "
    PHONE FILTER GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; - echo "
    Telefone ID Group Filter deve ter entre 2 e 20 caracteres e não contêm ' '.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPO DE FILTRO TELEFONE NÃO ADICIONADO - já existe um Grupo Telefone FILTER no sistema com este ID\n";} else { - $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) + { + echo "
    PHONE FILTER GRUPO NÃO ADICIONADO - por favor volte e verifique os dados digitados\n"; + echo "
    Telefone ID Group Filter deve ter entre 2 e 20 caracteres e não contêm ' '.\n"; + } + else + { + $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    GRUPO DE TELEFONE filtro adicionado: $filter_phone_group_id $filter_phone_group_name\n"; + echo "
    GRUPO DE TELEFONE filtro adicionado: $filter_phone_group_id $filter_phone_group_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN INCLUIR FILTRO PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN INCLUIR FILTRO PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3711; @@ -12551,50 +13609,57 @@ if ($ADD==2711) if ($ADD==21111) { - echo ""; - $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AGENTES REMOTOS NÃO ADICIONADOS - já existe um usuário remoto com esse ID no sistema\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - ### check for a valid user that will be associated with this account - $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    AGENTES REMOTOS NOT ADDED - você deve usar um usuário válido como o user_start para agentes remotos\n";} + if ($row[0] > 0) + {echo "
    AGENTES REMOTOS NÃO ADICIONADOS - já existe um usuário remoto com esse ID no sistema\n";} else { - ### check for closest remote agents to this account to ensure no overlapping - $user_finish = ($user_start + $number_of_lines); - $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + ### check for a valid user that will be associated with this account + $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AGENTES REMOTOS NOT ADDED - seu número de sobreposições de linhas com um outro agente remoto\n";} + if ($row[0] < 1) + {echo "
    AGENTES REMOTOS NOT ADDED - você deve usar um usuário válido como o user_start para agentes remotos\n";} else { - if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) - { - echo "
    AGENTES REMOTOS NÃO ADICIONADOS - Por favor volte e verifique os dados digitados\n"; - echo "
    Início da ID e extensão externa devem ter no mínimo 2 caracteres de comprimento\n"; - } + ### check for closest remote agents to this account to ensure no overlapping + $user_finish = ($user_start + $number_of_lines); + $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    AGENTES REMOTOS NOT ADDED - seu número de sobreposições de linhas com um outro agente remoto\n";} else { - $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    AGENTES REMOTOS NÃO ADICIONADOS - Por favor volte e verifique os dados digitados\n"; + echo "
    Início da ID e extensão externa devem ter no mínimo 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); - echo "
    AGENTES REMOTOS ADICIONADOS: $user_start\n"; + echo "
    AGENTES REMOTOS ADICIONADOS: $user_start\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12609,38 +13674,45 @@ if ($ADD==21111) if ($ADD==22111) { - echo ""; - $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ENTRADA DO GRUPO DE EXTENSÃO NÃO ADICIONADO - já existe uma entrada de grupo de extensão com estes valores\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) - { - echo "
    ENTRADA DO GRUPO DE EXTENSÃO NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; - echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ENTRADA DO GRUPO DE EXTENSÃO NÃO ADICIONADO - já existe uma entrada de grupo de extensão com estes valores\n";} else { - $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) + { + echo "
    ENTRADA DO GRUPO DE EXTENSÃO NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; + echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $extension_id = $row[0]; + $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension_id = $row[0]; - echo "
    ENTRADA GROUP extensão adicionada: $extension_id - $extension_group_id - $extension\n"; + echo "
    ENTRADA GROUP extensão adicionada: $extension_id - $extension_group_id - $extension\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=12000; @@ -12653,147 +13725,154 @@ if ($ADD==22111) if ($ADD==211111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user_group = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO DE USUÁRIO NÃO ADICIONADO - já existe um grupo de usuários com este nome\n";} else { - if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    GRUPO DE USUÁRIOS NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; - echo "
    Nome e descrição do grupo devem ter pelo menos 2 caracteres de comprimento\n"; + $row=mysql_fetch_row($rslt); + $user_group = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPO DE USUÁRIO NÃO ADICIONADO - já existe um grupo de usuários com este nome\n";} else { - $allowed_user_group_insert_SQL = '---ALL---'; - $allowed_campaign_insert_SQL = '-ALL-CAMPANHAS-'; - # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups - if ($admin_viewable_groupsALL < 1) + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) { - $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; - $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); - $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; + echo "
    GRUPO DE USUÁRIOS NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; + echo "
    Nome e descrição do grupo devem ter pelo menos 2 caracteres de comprimento\n"; + } + else + { + $allowed_user_group_insert_SQL = '---ALL---'; + $allowed_campaign_insert_SQL = '-ALL-CAMPANHAS-'; + # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups + if ($admin_viewable_groupsALL < 1) + { + $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; + $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); + $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; - $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + + $allowed_user_group_insert_SQL = " $user_group -"; + + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $allowed_campaign_insert_SQL = $LOGallowed_campaigns; + } + + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; $rslt=mysql_query($stmt, $link); - $allowed_user_group_insert_SQL = " $user_group -"; - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); - $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - } - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) - { - $allowed_campaign_insert_SQL = $LOGallowed_campaigns; - } + echo "
    GRUPO DE USUÁRIOS ADICIONADOS: $user_group\n"; - $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN NOVO GRUPO DE USUÁRIO', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - - echo "
    GRUPO DE USUÁRIOS ADICIONADOS: $user_group\n"; - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN NOVO GRUPO DE USUÁRIO', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} if (!$rslt) {die('Could not execute: ' . mysql_error());} $row=mysql_fetch_row($rslt); - $groupid = $row[0]; + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### } } } @@ -12806,47 +13885,54 @@ if ($ADD==211111) if ($ADD==2111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $script_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SCRIPT NÃO ADICIONADO - já existe um script com este nome no sistema\n";} else { - if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    SCRIPT NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; - echo "
    Nome do script, descrição e texto devem ter no mínimo 2 caracteres de comprimento\n"; + $row=mysql_fetch_row($rslt); + $script_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SCRIPT NÃO ADICIONADO - já existe um script com este nome no sistema\n";} else { - $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    SCRIPT ADICIONADO: $script_id\n"; + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    SCRIPT NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; + echo "
    Nome do script, descrição e texto devem ter no mínimo 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + echo "
    SCRIPT ADICIONADO: $script_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPTS', event_type='ADD', record_id='$script_id', event_code='ADMIN INCLUIR SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPTS', event_type='ADD', record_id='$script_id', event_code='ADMIN INCLUIR SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=1000000; @@ -12859,48 +13945,55 @@ if ($ADD==2111111) if ($ADD==21111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $lead_filter_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    FILTRO NÃO ADICIONADO - já existe um filtro com esse ID\n";} else { - if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    FILTRO NAO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; - echo "
    ID do Filtro, nome e SQL devem ter pelo menos 2 caracteres de comprimento\n"; + $row=mysql_fetch_row($rslt); + $lead_filter_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    FILTRO NÃO ADICIONADO - já existe um filtro com esse ID\n";} else { - $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    FILTRO NAO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; + echo "
    ID do Filtro, nome e SQL devem ter pelo menos 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; + $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    FILTRO CRIADO: $lead_filter_id\n"; + if ($DB > 0) {echo "|$stmt|";} + echo "
    FILTRO CRIADO: $lead_filter_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTROS', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN INCLUIR FILTRO', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTROS', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN INCLUIR FILTRO', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=10000000; @@ -12913,34 +14006,41 @@ if ($ADD==21111111) if ($ADD==211111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONFIGURAÇÃO DE HORÁRIO DE CHAMADA NAO INCLUÍDO - já existe uma entrada de Horário para este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) - { - echo "
    CONFIGURAÇÃO DE HORÁRIO DE CHAMADA NAO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    ID e nome do Horário de Chamada deve ter pelo menos 2 caracteres de comprimento\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFIGURAÇÃO DE HORÁRIO DE CHAMADA NAO INCLUÍDO - já existe uma entrada de Horário para este ID\n";} else { - $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    CONFIGURAÇÃO DE HORÁRIO DE CHAMADA NAO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    ID e nome do Horário de Chamada deve ter pelo menos 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group',ct_state_call_times='',ct_holidays='';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    HORÁRIO DE CHAMADA ADICIONADA: $call_time_id\n"; + echo "
    HORÁRIO DE CHAMADA ADICIONADA: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111; @@ -12953,98 +14053,159 @@ if ($ADD==211111111) if ($ADD==2111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONFIGURAÇÃO DO HORÁRIO DE CHAMADA POR ESTADO NAO ADICIONADA - já existe uma entrada de Horário para este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) - { - echo "
    CONFIGURAÇÃO DO HORÁRIO DE CHAMADA POR ESTADO NAO ADICIONADA - Por favor, volte e verifique os dados digitados\n"; - echo "
    ID da configuração de chamada por estado, nome e estado devem ter no mínimo 2 caracteres de comprimento\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFIGURAÇÃO DO HORÁRIO DE CHAMADA POR ESTADO NAO ADICIONADA - já existe uma entrada de Horário para este ID\n";} else { - $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    CONFIGURAÇÃO DO HORÁRIO DE CHAMADA POR ESTADO NAO ADICIONADA - Por favor, volte e verifique os dados digitados\n"; + echo "
    ID da configuração de chamada por estado, nome e estado devem ter no mínimo 2 caracteres de comprimento\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    HORÁRIO DE CHAMADA POR ESTADO ADICIONADA: $call_time_id\n"; + echo "
    HORÁRIO DE CHAMADA POR ESTADO ADICIONADA: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111; } +###################### +# ADD=2211111111 adds new holiday definition to the system +###################### + +if ($ADD==2211111111) + { + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_call_time_holidays where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    HOLIDAY DEFINIÇÃO não adicionado - já existe uma entrada do feriado com este ID\n";} + else + { + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    HOLIDAY DEFINIÇÃO não adicionado - Por favor, volte e verifique os dados digitados\n"; + echo "
    Férias ID, nome e data devem ser preenchidos\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_time_holidays SET holiday_id='$holiday_id',holiday_name='$holiday_name',holiday_comments='$holiday_comments',holiday_date='$holiday_date',holiday_status='INACTIVE',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + + echo "
    HOLIDAY ADICIONADO: $holiday_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='ADD', record_id='$holiday_id', event_code='ADMIN ADD HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3211111111; + } + + ###################### # ADD=231111111 adds new shift definition to the system ###################### if ($ADD==231111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $shift_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONFIGURAÇÃO DE TURNO NÃO INCLUÍDA - já existe uma entrada de turno com este ID\n";} else { - $shift_length_test = eregi_replace(':','',$shift_length); - if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CONFIGURAÇÃO DE TURNO NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n"; - echo "
    ID e Nome do turno devem ter pelo menos 2 caracteres\n"; - echo "
    Horário de início deve ter 4 caracteres e ser um horário válido\n"; - echo "
    Duração do Turno deve ter 5 caracteres e 24 horas ou menos\n"; + $row=mysql_fetch_row($rslt); + $shift_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFIGURAÇÃO DE TURNO NÃO INCLUÍDA - já existe uma entrada de turno com este ID\n";} else { - $p=0; - $shift_weekdays_ct = count($shift_weekdays); - while ($p <= $shift_weekdays_ct) + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) { - $SHIFT_weekdays .= "$shift_weekdays[$p]"; - $p++; + echo "
    CONFIGURAÇÃO DE TURNO NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n"; + echo "
    ID e Nome do turno devem ter pelo menos 2 caracteres\n"; + echo "
    Horário de início deve ter 4 caracteres e ser um horário válido\n"; + echo "
    Duração do Turno deve ter 5 caracteres e 24 horas ou menos\n"; } - $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    TURNO INCLUÍDO:$shift_id\n"; + echo "
    TURNO INCLUÍDO:$shift_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111; @@ -13057,71 +14218,78 @@ if ($ADD==231111111) if ($ADD==21111111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $extension = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    RAMAL NÃO ADICIONADO - já existe um Ramal no sistema com essa extensão\/servidor\n";} else { - $stmt="SELECT count(*) from phones where login='$login';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $extension = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - já existe um Ramal no sistema com este login\n";} + {echo "
    RAMAL NÃO ADICIONADO - já existe um Ramal no sistema com essa extensão\/servidor\n";} else { - $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $stmt="SELECT count(*) from phones where login='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - já existe um alias de Ramal no sistema com esse login\n";} + {echo "
    PHONE NOT ADDED - já existe um Ramal no sistema com este login\n";} else { - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - there is already a ID de correo de voz in the system with this ID\n";} + {echo "
    PHONE NOT ADDED - já existe um alias de Ramal no sistema com esse login\n";} else { - if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) - { - echo "
    RAMAL NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; - echo "
    Los siguientes campos deben disponer de datos: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; - } + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a ID de correo de voz in the system with this ID\n";} else { - echo "
    RAMAL ADICIONADO\n"; + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + { + echo "
    RAMAL NÃO ADICIONADO - Por favor volte e verifique os dados digitados\n"; + echo "
    Los siguientes campos deben disponer de datos: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; + } + else + { + echo "
    RAMAL ADICIONADO\n"; - $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13137,37 +14305,44 @@ if ($ADD==21111111111) if ($ADD==22111111111) { - echo ""; - $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ALIAS DE RAMAL NÃO INCLUIDO - já existe um Alias de Ramal no sistema com esse ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where login='$alias_id';"; + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ALIAS DE RAMAL NÃO INCLUIDO - ja existe um Login no sistema com esse ID\n";} + {echo "
    ALIAS DE RAMAL NÃO INCLUIDO - já existe um Alias de Ramal no sistema com esse ID\n";} else { - if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) - {echo "
    ALIAS DE RAMAL NÃO INCLUIDO - Por favor, volte e verifique os dados digitados\n";} + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ALIAS DE RAMAL NÃO INCLUIDO - ja existe um Login no sistema com esse ID\n";} else { - echo "
    ALIAS DE RAMAL INCLUÍDO\n"; + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    ALIAS DE RAMAL NÃO INCLUIDO - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    ALIAS DE RAMAL INCLUÍDO\n"; - $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD ALIAS DE RAMAL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD ALIAS DE RAMAL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13181,34 +14356,41 @@ if ($ADD==22111111111) if ($ADD==23111111111) { - echo ""; - $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ALIAS DE GRUPO NÃO INCLUÍDO - já existe um Alias de Ramal no sistema com esse ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPANHA|NONE/",$group_alias_id)) - {echo "
    ALIAS DE GRUPO NÃO INCLUÍDO - não pode ser usado palavras reservadas neste alias de grupo\n";} + echo ""; + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ALIAS DE GRUPO NÃO INCLUÍDO - já existe um Alias de Ramal no sistema com esse ID\n";} else { - if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) - {echo "
    ALIAS DE GRUPO NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n";} + if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPANHA|NONE/",$group_alias_id)) + {echo "
    ALIAS DE GRUPO NÃO INCLUÍDO - não pode ser usado palavras reservadas neste alias de grupo\n";} else { - echo "
    ALIAS DE GRUPO INCLUÍDO\n"; + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    ALIAS DE GRUPO NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    ALIAS DE GRUPO INCLUÍDO\n"; - $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13222,33 +14404,40 @@ if ($ADD==23111111111) if ($ADD==211111111111) { - echo ""; - $stmt="SELECT count(*) from servers where server_id='$server_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SERVIDOR NÃO ADICIONADO - já existe um servidor no sistema com essa ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) - {echo "
    SERVIDOR NÃO ADICIONADO - por favor volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SERVIDOR NÃO ADICIONADO - já existe um servidor no sistema com essa ID\n";} else { - echo "
    SERVIDOR ADICIONADO\n"; + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    SERVIDOR NÃO ADICIONADO - por favor volte e verifique os dados digitados\n";} + else + { + echo "
    SERVIDOR ADICIONADO\n"; - $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111111; @@ -13261,51 +14450,58 @@ if ($ADD==211111111111) if ($ADD==221111111111) { - echo ""; - $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $MAXvicidial_trunks = $rowx[0]; - - $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); - - if ($SUMvicidial_trunks > $MAXvicidial_trunks) + if ($add_copy_disabled > 0) { - echo "
    REGISTRO DE TRUNK VICIDIAL NÃO ADICIONADO - o número de trunk vicidial é muito alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    REGISTRO DE TRUNK VICIDIAL NÃO ADICIONADO - já existe um registro de trunk para esta campanha\n";} + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    REGISTRO DE TRUNK VICIDIAL NÃO ADICIONADO - o número de trunk vicidial é muito alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) - { - echo "
    REGISTRO DE TRUNK VICIDIAL NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; - echo "
    campanha deve ter entre 3 e 8 caracteres de comprimento\n"; - echo "
    delay do IP do servidor deve ser pelo menos 7 caracteres\n"; - echo "
    trunks devem ter um digito entre 0 e 9999\n"; - } + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    REGISTRO DE TRUNK VICIDIAL NÃO ADICIONADO - já existe um registro de trunk para esta campanha\n";} else { - echo "
    REGISTRO DE TRUNK VICIDIAL INCLUÍDO: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    REGISTRO DE TRUNK VICIDIAL NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n"; + echo "
    campanha deve ter entre 3 e 8 caracteres de comprimento\n"; + echo "
    delay do IP do servidor deve ser pelo menos 7 caracteres\n"; + echo "
    trunks devem ter um digito entre 0 e 9999\n"; + } + else + { + echo "
    REGISTRO DE TRUNK VICIDIAL INCLUÍDO: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; - $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVIDOR TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVIDOR TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13319,30 +14515,37 @@ if ($ADD==221111111111) if ($ADD==231111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TEMPLATE DE CONF NÃO INCLUÍDA - já existe um template no sistema com esse ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if (strlen($template_id) < 2) - {echo "
    TEMPLATE DE CONF NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TEMPLATE DE CONF NÃO INCLUÍDA - já existe um template no sistema com esse ID\n";} else { - echo "
    TEMPLATE DE CONF INCLUÍDO\n"; + if (strlen($template_id) < 2) + {echo "
    TEMPLATE DE CONF NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    TEMPLATE DE CONF INCLUÍDO\n"; - $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111; @@ -13355,33 +14558,40 @@ if ($ADD==231111111111) if ($ADD==241111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    OPERADORA NÃO INCLUÍDA - já existe uma operadora no sistema com este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    OPERADORA NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    OPERADORA NÃO INCLUÍDA - já existe uma operadora no sistema com este ID\n";} else { - echo "
    CARRIER ADDED\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    OPERADORA NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    CARRIER ADDED\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13394,33 +14604,40 @@ if ($ADD==241111111111) if ($ADD==240111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    OPERADORA NÃO INCLUÍDA - já existe uma operadora no sistema com este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    OPERADORA NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    OPERADORA NÃO INCLUÍDA - já existe uma operadora no sistema com este ID\n";} else { - echo "
    CARRIER COPIADO ADICIONADO\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    OPERADORA NÃO INCLUÍDA - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    CARRIER COPIADO ADICIONADO\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13433,30 +14650,37 @@ if ($ADD==240111111111) if ($ADD==251111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TTS entrada no AGREGADOS - ya hay una entrada de TTS en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) - {echo "
    TTS entrada no AGREGADOS - Por favor, volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TTS entrada no AGREGADOS - ya hay una entrada de TTS en el sistema con este ID\n";} else { - echo "
    TTS añadido la entrada de\n"; + if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) + {echo "
    TTS entrada no AGREGADOS - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    TTS añadido la entrada de\n"; - $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=351111111111; @@ -13469,30 +14693,37 @@ if ($ADD==251111111111) if ($ADD==261111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - ya hay una entrada en el Ministerio de Salud en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) - {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - Por favor, volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - ya hay una entrada en el Ministerio de Salud en el sistema con este ID\n";} else { - echo "
    MÚSICA EN ESPERA añadido la entrada de\n"; + if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) + {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    MÚSICA EN ESPERA añadido la entrada de\n"; - $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=361111111111; @@ -13505,45 +14736,52 @@ if ($ADD==261111111111) if ($ADD==271111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Contestador NO AGREGADOS - ya existe un buzón de voz en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    Contestador NO AGREGADOS - ya hay un teléfono en el sistema de correo de voz con este ID\n";} + {echo "
    Contestador NO AGREGADOS - ya existe un buzón de voz en el sistema con este ID\n";} else { - if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) - {echo "
    Contestador NO AGREGADOS - Por favor, volte e verifique os dados digitados\n";} + $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Contestador NO AGREGADOS - ya hay un teléfono en el sistema de correo de voz con este ID\n";} else { - echo "
    Contestador AGREGADOS\n"; + if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) + {echo "
    Contestador NO AGREGADOS - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    Contestador AGREGADOS\n"; - $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT active_voicemail_server from system_settings;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $active_voicemail_server = $row[0]; + $stmt="SELECT active_voicemail_server from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13557,30 +14795,37 @@ if ($ADD==271111111111) if ($ADD==281111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LABEL TELA NÃO ADICIONADO - já existe uma etiqueta no sistema com este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) - {echo "
    LABEL TELA NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LABEL TELA NÃO ADICIONADO - já existe uma etiqueta no sistema com este ID\n";} else { - echo "
    LABEL TELA ADICIONADO\n"; + if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) + {echo "
    LABEL TELA NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    LABEL TELA ADICIONADO\n"; - $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=381111111111; @@ -13593,38 +14838,45 @@ if ($ADD==281111111111) if ($ADD==291111111111) { - if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + if ($add_copy_disabled > 0) { - $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); - mysql_select_db("$SSalt_log_dbname", $linkALT); + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } - else - {$linkALT = $link;} - echo ""; - $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; - $rslt=mysql_query($stmt, $linkALT); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONTATO NÃO ADICIONADO - já existe um contato no sistema com este nome e número\n";} else { - if (strlen($last_name) < 2) - {echo "
    CONTATO NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n";} + if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + { + $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); + mysql_select_db("$SSalt_log_dbname", $linkALT); + } + else + {$linkALT = $link;} + echo ""; + $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; + $rslt=mysql_query($stmt, $linkALT); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONTATO NÃO ADICIONADO - já existe um contato no sistema com este nome e número\n";} else { - echo "
    Contato adicionado\n"; + if (strlen($last_name) < 2) + {echo "
    CONTATO NÃO ADICIONADO - Por favor, volte e verifique os dados digitados\n";} + else + { + echo "
    Contato adicionado\n"; - $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; - $rslt=mysql_query($stmt, $linkALT); - $contact_id = mysql_insert_id($linkALT); + $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; + $rslt=mysql_query($stmt, $linkALT); + $contact_id = mysql_insert_id($linkALT); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=391111111111; @@ -13637,22 +14889,29 @@ if ($ADD==291111111111) if ($ADD==2111111111111) { - echo ""; - $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONFERÊNCIA NÃO ADICIONADA - já existe no sistema uma conferência com este ID e servidor\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    CONFERÊNCIA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFERÊNCIA NÃO ADICIONADA - já existe no sistema uma conferência com este ID e servidor\n";} else { - echo "
    CONFERÊNCIA ADICIONADA\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    CONFERÊNCIA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n";} + else + { + echo "
    CONFERÊNCIA ADICIONADA\n"; - $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111111; @@ -13665,22 +14924,29 @@ if ($ADD==2111111111111) if ($ADD==21111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    VICIDIAL CONFERÊNCIA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} else { - echo "
    VICIDIAL CONFERÊNCIA ADICIONADA\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL CONFERÊNCIA NÃO ADICIONADA - Por favor volte e verifique os dados digitados\n";} + else + { + echo "
    VICIDIAL CONFERÊNCIA ADICIONADA\n"; - $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=31111111111111; @@ -13693,41 +14959,48 @@ if ($ADD==21111111111111) if ($ADD==221111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUS DE SISTEMA NÃO INCLUÍDO - there is already a campaign-status in the system with this name: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    STATUS DE SISTEMA NÃO INCLUÍDO - there is already a global-status in the system with this name\n";} + {echo "
    STATUS DE SISTEMA NÃO INCLUÍDO - there is already a campaign-status in the system with this name: $row[0]\n";} else { - if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    STATUS DE SISTEMA NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; - echo "
    status deve ter entre 1 e 8 caracteres de comprimento\n"; - echo "
    nome do status deve ter entre 2 e 30 caracteres de comprimento\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUS DE SISTEMA NÃO INCLUÍDO - there is already a global-status in the system with this name\n";} else { - echo "
    STATUS DE SISTEMA INCLUÍDO: $status_name - $status_id\n"; + if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    STATUS DE SISTEMA NÃO INCLUÍDO - Por favor, volte e verifique os dados digitados\n"; + echo "
    status deve ter entre 1 e 8 caracteres de comprimento\n"; + echo "
    nome do status deve ter entre 2 e 30 caracteres de comprimento\n"; + } + else + { + echo "
    STATUS DE SISTEMA INCLUÍDO: $status_name - $status_id\n"; - $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUS', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUS', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13741,43 +15014,50 @@ if ($ADD==221111111111111) if ($ADD==231111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CATEGORIA NÃO INCLUIDA - já existe uma categoria de status com esse ID no sistema: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } else { - if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) - { - echo "
    CATEGORIA NÃO INCLUIDA - Por favor, volte e verifique os dados digitados\n"; - echo "
    ID deve ter entre 2 e 20 caracteres \n"; - echo "
    o nome deve ter entre 2 e 50 caracteres\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CATEGORIA NÃO INCLUIDA - já existe uma categoria de status com esse ID no sistema: $row[0]\n";} else { - echo "
    STATUS CATEGORIA ADDED: $vsc_id - $vsc_name\n"; - - $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) { - $tovdad_display = 'N'; - echo "
    ERRO: Já existem 4 Categorias de Status no Relatório TimeOnVDAD\n"; + echo "
    CATEGORIA NÃO INCLUIDA - Por favor, volte e verifique os dados digitados\n"; + echo "
    ID deve ter entre 2 e 20 caracteres \n"; + echo "
    o nome deve ter entre 2 e 50 caracteres\n"; } + else + { + echo "
    STATUS CATEGORIA ADDED: $vsc_id - $vsc_name\n"; - $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; - $rslt=mysql_query($stmt, $link); + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    ERRO: Já existem 4 Categorias de Status no Relatório TimeOnVDAD\n"; + } - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATEGORIA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATEGORIA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111111; @@ -13788,41 +15068,7 @@ if ($ADD==231111111111111) ###################### # ADD=241111111111111 adds the new qc status code to the system ###################### - -if ($ADD==241111111111111) - { - echo ""; - $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CÓDIGO DE STATUS CQ NÃO INCLUÍDO- já existe um código de status cq no sistema com esse nome: $row[0]\n";} - else - { - if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) - { - echo "
    CÓDIGO DE STATUS CQ NÃO INCLUÍDO- Por favor, volte e verifique os dados digitados\n"; - echo "
    código deve ter entre 1 e 8 caracteres de comprimento\n"; - echo "
    nome do código deve ter entre 2 e 30 caracteres de comprimento\n"; - } - else - { - echo "
    CÓDIGO DE STATUS CQ ADICIONADO:$code_name - $code\n"; - - $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUS', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $ADD=341111111111111; - } +//Moved to qc/QC_status_codes_include.php include file @@ -13859,7 +15105,7 @@ if ($ADD=="4A") } echo "
    USUÁRIO ALTERADO - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data' where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts' where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -14599,9 +15845,11 @@ if ($ADD==41) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $survey_camp_record_dir = '/home/survey'; $survey_dtmf_digits = '1238'; + $survey_wait_sec = '10'; $survey_first_audio_file = 'US_pol_survey_hello'; $survey_method = 'AGENT_XFER'; $survey_ni_audio_file = ''; @@ -14618,6 +15866,8 @@ if ($ADD==41) $call_count_target = '0'; $lead_order_randomize = 'N'; $lead_order_secondary = 'LEAD_ASCEND'; + $amd_inbound_group = ''; + $amd_callmenu = ''; } if ( (ereg('list_activation',$stage)) or (ereg('test_call',$stage)) ) { @@ -14684,13 +15934,17 @@ if ($ADD==41) else {$CIDstring = "$VqueryCID";} ### insert a NEW record to the vicidial_manager table to be processed - $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$SSactive_voicemail_server','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; + $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$old_server_ip','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; $rslt=mysql_query($stmtB, $link); ### insert a SENT record to the vicidial_auto_calls table - $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$SSactive_voicemail_server','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; + $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$old_server_ip','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; $rslt=mysql_query($stmtC, $link); + ### insert a record in the vicidial_dial_log table + $stmtD = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$old_server_ip',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $rslt=mysql_query($stmtD, $link); + ### LOG INSERTION Admin Log Table, for campaign ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -14831,7 +16085,7 @@ if ($ADD==41) if (strlen($groups_value)>2) {$groups_value .= " -";} } - $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refrescar='$campaign_stats_refrescar',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check' where campaign_id='$campaign_id';"; + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refrescar='$campaign_stats_refrescar',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check',in_group_dial='$in_group_dial',in_group_dial_select='$in_group_dial_select',safe_harbor_audio_field='$safe_harbor_audio_field',pause_after_next_call='$pause_after_next_call',owner_populate='$owner_populate',use_other_campaign_dnc='$use_other_campaign_dnc',allow_emails='$allow_emails',amd_inbound_group='$amd_inbound_group',amd_callmenu='$amd_callmenu' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmtA, $link); if ($reset_hopper == 'Y') @@ -15018,6 +16272,7 @@ if ($ADD==44) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $voicemail_ext = ''; } @@ -15281,7 +16536,7 @@ if ($ADD=='40A') { echo "
    CONFIGURAÇÃO DE PESQUISA ALTERADA: $campaign_id\n"; - $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording' where campaign_id='$campaign_id';"; + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording',survey_wait_sec='$survey_wait_sec' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15465,37 +16720,44 @@ if ($ADD==49) ##### ADD a NEW list mix ##### if ($stage=='NEWMIX') { - echo ""; - - if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + if ($add_copy_disabled > 0) { - echo "
    MESCLAGEM NÃO INCLUÍDA- Por favor, volte e verifique os dados digitados\n"; - echo "
    vcl_id must be between 1 and 20 characters in length\n"; - echo "
    vcl_name must be at least 2 characters in length\n"; + echo "
    Você não tem permissão para adicionar registros no sistema -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) { - echo "
    MESCLAGEM NÃO INCLUÍDA- Já existe uma mesclagem de lista com esse ID no sistema\n"; + echo "
    MESCLAGEM NÃO INCLUÍDA- Por favor, volte e verifique os dados digitados\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name must be at least 2 characters in length\n"; } else { - $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    MESCLAGEM NÃO INCLUÍDA- Já existe uma mesclagem de lista com esse ID no sistema\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA LIST MIX', event_sql=\"$SQL_log\", event_notes='Mesclagem de Lista: $vcl_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPANHA_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NOVA CAMPANHA LIST MIX', event_sql=\"$SQL_log\", event_notes='Mesclagem de Lista: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - echo "
    MESCLAGEM INCLUÍDA:$campaign_id - $vcl_id - $vcl_name\n"; + echo "
    MESCLAGEM INCLUÍDA:$campaign_id - $vcl_id - $vcl_name\n"; + } } } } @@ -15589,7 +16851,6 @@ if ($ADD==401) $stmt="UPDATE vicidial_xfer_presets SET preset_dtmf='$preset_dtmf',preset_number='$preset_number',preset_hide_number='$preset_hide_number' where campaign_id='$campaign_id' and preset_name='$preset_name';"; $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15656,12 +16917,19 @@ if ($ADD==411) else { if (strlen($reset_time) < 4) {$reset_time='';} + if (strlen($expiration_date) < 10) {$expiration_date='2099-12-31';} echo "
    LISTA ALTERADA: $list_id\n"; - $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report' where list_id='$list_id';"; + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date' where list_id='$list_id';"; $rslt=mysql_query($stmt, $link); +## BEGIN QC Addition for Audited Comments + $stmt="INSERT INTO vicidial_lists_custom (audit_comments, list_id) VALUES ('" . mysql_real_escape_string($audit_comments) . "','$list_id') ON DUPLICATE KEY UPDATE audit_comments='" . mysql_real_escape_string($audit_comments) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} +## END QC Addition for Audited Comments + ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15706,7 +16974,7 @@ if ($ADD==411) # ADD=4111 modify in-group info in the system ###################### -if ($ADD==4111) +if ($ADD==4111 || $ADD==4811) { if ($SUB=='agents_select') { @@ -15868,7 +17136,7 @@ if ($ADD==4111) echo "
    GRUPO ALTERADO: $group_id\n"; - $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action' where group_id='$group_id';"; + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid' where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15887,7 +17155,7 @@ if ($ADD==4111) exit; } } - $ADD=3111; # go to in-group modification form below + $ADD-=1000; #$ADD=3111; # go to in-group modification form below } @@ -15950,7 +17218,7 @@ if ($ADD==4511) { echo "
    MENU ALTERADO: $menu_id\n"; - $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group' where menu_id='$menu_id';"; + $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group',qualify_sql='$qualify_sql' where menu_id='$menu_id';"; $rslt=mysql_query($stmt, $link); $h=0; @@ -16290,6 +17558,39 @@ if ($ADD==411111) } $allowed_reports = preg_replace("/,$/","",$new_field_value); + # update allowed_camapigns with values that the editor cant see http://www.vicidial.org/VICIDIALforum/viewtopic.php?f=5&t=26101 + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $changer_allowed_campaigns = preg_replace("/ -/",'',$LOGallowed_campaigns); + $changer_allowed_campaigns = explode(" ", $changer_allowed_campaigns); + + $stmt="SELECT allowed_campaigns FROM vicidial_user_groups WHERE user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $old_allowed_rows = mysql_num_rows($rslt); + if ($old_allowed_rows > 0) + { + $row=mysql_fetch_row($rslt); + $old_allowed = $row[0]; + } + if ( (!eregi("-ALL",$old_allowed)) ) + { + $invis_campaigns=""; + $campaigns_value = preg_replace("/ -/",'',$campaigns_value); + $old_allowed = preg_replace("/ -/",'',$old_allowed); + $old_allowed = explode(" ", $old_allowed); + + foreach ($old_allowed as $oac) + { + if (!in_array($oac, $changer_allowed_campaigns)) + { + $invis_campaigns .= "$oac "; + } + } + $campaigns_value .= " $invis_campaigns-"; + } + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement',agent_status_viewable_groups='$VGROUP_vgroups',agent_status_view_time='$agent_status_view_time',agent_call_log_view='$agent_call_log_view',agent_xfer_consultative='$agent_xfer_consultative',agent_xfer_dial_override='$agent_xfer_dial_override',agent_xfer_vm_transfer='$agent_xfer_vm_transfer',agent_xfer_blind_transfer='$agent_xfer_blind_transfer',agent_xfer_dial_with_customer='$agent_xfer_dial_with_customer',agent_xfer_park_customer_dial='$agent_xfer_park_customer_dial',agent_fullscreen='$agent_fullscreen',allowed_reports='$allowed_reports',webphone_url_override='" . mysql_real_escape_string($webphone_url_override) . "',webphone_systemkey_override='$webphone_systemkey_override',webphone_dialpad_override='$webphone_dialpad_override',admin_viewable_groups='$Vadmin_viewable_groups',admin_viewable_call_times='$Vadmin_viewable_call_times' where user_group='$OLDuser_group';"; $rslt=mysql_query($stmt, $link); @@ -16577,7 +17878,7 @@ if ($ADD==4111111111) $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } @@ -16591,6 +17892,48 @@ if ($ADD==4111111111) } +###################### +# ADD=4211111111 modify holiday in the system +###################### + +if ($ADD==4211111111) + { + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    HOLIDAY Não modificado - Por favor, volte e verifique os dados digitados\n"; + echo "
    Férias ID, nome e data devem ser preenchidos\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $stmt="UPDATE vicidial_call_time_holidays set holiday_name='$holiday_name', holiday_comments='$holiday_comments', holiday_date='$holiday_date', holiday_status='$holiday_status', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop',user_group='$user_group', default_afterhours_filename_override='$default_afterhours_filename_override' where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    HOLIDAY MODIFICADO\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='MODIFY', record_id='$holiday_id', event_code='ADMIN MODIFY HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + $ADD=3211111111; # go to holiday modification form below + } + + ###################### # ADD=431111111 modify shift in the system ###################### @@ -16665,7 +18008,7 @@ if ($ADD==41111111111) { echo "
    RAMAL ALTERADO: $extension\n"; - $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refrescar='$enable_fast_refrescar', fast_refrescar_rate='$fast_refrescar_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where extension='$old_extension' and server_ip='$old_server_ip';"; + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refrescar='$enable_fast_refrescar', fast_refrescar_rate='$fast_refrescar_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where extension='$old_extension' and server_ip='$old_server_ip';"; $rslt=mysql_query($stmt, $link); $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; @@ -17116,15 +18459,18 @@ if ($ADD==471111111111) {echo "
    Contestador SIN MODIFICAR - Por favor, volte e verifique os dados digitados\n";} else { - $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where voicemail_id='$voicemail_id';"; + $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|";} $stmt="SELECT active_voicemail_server from system_settings;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $sounds_updateSQL=''; + if ($SSallow_voicemail_greeting > 0) {$sounds_updateSQL = ",sounds_update='Y'";} + $stmtA="UPDATE servers SET rebuild_conf_files='Y'$sounds_updateSQL where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; $rslt=mysql_query($stmtA, $link); echo "
    Contestador MODIFICADOS: $voicemail_id\n"; @@ -17335,7 +18681,7 @@ if ($ADD==411111111111111) } $tables_use_alt_log_db = preg_replace("/,$/","",$new_altlog_value); - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refrescar='$admin_modify_refrescar',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled';"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refrescar='$admin_modify_refrescar',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add';"; $rslt=mysql_query($stmt, $link); if ($reload_dialplan_on_servers > 0) @@ -17935,6 +19281,30 @@ if ($ADD==5111111111) $ADD='3111111111'; # go to state call time modification below } + +###################### +# ADD=5211111111 confirmation before deletion of holiday record +###################### + +if ($ADD==5211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY não excluída - Por favor, volte e verifique os dados digitados\n"; + echo "
    Férias ID deve ser de pelo menos 2 caracteres\n"; + } + else + { + echo "
    HOLIDAY DELETION CONFIRMAÇÃO: $holiday_id\n"; + echo "

    Clique aqui para apagar feriado $holiday_id


    \n"; + } + + $ADD='3211111111'; # go to holiday modification below + } + + ###################### # ADD=531111111 confirmation before deletion of shift record ###################### @@ -19414,6 +20784,64 @@ if ($ADD==6111111111) } +###################### +# ADD=6211111111 delete holiday record +###################### + +if ($ADD==6211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY não excluída - Por favor, volte e verifique os dados digitados\n"; + echo "
    Férias ID deve ser de pelo menos 2 caracteres\n"; + } + else + { + $stmtA="DELETE from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="SELECT call_time_id,ct_holidays from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_ids[$o] = "$rowx[0]"; + $hct_holidays[$o] = "$rowx[1]"; + $o++; + } + $o=0; + while ($hct_to_print > $o) + { + $hct_holidays[$o] = eregi_replace("\|$holiday_id\|",'|',$hct_holidays[$o]); + $stmt="UPDATE vicidial_call_times set ct_holidays='$hct_holidays[$o]' where call_time_id='$hct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} + echo "Regra férias Removido: $hct_ids[$o]
    \n"; + $o++; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='DELETE', record_id='$holiday_id', event_code='ADMIN DELETE HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    EXCLUSÃO DE FÉRIAS CONCLUÍDO: $holiday_id\n"; + echo "

    \n"; + } + + $ADD='1200000000'; # go to holidays list + } + + ###################### # ADD=631111111 delete shift record ###################### @@ -19989,7 +21417,7 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -20182,6 +21612,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -20194,7 +21631,7 @@ if ($ADD==3) echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -20292,6 +21729,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -20389,7 +21833,7 @@ if ($ADD==31) $enable_vtiger_integration_LU = $row[0]; $vtiger_url_LU = $row[1]; - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $campaign_name = $row[1]; @@ -20596,6 +22040,16 @@ if ($ADD==31) $callback_list_calltime = $row[202]; $user_group = $row[203]; $hopper_vlc_dup_check = $row[204]; + $in_group_dial = $row[205]; + $in_group_dial_select = $row[206]; + $safe_harbor_audio_field = $row[207]; + $pause_after_next_call = $row[208]; + $owner_populate = $row[209]; + $use_other_campaign_dnc = $row[210]; + $allow_emails = $row[211]; + $amd_inbound_group = $row[212]; + $amd_callmenu = $row[213]; + $survey_wait_sec = $row[214]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -20749,6 +22203,7 @@ if ($ADD==31) $nxLOGadmin_viewable_groupsSQL = $LOGadmin_viewable_groupsSQL; if (strlen($xfer_groupsSQL) < 6) {$nxLOGadmin_viewable_groupsSQL = $whereLOGadmin_viewable_groupsSQL;} + ##### get in-groups listings for dynamic transfer group pulldown list menu $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL $nxLOGadmin_viewable_groupsSQL order by group_id;"; $rslt=mysql_query($stmt, $link); @@ -20773,6 +22228,54 @@ if ($ADD==31) else {$Xgroups_menu .= "\n";} + ##### get in-groups listings for dynamic AMD inbound group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $AMDgroups_to_print = mysql_num_rows($rslt); + $AMDgroups_menu=''; + $AMDgroups_selected=0; + $o=0; + while ($AMDgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDgroups_menu .= "\n"; + $o++; + } + if ($AMDgroups_selected < 1) + {$AMDgroups_menu .= "\n";} + else + {$AMDgroups_menu .= "\n";} + + ##### get callmenus listings for dynamic AMD callmenu pulldown list menu + $stmt="SELECT menu_id from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $AMDmenus_to_print = mysql_num_rows($rslt); + $AMDmenus_menu=''; + $AMDmenus_selected=0; + $o=0; + while ($AMDmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDmenus_menu .= "\n"; + $o++; + } + if ($AMDmenus_selected < 1) + {$AMDmenus_menu .= "\n";} + else + {$AMDmenus_menu .= "\n";} + ##### get agent screen label listings for dynamic pulldown list menu $stmt="SELECT label_id,label_name from vicidial_screen_labels where active='Y' $LOGadmin_viewable_groupsSQL order by label_id;"; $rslt=mysql_query($stmt, $link); @@ -20830,7 +22333,7 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -20873,10 +22376,10 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -20885,7 +22388,7 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-user_group$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSenable_second_webform > 0) { @@ -20893,7 +22396,14 @@ if ($ADD==31) } echo "\n"; echo "\n"; - + if ($SSallow_emails > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -21297,9 +22807,26 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-local_call_time$NWE\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) { - echo "\n"; + echo "\n"; } echo "\n"; @@ -21327,11 +22854,11 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21353,7 +22880,7 @@ if ($ADD==31) {$cfwHTML = '';} echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; } echo "\n"; @@ -21431,11 +22968,13 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -21480,7 +23021,9 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; if ($SSuser_territories_active > 0) { @@ -21492,7 +23035,7 @@ if ($ADD==31) else {$ASLlink = "$PHP_SELF?ADD=381111111111&label_id=$screen_labels";} echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21506,9 +23049,11 @@ if ($ADD==31) echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21522,6 +23067,10 @@ if ($ADD==31) echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -21631,7 +23180,7 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; if ($campaign_allow_inbound == 'Y') { @@ -21692,7 +23241,9 @@ if ($ADD==31) if (eregi("CAMPANHADOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPANHAlink='stage=CAMPANHAUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -21702,7 +23253,7 @@ if ($ADD==31) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -21734,21 +23285,27 @@ if ($ADD==31) echo ""; + echo ""; echo "\n"; $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $user_id = $row[0]; @@ -20088,6 +21516,8 @@ if ($ADD==3) $modify_same_user_level = $row[95]; $admin_hide_lead_data = $row[96]; $admin_hide_phone_data = $row[97]; + $agentcall_email = $row[98]; + $modify_email_accounts = $row[99]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -20148,7 +21578,7 @@ if ($ADD==3) echo "
    Login do Ramal: $NWB#vicidial_users-phone_login$NWE
    Senha do Ramal: $NWB#vicidial_users-phone_pass$NWE
    Ativo: $NWB#vicidial_users-active$NWE
    ID de correo de voz: voicemail chooser$NWB#vicidial_users-voicemail_id$NWE
    ID de correo de voz: seletor de correio de voz$NWB#vicidial_users-voicemail_id$NWE
    Email:$NWB#vicidial_users-optional$NWE
    Usuário Code: $NWB#vicidial_users-optional$NWE
    Main Territorio: $NWB#vicidial_users-optional$NWE
    Agendamento de Chamadas: $NWB#vicidial_users-scheduled_callbacks$NWE
    Agendamento de Chamadas com Fidelização: $NWB#vicidial_users-agentonly_callbacks$NWE
    Agente Manual: $NWB#vicidial_users-agentcall_manual$NWE
    Agent Call Email:$NWB#vicidial_users-agentcall_email$NWE
    Gravação do Vicidial: $NWB#vicidial_users-vicidial_recording$NWE
    Transferências do Vicidial: $NWB#vicidial_users-vicidial_transfers$NWE
    Sobrepor Controle de Turno do Agente: $NWB#vicidial_users-agent_shift_enforcement_override$NWE
    Call Agent View Log Override: $NWB#vicidial_users-agent_call_log_view_override$NWE
    Agente Override Pesquisa chumbo: $NWB#vicidial_users-agent_lead_search_override$NWE
    Agente Override Pesquisa chumbo: $NWB#vicidial_users-agent_lead_search_override$NWE
    Alerta Ativo: $alert_enabled $NWB#vicidial_users-alert_enabled$NWE
    Alterar Turnos: $NWB#vicidial_users-modify_sections$NWE
    AlterarCelular: $NWB#vicidial_users-modify_sections$NWE
    AlterarOperadoras: $NWB#vicidial_users-modify_sections$NWE
    Modificar Contas de Email:$NWB#vicidial_users-modify_email_accounts$NWE
    AlterarLabels: $NWB#vicidial_users-modify_sections$NWE
    AlterarStatus: $NWB#vicidial_users-modify_sections$NWE
    AlterarCorreio de Voz: $NWB#vicidial_users-modify_sections$NWE
    Lead RecyclingLevar ReciclagemDiscar Num. Alt.Mesclagem de ListaPesquisa
    Descrição da Campanha: $NWB#vicidial_campaigns-campaign_description$NWE
    Campanha Data da Alter.: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Campanha Data do Login: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Campanha Call Date: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    Campanha Chamada Data: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    \n"; - horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1); + horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1,'',''); echo "
    Ativo: $NWB#vicidial_campaigns-active$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Formulário Web: $NWB#vicidial_campaigns-web_form_address$NWE
    Target do Form. Web: $NWB#vicidial_campaigns-web_form_target$NWE
    Permitir Finalizadores (Closers): $NWB#vicidial_campaigns-allow_closers$NWE
    Permitir e-mails: $NWB#vicidial_campaigns-allow_emails$NWE
    Permitir Entrantes e Blended:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    \n"; + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$local_call_time';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_state_call_times = $rowx[0]; + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + if ($ct_srs < 0) {$ct_hrs=0;} + echo "Regras definidas pelo Estado para este tempo de chamada: $ct_srs\n"; + } + else + {echo "Call time not found!: $local_call_time\n";} + echo "
    Tempo de Espera da Discagem: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
    Tempo de Espera da Discagem: em segundo$NWB#vicidial_campaigns-dial_timeout$NWE
    Prefixo de Discagem: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
    Nome do Arquivo de Gravação da Campanha: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
    Atraso de Gravação: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
    Atraso de Gravação: em segundo$NWB#vicidial_campaigns-allcalls_delay$NWE
    Chame Notes por chamada: $NWB#vicidial_campaigns-per_call_notes$NWE
    Pesquisa de chumbo agente: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Pesquisa de chumbo agente: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Agente Método de Pesquisa de chumbo: $NWB#vicidial_campaigns-agent_lead_search_method$NWE
    Pegar lançamento da chamada: $NWB#vicidial_campaigns-get_call_launch$NWE
    Mensagem na Secretária Eletrônica: audio chooser $NWB#vicidial_campaigns-am_message_exten$NWE\n"; + echo "
    Mensagem na Secretária Eletrônica: audio seletor $NWB#vicidial_campaigns-am_message_exten$NWE\n"; $stmt="SELECT count(*) from vicidial_lists where campaign_id='$campaign_id' and am_message_exten_override != '' and active='Y' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $rowx=mysql_fetch_row($rslt); @@ -21365,9 +22892,19 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo "
    Extensão para enviar AMD: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    AMD enviar à Ação: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    Ação CPD AMD: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    Ação CPD AMD: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    AMD Entrada Grupo: $NWB#vicidial_campaigns-amd_inbound_group$NWE\n"; + echo "
    Menu de Chamada AMD: $NWB#vicidial_campaigns-amd_callmenu$NWE\n"; + echo "
    Transfer-Conf DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Extensão do Porto Seguro: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
    Áudio Safe Harbor: audio chooser $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Áudio Safe Harbor: audio seletor $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbor Áudio Campo: $NWB#vicidial_campaigns-safe_harbor_audio_field$NWE
    Menu de chamada Safe Harbor: $NWB#vicidial_campaigns-safe_harbor_menu_id$NWE
    Correio de Voz: voicemail chooser$NWB#vicidial_campaigns-voicemail_ext$NWE
    Correio de Voz: seletor de correio de voz$NWB#vicidial_campaigns-voicemail_ext$NWE
    Grupo de Transferência de Drop:
    Usar Lista de Bloqueio: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
    Outros DNC Campanha: $NWB#vicidial_campaigns-use_other_campaign_dnc$NWE
    AgentCódigos de PausaAtivo: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
    Auto Pausa trabalho de pré-Call: $NWB#vicidial_campaigns-auto_pause_precall$NWE
    N marcado Hopper: $NWB#vicidial_campaigns-no_hopper_dialing$NWE
    Único propietario de marcado: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Único propietario de marcado: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Proprietário Preencher: $NWB#vicidial_campaigns-owner_populate$NWE
    Tela Etiquetas Agente: $NWB#vicidial_campaigns-screen_labels$NWE
    Mostrar campos de status: $NWB#vicidial_campaigns-status_display_fields$NWE
    Mostrar campos de status: $NWB#vicidial_campaigns-status_display_fields$NWE
    Mostrar Clientes em Espera ao Agente:$NWB#vicidial_campaigns-display_queue_count$NWE
    Agente de pausa después de cada llamada: $NWB#vicidial_campaigns-pause_after_each_call$NWE
    Pausa agente After Next chamada de vínculo: $NWB#vicidial_campaigns-pause_after_next_call$NWE
    Manual de Dial Override: $NWB#vicidial_campaigns-manual_dial_override$NWE
    ID da Lista Manual :$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    ID da Lista Manual :$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Filtro de Discagem Manual:$NWB#vicidial_campaigns-manual_dial_filter$NWE
    Telefone Mensagem de Alerta Diferença de tempo: $NWB#vicidial_campaigns-post_phone_time_diff_alert$NWE
    Manual de In-Grupo Dial: $NWB#vicidial_campaigns-in_group_dial$NWE
    No Grupo Discagem Manual Select: $NWB#vicidial_campaigns-in_group_dial_select$NWE
    Cópia p/ Área de Transf. do Agente: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
    Aviso Monitor de Cegos: $NWB#vicidial_campaigns-blind_monitor_message$NWE
    Nome do Monitor de Cegos: audio chooser $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    Nome do Monitor de Cegos: audio seletor $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    NOME DA LISTADESCRIÇÃOTOTAL DE REG.ATIVOATIVOÚLTIMA CHAMADAALTERAR
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]ALTERAR

    \n"; $filterSQL = $filtersql_list[$lead_filter_id]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -21807,7 +23364,7 @@ if ($ADD==31) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -21965,6 +23522,18 @@ if ($ADD==31) { if ( ($SStest_campaign_calls > 0) and ($campaign_active == 'Y') ) { + ##### get list of active asterisk server for dynamic pulldown list menu + $stmt="SELECT server_id,server_ip from servers where active='Y' and active_asterisk_server='Y' $LOGadmin_viewable_groupsSQL order by server_id;"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_menu="\n"; + $os=0; + while ($servers_to_print > $os) + { + $rowx=mysql_fetch_row($rslt); + $servers_menu .= "\n"; + $os++; + } echo "
    \n"; echo "\n"; echo "\n"; @@ -21977,8 +23546,9 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "Teste de chamadas de saída: "; - echo "code:   "; - echo "number:   "; + echo "code:   "; + echo "número:   "; + echo "servidor:   "; echo "   $NWB#settings-test_campaign_calls$NWE


    \n"; } else @@ -22170,8 +23740,10 @@ if ($ADD==31) echo "   \n"; echo "Status:   \n"; echo "
    \n"; echo "
    \n"; @@ -22447,29 +24019,30 @@ if ($ADD==31) echo "
    \n"; echo "\n"; - echo "
    Primeiro Arquivo de Audio: audio chooser $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Primeiro Arquivo de Audio: audio seletor $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Dígitos DTMF: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
    Dígito p/ Não Interessado: $NWB#vicidial_campaigns-survey_ni_digit$NWE
    Arquivo de Audio para Interessado: audio chooser $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Arquivo de Audio para não Interessado: audio chooser $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Inquérito Espere Segundos: $NWB#vicidial_campaigns-survey_wait_sec$NWE
    Arquivo de Audio para Interessado: audio seletor $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Arquivo de Audio para não Interessado: audio seletor $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Método de Pesquisa: $NWB#vicidial_campaigns-survey_method$NWE
    Ação p/ sem Resposta: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Ação p/ sem Resposta: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Status p/ Não Interessado: $NWB#vicidial_campaigns-survey_ni_status$NWE
    Terceiro Dígito: $NWB#vicidial_campaigns-survey_third_digit$NWE
    Terceiro Arquivo de Audio: audio chooser $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Terceiro Arquivo de Audio: audio seletor $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Terceiro Status: $NWB#vicidial_campaigns-survey_third_status$NWE
    Terceira Extensão: $NWB#vicidial_campaigns-survey_third_exten$NWE
    Quarto Dígito: $NWB#vicidial_campaigns-survey_fourth_digit$NWE
    Quarto Arquivo de Audio: audio chooser $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Quarto Arquivo de Audio: audio seletor $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Quarto Status: $NWB#vicidial_campaigns-survey_fourth_status$NWE
    Quarta Extensão: $NWB#vicidial_campaigns-survey_fourth_exten$NWE
    Mapa de Digitos: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
    Pesquisa Extensão de Transfer.: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
    Diretório de Gravações da Pesquisa: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
    Correio de Voz: voicemail chooser $NWB#vicidial_campaigns-voicemail_ext$NWE
    Correio de Voz: seletor de correio de voz $NWB#vicidial_campaigns-voicemail_ext$NWE
    Menu de chamada pesquisa: $NWB#vicidial_campaigns-survey_menu_id$NWE
    Gravação de pesquisa: $NWB#vicidial_campaigns-survey_recording$NWE
    Formulário Web: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
    Permitir Finalizadores (Closers): $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
    Grupo de Transferência Padrão:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
    Permitir e-mails: $allow_emails $NWB#vicidial_campaigns-allow_emails$NWE
    Permitir Entrantes e Blended:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    NOME DA LISTADESCRIÇÃOTOTAL DE REG.ATIVOATIVOÚLTIMA CHAMADAALTERAR
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]ALTERAR

    \n"; echo "
    \n"; @@ -23189,7 +24776,7 @@ if ($ADD==34) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -24157,8 +25744,9 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + + echo "\n"; + + if($audit_comments=='1') { + echo "\n"; + } else { + echo "\n"; + } echo "\n"; echo "\n"; @@ -24285,7 +25905,7 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report from vicidial_lists where list_id='$list_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} $row=mysql_fetch_row($rslt); $list_name = $row[1]; $campaign_id = $row[2]; @@ -24180,6 +25768,9 @@ if ($ADD==311) $web_form_address_two = $row[18]; $time_zone_setting = $row[19]; $inventory_report = $row[20]; + $audit_comments = $row[21]; + $expiration_date = $row[22]; + $expiration_dateINT = $row[23]; # grab names of global statuses and statuses in the selected campaign $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; @@ -24248,7 +25839,7 @@ if ($ADD==311) {$Dgroups_menu .= "\n";} - echo "
    ALTERAR REGISTRO DA LISTA: $list_id
    \n"; + echo "
    ALTERAR REGISTRO DA LISTA: $list_id\n"; echo "\n"; echo "\n"; echo "\n"; @@ -24272,9 +25863,38 @@ if ($ADD==311) echo "$campaigns_list"; echo "\n"; echo "$NWB#vicidial_lists-campaign_id$NWE
    Ativo: $NWB#vicidial_lists-active$NWE
    Ativo: $NWB#vicidial_lists-active$NWE \n"; + if ( ($expiration_dateINT < $EXPtestdate) and ($active == 'Y') ) + {echo "     LISTA expirados e definido como Ativo";} + echo "
    Reiniciar Status dos registros de chamada para esta Lista: $NWB#vicidial_lists-reset_list$NWE
    Perdí Times: $NWB#vicidial_lists-reset_time$NWE
    Data de Vencimento: \n"; + echo " $NWB#vicidial_lists-expiration_date$NWE \n"; + if ($expiration_dateINT < $EXPtestdate) + { + if ($active == 'Y') + {echo "     LISTA expirados e definido como Ativo";} + else + {echo "     LIST EXPIRED";} + } + echo "
    Auditoria Comentários: $NWB#vicidial_lists-audit_comments$NWE
    Auditoria Comentários: $NWB#vicidial_lists-audit_comments$NWE
    Data da Alteração: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    Data da última chamada da lista: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    Campaña CID Override: $NWB#vicidial_lists-campaign_cid_override$NWE
    Contestador automático de mensajes Override: audio chooser $NWB#vicidial_lists-am_message_exten_override$NWE
    Contestador automático de mensajes Override: audio seletor $NWB#vicidial_lists-am_message_exten_override$NWE
    Drop de entrada Grupo de Override: \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25362,7 +27001,7 @@ if ($ADD==3111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25382,21 +27021,21 @@ if ($ADD==3111) echo "$Wmenuslist"; echo "$NWB#vicidial_inbound_groups-wait_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25416,23 +27055,23 @@ if ($ADD==3111) echo "$Xmenuslist"; echo "$NWB#vicidial_inbound_groups-hold_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25465,6 +27104,8 @@ if ($ADD==3111) echo "$group_alias_menu"; echo "$NWB#vicidial_inbound_groups-default_group_alias$NWE\n"; + echo "\n"; + echo "\n"; @@ -25891,6 +27532,708 @@ if ($ADD==3111) +###################### +# ADD=3811 modify in-group info in the system +###################### + +if ($ADD==3811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3811&group_id=$group_id"; + $modify_footer_refrescar=1; + } + echo "
    \n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -25017,6 +26637,8 @@ if ($ADD==3111) $max_calls_method = $row[109]; $max_calls_count = $row[110]; $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; ##### get callmenu listings for dynamic pulldown $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; @@ -25156,7 +26778,7 @@ if ($ADD==3111) echo "
    In-Grupo Calldate: $group_calldate$NWB#vicidial_inbound_groups-group_calldate$NWE
    \n"; - horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1,'',''); echo "
    Grupo de Usuários do Administrador:
    Exten de Drop: $NWB#vicidial_inbound_groups-drop_exten$NWE
    Correio de Voz: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Correio de Voz: seletor de correio de voz$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Grupo de Transferência de Drop: $NWB#vicidial_inbound_groups-call_time_id$NWE
    \n"; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "Férias defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!: $call_time_id\n";} + echo "
    Transferência de Ação CID: $NWB#vicidial_inbound_groups-action_xfer_cid$NWE
    Ação Fora do Expediente:$NWB#vicidial_inbound_groups-after_hours_action$NWE
    Arquivo Fora do Expediente: audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Arquivo Fora do Expediente: audio seletor $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Extensão Fora do Expediente:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
    Correio de Voz Fora do Expediente: voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Correio de Voz Fora do Expediente: seletor de correio de voz$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Grupo de Transferência Fora do Exped.: \n"; echo "
    Método de Pesquisa: \n"; - echo "   ID da Lista: "; + echo "   ID da Lista: "; echo "
    ID da Campanha: \n"; echo "   Phone Code: "; @@ -25317,7 +26956,7 @@ if ($ADD==3111) { if (strlen($no_agent_action_value) < 3) {$no_agent_action_value = 'nbdy-avail-to-take-call|vm-goodbye';} - echo "arquivo de áudio: audio chooser\n"; + echo "arquivo de áudio: audio seletor\n"; } if ($no_agent_action=='EXTENSION') { @@ -25330,7 +26969,7 @@ if ($ADD==3111) } if ($no_agent_action=='VOICEMAIL') { - echo "Caixa do Correio de Voz: voicemail chooser\n"; + echo "Caixa do Correio de Voz: seletor de correio de voz\n"; } echo " @@ -25342,13 +26981,13 @@ if ($ADD==3111) echo "
    Max chama Ação: $NWB#vicidial_inbound_groups-max_calls_action$NWE
    Arquivo de Boas Vindas: audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Arquivo de Boas Vindas: audio seletor $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Tocar Mens. de Boas Vindas:$NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Contexto da Música de Espera: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Contexto da Música de Espera: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Arquivo de Aviso de Espera audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Arquivo de Aviso de Espera audio seletor $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Intervalo de Aviso de Espera:$NWB#vicidial_inbound_groups-prompt_interval$NWE
    Calcule Segundos Retenção estimado: $NWB#vicidial_inbound_groups-calculate_estimated_hold_seconds$NWE
    Estima Segure Filename tempo mínimo: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Estima Segure Filename tempo mínimo: audio seletor $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Mínimo Tempo estimado de espera Não Avisar Bloco: $NWB#vicidial_inbound_groups-eht_minimum_prompt_no_block$NWE
    Espere Correio de Voz opção de tempo: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Espere Correio de Voz opção de tempo: seletor de correio de voz $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Espere Transferência Tempo Opção em grupo: $NWB#vicidial_inbound_groups-wait_time_option_xfer_group$NWE
    Tempo de espera Filename Pressione Opção: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Tempo de espera Filename Pressione Opção: audio seletor $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Espere Pressione Opção No Time Bloco: $NWB#vicidial_inbound_groups-wait_time_option_no_block$NWE
    Aguarde tempo de opção Segundos Nome do ficheiro Imprensa: $NWB#vicidial_inbound_groups-wait_time_option_prompt_seconds$NWE
    Aguarde Opção Time After Filename Imprensa: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Aguarde Opção Time After Filename Imprensa: audio seletor $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Tempo de espera Opção ID Lista de chamada de retorno: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Tempo de espera Opção ID Lista de chamada de retorno: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Espere Segure Prioridade Opção: $NWB#vicidial_inbound_groups-wait_hold_option_priority$NWE
    Correio de Voz da Opção de Espera: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Correio de Voz da Opção de Espera: seletor de correio de voz $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Grupo de Entrada da Opção de Espera:$NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Hold Time Filename Pressione Opção: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Hold Time Filename Pressione Opção: audio seletor $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Segure Pressione Opção No Time Bloco: $NWB#vicidial_inbound_groups-hold_time_option_no_block$NWE
    Hold Time Opção Segundos Nome do ficheiro Imprensa: $NWB#vicidial_inbound_groups-hold_time_option_prompt_seconds$NWE
    Segure Opção Time After Filename Imprensa: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Segure Opção Time After Filename Imprensa: audio seletor $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Lista de Agend. da Opção de Espera:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Lista de Agend. da Opção de Espera:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Agente de Alerta Nombre de archivo: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agente de Alerta Nombre de archivo: audio seletor $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Atraso de Alerta ao Agente:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Disque No Grupo CID: $NWB#vicidial_inbound_groups-dial_ingroup_cid$NWE
    Grupo de Transferência de Rechamada:$NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = stripslashes($row[4]); + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = stripslashes($row[39]); + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + $default_group_alias = $row[55]; + $no_agent_no_queue = $row[56]; + $no_agent_action = $row[57]; + $no_agent_action_value = $row[58]; + $web_form_address_two = stripslashes($row[59]); + $timer_action = $row[60]; + $timer_action_message = $row[61]; + $timer_action_seconds = $row[62]; + $start_call_url = $row[63]; + $dispo_call_url = $row[64]; + $ignore_list_script_override = $row[68]; + $extension_appended_cidname = $row[69]; + $uniqueid_status_display = $row[70]; + $uniqueid_status_prefix = $row[71]; + $hold_time_option_minimum = $row[72]; + $hold_time_option_press_filename = $row[73]; + $hold_time_option_callmenu = $row[74]; + $onhold_prompt_no_block = $row[75]; + $onhold_prompt_seconds = $row[76]; + $hold_time_option_no_block = $row[77]; + $hold_time_option_prompt_seconds = $row[78]; + $hold_time_second_option = $row[79]; + $hold_time_third_option = $row[80]; + $wait_hold_option_priority = $row[81]; + $wait_time_option = $row[82]; + $wait_time_second_option = $row[83]; + $wait_time_third_option = $row[84]; + $wait_time_option_seconds = $row[85]; + $wait_time_option_exten = $row[86]; + $wait_time_option_voicemail = $row[87]; + $wait_time_option_xfer_group = $row[88]; + $wait_time_option_callmenu = $row[89]; + $wait_time_option_callback_filename = $row[90]; + $wait_time_option_callback_list_id = $row[91]; + $wait_time_option_press_filename = $row[92]; + $wait_time_option_no_block = $row[93]; + $wait_time_option_prompt_seconds = $row[94]; + $timer_action_destination = $row[95]; + $calculate_estimated_hold_seconds = $row[96]; + $add_lead_url = $row[97]; + $eht_minimum_prompt_filename = $row[98]; + $eht_minimum_prompt_no_block = $row[99]; + $eht_minimum_prompt_seconds = $row[100]; + $na_call_url = $row[102]; + $group_calldate = $row[104]; + $action_xfer_cid = $row[105]; + $drop_callmenu = $row[106]; + $after_hours_callmenu = $row[107]; + $user_group = $row[108]; + $max_calls_method = $row[109]; + $max_calls_count = $row[110]; + $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; + + ##### get callmenu listings for dynamic pulldown + $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $Xmenus_to_print = mysql_num_rows($rslt); + $o=0; + $Xmenuslist=''; + $Wmenuslist=''; + while ($Xmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xmenuslist .= "\n"; + $Wmenuslist .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $o++; + } + if ($Xmenus_selected < 1) + {$Xmenuslist .= "\n";} + if ($Wmenus_selected < 1) + {$Wmenuslist .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Wgroups_menu=''; + $Wgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Wgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Wgroups_selected < 1) + {$Wgroups_menu .= "\n";} + else + {$Wgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
    MODIFY AN EMAIL GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + if ($SSenable_second_webform > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + +/* Commenting this out because it is handled by the Email Account section and is redundant here + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +*/ + + + echo "\n"; + + echo "\n"; + + # echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts $whereLOGadmin_viewable_groupsSQL order by shift_id;"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    ID do Grupo: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Nome do Grupo: $NWB#vicidial_inbound_groups-group_name$NWE
    Cor do Grupo: $NWB#vicidial_inbound_groups-group_color$NWE
    Ativo: $NWB#vicidial_inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#vicidial_inbound_groups-group_emaildate$NWE
    \n"; + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + echo "
    Grupo de Usuários do Administrador: $NWB#vicidial_inbound_groups-user_group$NWE
    Formulário Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Formulário Web Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Próxima Agent Email:$NWB#vicidial_inbound_groups-next_agent_email$NWE
    Prioridade da Fila: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Método de Manuseio de Chamada Entrante:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Método de Busca de Agente p/ Ch. Entr.:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    ID da Lista de Entrada:$NWB#vicidial_inbound_dids-list_id$NWE
    ID da Campanha de Entrada:$NWB#vicidial_inbound_dids-campaign_id$NWE
    Comece Email URL: $NWB#vicidial_inbound_groups-start_email_url$NWE
    Dispo-mail URL: $NWB#vicidial_inbound_groups-dispo_email_url$NWE
    Adicionar Chumbo URL: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    No Agent Email URL: $NWB#vicidial_inbound_groups-na_email_url$NWE
    Extensão Anexar CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    Mostrar de Status uniqueid: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    Prefixo Estado uniqueid: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
     
    Config. de CQ para Entrantes:
    CQ Ativado: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    Status de CQ:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    WebForm de CQ:$NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    Script de CQ: $NWB#vicidial_inbound_groups-qc_script$NWE
    Turno de CQ: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    Entrada de registro CQ: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    Mostrar Gravações CQ: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    \n"; + echo "


    \n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
    \n"; + echo "
    AGENTE RANKS FOR THIS INBOUND GROUP:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,full_name,closer_campaigns,user_group from vicidial_users where active='Y' $LOGadmin_viewable_groupsSQL order by user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_name[$o] = $rowx[1]; + $ARIG_close[$o] = $rowx[2]; + $ARIG_group[$o] = $rowx[3]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + + $o=0; + $ARIG_changenotes=''; + $stmtDlog=''; + while ($users_to_print > $o) + { + $o++; + $stmt="SELECT group_rank,calls_today,group_grade from vicidial_inbound_group_agents where group_id='$group_id' and user='$ARIG_user[$o]';"; + $rsltx=mysql_query($stmt, $link); + $viga_to_print = mysql_num_rows($rsltx); + if ($viga_to_print > 0) + { + $rowx=mysql_fetch_row($rsltx); + $ARIG_rank[$o] = $rowx[0]; + $ARIG_calls[$o] = $rowx[1]; + $ARIG_grade[$o] = $rowx[2]; + } + else + { + $stmtD="INSERT INTO vicidial_inbound_group_agents set calls_today='0',group_rank='0',group_weight='0',user='$ARIG_user[$o]',group_id='$group_id',group_grade='1';"; + $rslt=mysql_query($stmtD, $link); + if ($DB > 0) {echo "|$stmtD|";} + $stmtDlog .= "$stmtD|"; + $ARIG_changenotes .= "added missing user to viga table $ARIG_user[$o]|"; + $ARIG_rank[$o] = '0'; + $ARIG_calls[$o] = '0'; + $ARIG_grade[$o] = '1'; + } + } + if (strlen($ARIG_changenotes) > 10) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtDlog|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + if ($stage=='ENVIAR') + { + $o=0; + while ($users_to_print > $o) + { + $o++; + + $ARIG_checked=''; + $ARIG_ranked=''; + $ARIG_graded=''; + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + + if (isset($_GET["$checkbox_field"])) {$ARIG_checked=$_GET["$checkbox_field"];} + elseif (isset($_POST["$checkbox_field"])) {$ARIG_checked=$_POST["$checkbox_field"];} + if (isset($_GET["$rank_field"])) {$ARIG_ranked=$_GET["$rank_field"];} + elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} + if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} + elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} + $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); + $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); + $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + + $stmtA=''; + $stmtB=''; + $stmtC=''; + $ARIG_updated=0; + $ARIG_changenotes=''; + if ( ($ARIG_check[$o]=='') and ($ARIG_checked=='YES') ) + { + if (strlen($ARIG_close[$o]) < 4) {$ARIG_close[$o]=' - ';} + $stmtA="UPDATE vicidial_users set closer_campaigns=' $group_id$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtA, $link); + if ($DB > 0) {echo "|$stmtA|";} + $ARIG_updated++; + $ARIG_changenotes .= "added $group_id to selected in-groups|"; + } + if ( ($ARIG_check[$o]==' CHECKED') and ($ARIG_checked=='') ) + { + $ARIG_close[$o] = preg_replace("/ $group_id /",' ',$ARIG_close[$o]); + $stmtB="UPDATE vicidial_users set closer_campaigns='$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtB, $link); + if ($DB > 0) {echo "|$stmtB|";} + $ARIG_updated++; + $ARIG_changenotes .= "removed $group_id from selected in-groups|"; + } + if ( ($ARIG_ranked < $ARIG_rank[$o]) or ($ARIG_ranked > $ARIG_rank[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_rank='$ARIG_ranked',group_weight='$ARIG_ranked' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed rank from $ARIG_rank[$o] to $ARIG_ranked|"; + } + if ( ($ARIG_graded < $ARIG_grade[$o]) or ($ARIG_graded > $ARIG_grade[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_grade='$ARIG_graded' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed grade from $ARIG_grade[$o] to $ARIG_graded|"; + } + if ($ARIG_updated > 0) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUÁRIOS', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + + $stmt="SELECT vu.user,viga.group_rank,calls_today,full_name,closer_campaigns,viga.group_grade from vicidial_inbound_group_agents viga, vicidial_users vu where group_id='$group_id' and active='Y' and vu.user=viga.user $LOGadmin_viewable_groupsSQL order by vu.user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_rank[$o] = $rowx[1]; + $ARIG_calls[$o] = $rowx[2]; + $ARIG_name[$o] = $rowx[3]; + $ARIG_close[$o] = $rowx[4]; + $ARIG_grade[$o] = $rowx[5]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + } + + $checkbox_count=0; + $o=0; + while ($users_to_print > $o) + { + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + $checkbox_list .= "|$checkbox_field"; + $checkbox_count++; + + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + + echo "$users_output"; + + echo "\n"; + + echo "
    USERGROUPSELECTED     RANK     GRADE     CALLS TODAY
    $ARIG_user[$o] - $ARIG_name[$o]$ARIG_group[$o]     select all  

    \n"; + + echo "
    Clique aqui para ver um relatório deste grupo de entrada

    \n"; + + echo "Clique aqui para ver os agentes conectados a este grupo de entrada

    \n"; + + echo "
    \n"; + + echo "Contas de email usando isso em-GROUP:
    \n"; + echo "\n"; + + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $emails_to_print = mysql_num_rows($rslt); + $o=0; + while ($emails_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]

    \n"; + echo "CAMPAÑAS QUE PERMITA EN ESTE GRUPO:
    \n"; + echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where closer_campaigns LIKE \"% $group_id %\" $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $campin_to_print = mysql_num_rows($rslt); + $o=0; + while ($campin_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + + if ($LOGdelete_ingroups > 0) + { + # echo "

    EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

    \n"; + echo "

    APAGAR ESTE GRUPO DE ENTRADA\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Clique aqui para ver as mudanças de administração para esta No Grupo In
    \n"; + } + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + + } + + + ###################### # ADD=3311 modify did info in the system ###################### @@ -26054,8 +28397,10 @@ if ($ADD==3311) echo "
    ALTERAR UM REGISTRO DDR:$row[0]
    \n"; echo "\n"; echo "\n"; + echo "\n"; echo "
    \n"; - echo "\n"; + # echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "
    Extensão DDR:$NWB#vicidial_inbound_dids-did_pattern$NWE
    Extensão DDR:$NWB#vicidial_inbound_dids-did_pattern$NWE
    Extensão DDR:$did_pattern $NWB#vicidial_inbound_dids-did_pattern$NWE
    Descrição DDR:$NWB#vicidial_inbound_dids-did_description$NWE
    Ativo: $NWB#vicidial_inbound_dids-did_active$NWE
    Grupo de Usuários do Administrador:
    Registro de chamada: $NWB#vicidial_inbound_dids-record_call$NWE
    Extensão:$NWB#vicidial_inbound_dids-extension$NWE
    Contexto da Extensão:$NWB#vicidial_inbound_dids-exten_context$NWE
    Caixa do Correio de Voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Caixa do Correio de Voz: seletor de correio de voz$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Extensão do Ramal:$NWB#vicidial_inbound_dids-phone$NWE
    IP do Servidor:
    Config. de Rota de Entrada do Agente:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    In-ID do Grupo:
    No Grupo ID: $NWB#vicidial_inbound_dids-group_id$NWE
    Método de Manuseio de Chamada Entrante:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Método de Busca de Agente p/ Ch. Entr.:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    ID da Lista de Entrada:$NWB#vicidial_inbound_dids-list_id$NWE
    ID da Lista de Entrada:$NWB#vicidial_inbound_dids-list_id$NWE
    ID da Campanha de Entrada:
    Filter Extensão:$NWB#vicidial_inbound_dids-extension$NWE
    Filter Contexto da Extensão:$NWB#vicidial_inbound_dids-exten_context$NWE
    Filter Caixa do Correio de Voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Caixa do Correio de Voz: seletor de correio de voz$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Extensão do Ramal:$NWB#vicidial_inbound_dids-phone$NWE
    Filter IP do Servidor:
    Filter Config. de Rota de Entrada do Agente:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    Filter In-ID do Grupo:
    Filter No Grupo ID: $NWB#vicidial_inbound_dids-group_id$NWE
    Filter Método de Manuseio de Chamada Entrante:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Filter Método de Busca de Agente p/ Ch. Entr.:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Filter ID da Lista de Entrada:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter ID da Lista de Entrada:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter ID da Campanha de Entrada:\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-call_time_id$NWE "; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "   Férias defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!\n";} + echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-dtmf_field$NWE\n"; echo "\n"; echo "\n"; @@ -26604,7 +28981,7 @@ if ($ADD==3511) $j=0; while ($menus_to_print > $j) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $option_value = $Aoption_value[$j]; $option_description = $Aoption_description[$j]; $option_route = $Aoption_route[$j]; @@ -26678,13 +29055,13 @@ if ($ADD==3511) echo "$IGhandle_method_list $NWB#vicidial_call_menu-ingroup_settings$NWE\n"; echo "
    Método de Pesquisa: \n"; - echo "   ID da Lista: "; + echo "   ID da Lista: "; echo "
    ID da Campanha: \n"; echo "   Phone Code: "; - echo "
      VID Enter Filename: audio chooser"; - echo "
      VID Filename Número de Identificação: audio chooser"; - echo "
      VID Confirmar Nome: audio chooser"; + echo "
      VID Enter Filename: audio seletor"; + echo "
      VID Filename Número de Identificação: audio seletor"; + echo "
      VID Confirmar Nome: audio seletor"; echo "   Dígitos VID: "; } if ($option_route=='DID') @@ -26701,7 +29078,7 @@ if ($ADD==3511) } if ($option_route=='HANGUP') { - echo "arquivo de áudio: audio chooser\n"; + echo "arquivo de áudio: audio seletor\n"; } if ($option_route=='EXTENSION') { @@ -26713,7 +29090,7 @@ if ($ADD==3511) } if ($option_route=='VOICEMAIL') { - echo "Caixa do Correio de Voz:voicemail chooser\n"; + echo "Caixa do Correio de Voz:seletor de correio de voz\n"; } if ($option_route=='AGI') { @@ -26727,7 +29104,7 @@ if ($ADD==3511) while ($j <= 20) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $dtmf_list = "\n"; } + if ($SScall_menu_qualify_enabled > 0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $menu_name = $row[0]; @@ -26522,6 +28874,7 @@ if ($ADD==3511) $dtmf_log = $row[11]; $dtmf_field = $row[12]; $user_group = $row[13]; + $qualify_sql = $row[14]; echo "
    ALTERAR O REGISTRO DE MENU: $menu_id\n"; @@ -26534,10 +28887,10 @@ if ($ADD==3511) echo "$UUgroups_list"; echo "\n"; echo "$NWB#vicidial_call_menu-user_group$NWE
    Audio do Menu: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Audio do Menu: audio seletor $NWB#vicidial_call_menu-menu_prompt$NWE
    Tempo max do menu: $NWB#vicidial_call_menu-menu_timeout$NWE
    Audio de tempo excedido do menu: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Audio de Opção Inválida do menu: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Audio de tempo excedido do menu: audio seletor $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Audio de Opção Inválida do menu: audio seletor $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Repetir Menu: $NWB#vicidial_call_menu-menu_repeat$NWE
    Verif. Horário de Menu:
    Horário de Chamada:$NWB#vicidial_call_menu-call_time_id$NWE
    Rastrear Chamadas no Relat. Tempo-Real: $NWB#vicidial_call_menu-dtmf_log$NWE     Entrar Campo: \n"; - echo "$NWB#vicidial_call_menu-dtmf_field$NWE
    Opções do Menu:
    Entrada Dialplan personalizado: Disabled $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Qualificar SQL:
    $NWB#vicidial_call_menu-qualify_sql$NWE
    \n"; echo "

    \n"; @@ -26905,7 +29289,7 @@ if ($ADD==31111) echo "
    No gancho-Time Anel: $NWB#vicidial_remote_agents-on_hook_ring_time$NWE
    \n"; - horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1); + horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1,'',''); echo "
    Grupos de Entrada: \n"; @@ -27475,7 +29859,7 @@ if ($ADD==3111111) echo "
    Texto do Script:

    Pré-Visualizar Script
    "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -27715,6 +30100,7 @@ if ($ADD==321111111) $modify_url = "$PHP_SELF?ADD=311111111&call_time_id=$call_time_id"; $modify_footer_refrescar=1; } + ### add-remove state rule if ( ($stage=="ADD") and (strlen($state_rule)>0) ) { $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; @@ -27728,6 +30114,15 @@ if ($ADD==321111111) {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD STATE RULE', event_sql=\"$SQL_log\", event_notes='Regra de Estado Adicionada: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Regra de Estado Adicionada: $state_rule
    \n"; } if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) @@ -27740,8 +30135,63 @@ if ($ADD==321111111) $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE STATE RULE', event_sql=\"$SQL_log\", event_notes='Regra de Estado Removida: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Regra de Estado Removida: $state_rule
    \n"; } + ### add-remove holiday rule + if ( ($stage=="ADD") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + if (eregi("\|$",$ct_holidays)) + {$ct_holidays = "$ct_holidays$holiday_rule\|";} + else + {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Regra feriado Adicionado: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Regra feriado Adicionado: $holiday_rule
    \n"; + } + if ( ($stage=="REMOVE") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Regra férias Removido: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Regra férias Removido: $holiday_rule
    \n"; + } $ADD=311111111; } @@ -27768,7 +30218,7 @@ if ($ADD==311111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; $ct_srs=1; @@ -27876,6 +30327,60 @@ if ($ADD==311111111) echo "\n"; echo "\n"; + + $ct_hrs=1; + $b=0; + $hrs_SQL =''; + if (strlen($ct_holidays)>2) + { + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 1); + } + echo "\n"; + echo "\n"; + while($ct_hrs >= $b) + { + if (strlen($holiday_rules[$b])>0) + { + $stmt="SELECT holiday_date,holiday_name from vicidial_call_time_holidays where holiday_id='$holiday_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $hrs_SQL .= "'$holiday_rules[$b]',"; + $hrs_holiday_SQL .= "'$row[0]',"; + } + $b++; + } + if (strlen($hrs_SQL)>2) + { + $hrs_SQL = "$hrs_SQL''"; + $hrs_holiday_SQL = "$hrs_holiday_SQL''"; + $hrs_SQL = "where holiday_id NOT IN($hrs_SQL) and holiday_date NOT IN($hrs_holiday_SQL) $LOGadmin_viewable_groupsSQL"; + } + else + {$hrs_SQL="$whereLOGadmin_viewable_groupsSQL";} + $stmt="SELECT holiday_id,holiday_date from vicidial_call_time_holidays $hrs_SQL order by holiday_date;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_list .= "\n"; + $o++; + } + echo "\n"; + echo "\n"; + + echo "
    \n"; echo ""; - $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group,ct_holidays from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $call_time_name = $row[1]; @@ -27799,6 +30249,7 @@ if ($ADD==311111111) $friday_afterhours_filename_override = $row[26]; $saturday_afterhours_filename_override = $row[27]; $user_group = $row[28]; + $ct_holidays = $row[29]; echo ""; @@ -27810,18 +30261,18 @@ if ($ADD==311111111) echo "
    ID do Horário de Cham.: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Nome do Horário de Cham.: (descrição curta do horário de chamada)$NWB#vicidial_call_times-call_time_name$NWE
    Comentários do Horário de cham.: $NWB#vicidial_call_times-call_time_comments$NWE
    Grupo de Usuários do Administrador:
    Grupo de Usuários do Administrador: $NWB#vicidial_call_times-user_group$NWE
    Padrão de Início: Padrão de Fim: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início no Domingo: Fim no Domingo: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Segunda: Fim na Segunda: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Terça: Fim na Terça: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Quarta: Fim na Quarta: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Quinta: Fim na Quinta: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Sexta: Fim na Sexta: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início no Sábado: Fim no Sábado: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Padrão de Início: Padrão de Fim: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início no Domingo: Fim no Domingo: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Segunda: Fim na Segunda: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Terça: Fim na Terça: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Quarta: Fim na Quarta: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Quinta: Fim na Quinta: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início na Sexta: Fim na Sexta: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Início no Sábado: Fim no Sábado: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Ativos de entrada Definições de férias para este registro:  
    $holiday_rules[$b] - REMOVE $row[0] - $row[1]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Adicionar regra feriado de entrada:


    \n"; echo "CAMPANHAS QUE USAM ESTE HORÁRIO DE CHAMADA:
    \n"; echo "\n"; @@ -27977,7 +30482,7 @@ if ($ADD==3111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; @@ -28013,6 +30518,105 @@ if ($ADD==3111111111) { echo "

    APAGAR ESTE HORÁRIO DE CHAMADA POR ESTADO\n"; } + if ($LOGuser_level >= 9) + { + echo "

    Clique aqui para ver as mudanças de administrador to this call time\n"; + } + } + else + { + echo "Você não esta autorizado a visualizar esta página. Por favor retorne."; + } + } + + +###################### +# ADD=3211111111 modify holiday definition info in the system +###################### + +if ($ADD==3211111111) + { + if ($LOGmodify_call_times==1) + { + if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3211111111&holiday_id=$holiday_id"; + $modify_footer_refrescar=1; + } + echo "
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    Nome do horário de chamada por estado: (descrição curta do horário de chamada)$NWB#vicidial_call_times-call_time_name$NWE
    Comentários do horário de chamada por estado: $NWB#vicidial_call_times-call_time_comments$NWE
    Grupo de Usuários do Administrador:
    Grupo de Usuários do Administrador: $NWB#vicidial_call_times-user_group$NWE
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_comments,holiday_status,ct_default_start,ct_default_stop,user_group,default_afterhours_filename_override from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $holiday_date = $row[1]; + $holiday_name = $row[2]; + $holiday_comments = $row[3]; + $holiday_status = $row[4]; + $ct_default_start = $row[5]; + $ct_default_stop = $row[6]; + $user_group = $row[7]; + $default_afterhours_filename_override = $row[8]; + + echo ""; + + echo "
    MODIFICAR UM FERIADO
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Férias ID: $holiday_id$NWB#vicidial_call_times-holiday_id$NWE
    Nome do feriado: (breve descrição do feriado)$NWB#vicidial_call_times-holiday_name$NWE
    Férias Comentários: $NWB#vicidial_call_times-holiday_comments$NWE
    Grupo de Usuários do Administrador: $NWB#vicidial_call_times-user_group$NWE
    Padrão de Início: Padrão de Fim: $NWB#vicidial_call_times-ct_default_start$NWE
    AH Override: audio seletor $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Feriado Data: \n"; + echo " $NWB#vicidial_call_times-holiday_date$NWE
    Férias Estado: $NWB#vicidial_call_times-holiday_status$NWE


    \n"; + echo "CHAMADA vezes usando este feriado:
    \n"; + echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" $whereLOGadmin_viewable_call_timesSQL;"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + echo "


    \n"; + + if ($LOGdelete_call_times > 0) + { + echo "

    APAGAR esta definição HOLIDAY\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Clique aqui para ver as mudanças de administração para este feriado
    \n"; + } } else { @@ -28172,7 +30776,7 @@ if ($ADD==31111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -28230,6 +30834,12 @@ if ($ADD==31111111111) } echo " $NWB#phones-voicemail_timezone$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "\n"; echo "\n"; echo "\n"; @@ -29141,7 +31751,7 @@ if ($ADD==361111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -28202,7 +30806,7 @@ if ($ADD==31111111111) echo "
    Entrar Tela agente: $NWB#phones-login$NWE
    Login Senha: $NWB#phones-pass$NWE
    Registo Senha: $NWB#phones-conf_secret$NWE     Força:
    Definir como Webphone: $NWB#phones-is_webphone$NWE
    Definir como Webphone: $NWB#phones-is_webphone$NWE
    Webphone Dialpad: $NWB#phones-webphone_dialpad$NWE
    Webphone Auto-Resposta: $NWB#phones-webphone_auto_answer$NWE
    Use IP do servidor externo: $NWB#phones-use_external_server_ip$NWE
    Opções de correio de voz: $NWB#phones-voicemail_options$NWE
    Saudação de correio de voz: audio seletor $NWB#phones-voicemail_greeting$NWE
    Empresa: $NWB#phones-company$NWE
    Foto: $NWB#phones-picture$NWE
    Mensagens Novas: $row[14]$NWB#phones-messages$NWE
    Añadir un archivo de audio: audio chooser $NWB#vicidial_music_on_hold-filename$NWE
    Añadir un archivo de audio: audio seletor $NWB#vicidial_music_on_hold-filename$NWE
    \n"; @@ -29180,7 +31790,7 @@ if ($ADD==371111111111) echo "
    \n"; echo ""; - $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $voicemail_id = $row[0]; @@ -29194,9 +31804,11 @@ if ($ADD==371111111111) $voicemail_timezone = $row[8]; $voicemail_options = $row[9]; $user_group = $row[10]; + $voicemail_greeting = $row[11]; echo "
    MODIFICAR UN contestador: $tts_id\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; @@ -29210,6 +31822,13 @@ if ($ADD==371111111111) echo "\n"; echo "$NWB#vicidial_voicemail-user_group$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "
    Eliminar correo de voz después del email: $NWB#vicidial_voicemail-delete_vm_after_email$NWE
    Saudação de correio de voz: audio seletor $NWB#vicidial_voicemail-voicemail_greeting$NWE
    Zona Correio de Voz: \n"; echo "\n"; echo "
    \n"; echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -29839,7 +32468,12 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; - echo "\n"; + + $admin_web_dir=''; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} + + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; echo "\n"; @@ -29939,7 +32585,7 @@ if ($ADD==311111111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; } @@ -30064,6 +32710,8 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo ""; -$MAIN.=""; +$MAIN.=""; +$MAIN.=""; + +$MAIN.=""; $MAIN.="
    Versão: $version
    SVN Versão: $svn_revision
    DB Schema Versão: $db_schema_version
    DB Schema Update Date: $db_schema_update_date
    Auto Usuário-add Value: $auto_user_add_value
    Controle Central de Audio Ativado: $NWB#settings-sounds_central_control_active$NWE
    Servidor Web de Sons: $NWB#settings-sounds_web_server$NWE
    Diretório Web de Sons: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Diretório Web de Sons: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Diretório do Web Admin: $NWB#settings-admin_web_directory$NWE
    Servidor de correo de voz activo: $NWB#settings-active_voicemail_server$NWE
    Permitir Correio de Voz saudação Chooser: $NWB#settings-allow_voicemail_greeting$NWE
    Marcado automático de límite de:
    Habilitar Estatísticas lista extensa: $NWB#settings-expanded_list_stats$NWE
    Maior Disconnect Logging: $NWB#settings-enhanced_disconnect_logging$NWE
    Habilitar CódigoDeÁrea Campanha CID: $NWB#settings-campaign_cid_areacodes_enabled$NWE
    Ativar substituições extensão remota do Agente: $NWB#settings-did_ra_extensions_enabled$NWE
    Enable Contacts: $NWB#settings-contacts_enabled$NWE
    Menu de chamada Qualificar Ativado: $NWB#settings-call_menu_qualify_enabled$NWE
    Nível 8 Desativar Adicionar: $NWB#settings-level_8_disable_add$NWE
    Administração das listas Counts: $NWB#settings-admin_list_counts$NWE
    Permitir e-mails: $NWB#settings-allow_emails$NWE
    Gatilho primeiro Login: $first_login_trigger   $NWB#settings-first_login_trigger$NWE
    Senha padrão de Registro Telefone: $NWB#settings-default_phone_registration_password$NWE     Força:
    Database Server Escravo: $NWB#settings-slave_db_server$NWE
    Relatórios para usar DB Escravo:
    Relatórios para usar DB Escravo:
    Entrada Dialplan personalizado: $NWB#settings-custom_dialplan_entry$NWE
    Entrada Dialplan personalizado: $NWB#settings-custom_dialplan_entry$NWE
    Atualizar Dialplan Em Servidores: $NWB#settings-reload_dialplan_on_servers$NWE
    QueueMetrics AddMember Habilitado: $NWB#settings-queuemetrics_addmember_enabled$NWE
    QueueMetrics Código Pause Dispo: $NWB#settings-queuemetrics_dispo_pause$NWE
    QueueMetrics Telefone Ambiente Telefone Anexar: $NWB#settings-queuemetrics_pe_phone_append$NWE
    QueueMetrics Soquete Enviar: $NWB#settings-queuemetrics_socket$NWE
    QueueMetrics Soquete Enviar URL: $NWB#settings-queuemetrics_socket_url$NWE
    Habilitar Integração com Vtiger: $NWB#settings-enable_vtiger_integration$NWE\n"; echo "   Clique aqui para sincronizar usuários com o Vtiger\n"; @@ -30340,89 +32988,12 @@ if ($ADD==331111111111111) +##QC +require_once('qc/QC_status_codes_include.php'); ###################### # ADD=341111111111111 modify vicidial QC status code ###################### - -if ($ADD==341111111111111) - { - if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) - { - if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) - { - $modify_url = "$PHP_SELF?ADD=341111111111111"; - $modify_footer_refrescar=1; - } - echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30885,7 +33461,7 @@ if ($ADD==100) $o++; } - $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; + $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); $o=0; @@ -30901,7 +33477,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30959,6 +33538,61 @@ if ($ADD==1000) echo "
    \n"; - echo ""; - - echo "
    \n"; - echo "CÓDIGOS DE STATUS DE CQ NESTE SISTEMA VICIDIAL:  $NWB#vicidial_qc_status_codes$NWE
    \n"; - echo "\n"; - echo "\n"; - - ##### go through each QC status code - $stmt="SELECT count(*) from vicidial_qc_codes;"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - if ($rowx[0] > 0) - { - $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; - $rslt=mysql_query($stmt, $link); - $statuses_to_print = mysql_num_rows($rslt); - $o=0; - while ($statuses_to_print > $o) - { - $rowx=mysql_fetch_row($rslt); - $o++; - - if (eregi("1$|3$|5$|7$|9$", $o)) - {$bgcolor='bgcolor="#B9CBFD"';} - else - {$bgcolor='bgcolor="#9BB9FB"';} - - echo "\n"; - echo "\n"; - echo "\n"; - } - } - echo "
    STATUS CODEDESCRIÇÃOMODIFY/DELETE
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "$rowx[0]         \n"; - echo "   \n"; - - if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) - { - echo "APAGAR\n"; - } - else - { - echo "APAGAR\n"; - } - echo "
    \n"; - - echo "
    INCLUIR CÓDIGO DE CQ
    \n"; - echo "\n"; - echo "Status:   \n"; - echo "Descrição:
    \n"; - echo "
    \n"; - - echo "

    \n"; - - } - else - { - echo "Você não tem permissão para ver esta página\n"; - exit; - } - } - - - - - +//This section moved to include file as part of QC ###################### # ADD=550 user search form @@ -30845,7 +33416,9 @@ if ($ADD==100) if (eregi("CAMPANHADOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPANHAlink='stage=CAMPANHAUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists $whereLOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -30877,7 +33450,10 @@ if ($ADD==100) echo "
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]ALTERAR
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]ALTERAR
    \n"; } +###################### +# ADD=1800 display all email groups +###################### +if ( ($ADD==1800) and ($SSallow_emails>0) ) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,queue_priority,active,call_time_id,group_color,user_group from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $ingroups_to_print = mysql_num_rows($rslt); + + echo "
    EMAIL GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($ingroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and group_id='$row[0]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IN-GROUPNOMEPRIORIDADEATIVO-Mails não lidosGRUPO ADMINTIMECOLORALTERAR
    $row[0] $row[1] $row[2] $row[3] $unhandled_emails $row[6] $row[4]  ALTERAR
    \n"; + } ###################### # ADD=1300 display all inbound dids @@ -31347,7 +33981,7 @@ if ($ADD==10000000) echo "
    \n"; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo "\n"; @@ -31459,6 +34093,52 @@ if ($ADD==1000000000) echo "
    FILTER IDFILTER NAMENOME FILTERGRUPO ADMINALTERAR
    \n"; } +###################### +# ADD=1200000000 display all holidays +###################### +if ($ADD==1200000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_status,ct_default_start,ct_default_stop,user_group from vicidial_call_time_holidays $whereLOGadmin_viewable_groupsSQL order by holiday_date,holiday_id;"; + $rslt=mysql_query($stmt, $link); + $holidays_to_print = mysql_num_rows($rslt); + + echo "
    HOLIDAY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($holidays_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    HOLIDAY IDDATENOMESTATUSSTARTSTOPGRUPO ADMINALTERAR
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] ALTERAR
    \n"; + } + ###################### # ADD=130000000 display all shifts ###################### @@ -32104,7 +34784,10 @@ if ($ADD==10000000000000) } - +###################### +# ADD=100000000000000 display all qc campaigns +###################### +require_once('qc/QC_admin_include01.php'); ###################### @@ -32116,22 +34799,22 @@ if ($ADD==700000000000000) echo ""; $DURATION_graph.=" "; $HANDLETIME_graph.=" "; - } + } $CALLS_graph.="
    \n"; echo ""; - if ($stage > 9999) + if ($stage > 4999) { - $next_limit = ($stage + 10000); - $limitSQL = "10000 offset $stage"; + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; } else { - $next_limit = "10000"; - $limitSQL = "10000"; + $next_limit = "5000"; + $limitSQL = "5000"; } $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log $whereLOGadmin_viewable_groupsSQL order by event_date desc limit $limitSQL;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); - echo "
    LOG DE ALT. ADMIN: (Últimos 10000 registros)\n"; + echo "
    LOG DE ALT. ADMIN: (Last 5000 records)\n"; echo "
    \n"; echo ""; echo ""; @@ -32213,7 +34896,7 @@ if ($ADD==710000000000000) $user_name = $row[0]; } - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32299,7 +34982,7 @@ if ($ADD==720000000000000) if (preg_match("/DIDS/",$category)) {$sectionSQL = "event_section IN('DIDS','DID_RA-EXTEN')";} - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32335,6 +35018,8 @@ if ($ADD==720000000000000) if (eregi('REMOTEAGENT',$row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} if (eregi('PHONE',$row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} if (eregi('CALLTIME',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} + if (eregi('CALLTIMES_STATE',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} + if (eregi('HOLIDAY',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} if (eregi('SHIFT',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} if (eregi('CARRIER',$row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} @@ -32344,6 +35029,7 @@ if ($ADD==720000000000000) if (eregi('CATEGOR',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} if (eregi('GROUPALIAS',$row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} if (eregi('LEADS',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} + if (eregi('EMAIL',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} if (eregi("1$|3$|5$|7$|9$", $o)) {$bgcolor='bgcolor="#B9CBFD"';} @@ -32445,6 +35131,214 @@ if ($ADD==730000000000000) } +###################### +# ADD=800000000000000 view all activity in the admin report log +###################### + +if ($ADD==800000000000000) + { + echo "
    ID
    \n"; + echo ""; + + if ($stage > 4999) + { + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; + } + else + { + $next_limit = "5000"; + $limitSQL = "5000"; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log order by event_date desc limit $limitSQL;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + + echo "
    Admin Report LOG: (Last 5000 records)\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "NEXT\n"; + echo "
    \n"; + } + + +###################### +# ADD=810000000000000 view all activity in the report log made by one user +###################### + +if ($ADD==810000000000000) + { + echo "\n"; echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT full_name from vicidial_users where user='$stage' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $names_to_print = mysql_num_rows($rslt); + if ($names_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $user_name = $row[0]; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log where user='$stage' order by event_date desc limit 5000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    Admin Report LOG: Alterado por $stage - $user_name\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=830000000000000 detail view of one report log entry +###################### + +if ($ADD==830000000000000) + { + if ($LOGuser_level >= 9) + { + echo ""; - echo "\n"; + echo "\n"; } else { @@ -32645,6 +35547,7 @@ if ($ADD==999999) } $o=0; + $web_u_time = date('U'); while ($servers_to_print > $o) { $cpu = (100 - $cpu_idle_percent[$o]); @@ -32663,7 +35566,23 @@ if ($ADD==999999) $k++; } $disk = "$disk%"; - echo "\n"; + $s_time=' '; + $s_ver=' '; + $u_time=$web_u_time; + $stmt="SELECT last_update,UNIX_TIMESTAMP(last_update) from server_updater where server_ip='$server_ip[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servertime_to_print = mysql_num_rows($rslt); + if ($servertime_to_print) + { + $row=mysql_fetch_row($rslt); + $s_time = $row[0]; + $u_time = ($row[1] + 10); + } + $server_bgcolor=''; + if ($web_u_time > $u_time) + {$server_bgcolor=' bgcolor=red';} + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32673,15 +35592,16 @@ if ($ADD==999999) echo "\n"; if ($stage == 'TIME') { - $stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';"; + $stmt="SELECT svn_revision from servers where server_ip='$server_ip[$o]';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $servertime_to_print = mysql_num_rows($rslt); - if ($servertime_to_print) + $serverver_to_print = mysql_num_rows($rslt); + if ($serverver_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + $s_ver = $row[0]; } + echo ""; } else { @@ -32702,7 +35622,7 @@ if ($ADD==999999) if ($stage == 'TIME') { - echo ""; + echo ""; $stmt="SELECT NOW();"; $rslt=mysql_query($stmt, $link); @@ -32711,7 +35631,7 @@ if ($ADD==999999) if ($dbtime_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + echo ""; } } echo "
    \n"; + echo ""; + + $stmt="SELECT report_log_id,event_date,vrl.user,ip_address,report_name,browser,referer,notes,url,full_name,val.user_group,run_time from vicidial_report_log vrl, vicidial_users val where report_log_id='$stage' and val.user=vrl.user $valLOGadmin_viewable_groupsSQL;"; + if ($DB > 0) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + if ($logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + + $run_color='color=blue'; + if ($row[11] > 5) {$run_color='color=black';} + if ($row[11] > 10) {$run_color='color=purple';} + if ($row[11] > 30) {$run_color='color=red';} + + echo "
    Admin Report LOG: Detalhes do Reg. - $stage

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "
    ID: $row[0]
    DATE TIME: $row[1]
    RUN TIME: $row[11] seconds
    USER: $row[2] - $row[9]
    IP: $row[3]
    REPORT: $row[4]
    BROWSER: $row[5]
    NOTES: $row[7]
    REFERER:

    $row[6]

    URL:

    $row[8]



    \n"; + echo "\n"; + echo "
    \n"; + } + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } + + ###################### # ADD=999999 display reports section ###################### @@ -32552,7 +35446,13 @@ if ($ADD==999999) # echo "
  • AGENTE SPREADSHEET PERFORMANCE\n"; if ( ( (preg_match("/Dialer Relatório de Inventário/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) and ($inventory_report_count > 0) ) {echo "
  • Dialer Relatório de Inventário\n";} - + if ($SSemail_enabled > 0) + { + if ( ( (preg_match("/Inbound Report/",$LOGallowed_reports)) and (preg_match("/Inbound Email Report/",$LOGallowed_reports)) ) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) + {echo "
  • Inbound Email Report\n";} + if ( (preg_match("/Email Log Report/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) + {echo "
  • Email Log Report\n";} + } if ($LOGexport_reports >= 1) { if ( (preg_match("/Exportar Relatórios de Chamadas/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) @@ -32576,6 +35476,8 @@ if ($ADD==999999) {echo "
  • Team Performance Detalhes\n";} if ( (preg_match("/Single Agent Daily/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) {echo "
  • Single Agent Daily\n";} + if ( (preg_match("/Grupo do Usuário Login Report/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) + {echo "
  • Grupo do Usuário Login Report\n";} if ( (preg_match("/Estatísticas de Usuário/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) {echo "
  • Estatísticas de Usuário\n";} if ( (preg_match("/Usuário Planilha de Tempo/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) @@ -32636,7 +35538,7 @@ if ($ADD==999999) if ($stage == 'TIME') { echo "
  • SERVIDOR -DESCRIÇÃOIPACTLOADCHANDISKTIME
    DESCRIÇÃOIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$disk$row[0]$s_time$s_ver
      PHP Time   " . date("Y-m-d H:i:s") . "
      PHP Time   " . date("Y-m-d H:i:s") . "  
      DB Time   $row[0]
      DB Time   $row[0]  
    \n"; @@ -32760,6 +35680,10 @@ if ($ADD==999998) echo "
  • Status do Sistema\n"; echo "
  • Correio de Voz \n"; + if ($SSemail_enabled > 0) + { + echo "
  • Contas de Email \n"; + } if ( ($sounds_central_control_active > 0) or ($SSsounds_central_control_active > 0) ) { echo "
  • Audio de la tienda \n"; @@ -32771,11 +35695,11 @@ if ($ADD==999998) } if ($SScallcard_enabled > 0) { - echo "
  • CallCard Admin \n"; + echo "
  • CallCard Administrador \n"; } if ($SScontacts_enabled > 0) { - echo "
  • Contacts \n"; + echo "
  •  Contactos \n"; } echo "\n"; @@ -32981,7 +35905,7 @@ if ($ADD==999995) echo "
    Bem-vindo ao ViciDial: página direitos autorais, marcas e licenças

    \n"; echo "
    \n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -33015,9 +35939,13 @@ if ($ADD==999994) echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } } @@ -33129,11 +36057,47 @@ if ($ADD==999993) ###################### if ($ADD==999992) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + echo "
    Copyright:   O ViciDial Call Center Suite é mantido pelo ViciDial Group, © 2012
    Copyright:   O ViciDial Call Center Suite é mantido pelo ViciDial Group, © 2013
    Trademark:   \"VICIDIAL\" é uma marca registrada do ViciDial Group. Aqui é o nosso política de uso de marca
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0,'',''); echo "
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; } } $k++; @@ -700,7 +748,7 @@ if ($function == 'sounds_list') ################################################################################ if ($function == 'moh_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -866,7 +914,7 @@ if ($function == 'moh_list') ################################################################################ if ($function == 'vm_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1018,7 +1066,7 @@ if ($function == 'agent_ingroup_info') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1114,12 +1162,12 @@ if ($function == 'agent_ingroup_info') $row=mysql_fetch_row($rslt); $allowed_campaign_autodial=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_change_ingroups=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_modify_user=$row[0]; @@ -1344,7 +1392,7 @@ if ($function == 'blind_monitor') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1441,6 +1489,21 @@ if ($function == 'blind_monitor') { $man_id = mysql_insert_id($link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$BMquery',lead_id='0',server_ip='$monitor_server_ip',call_date='$NOW_TIME',extension='$dialplan_number',channel='Local/$monitor_dialstring$stage$session_id@default',timeout='0',outbound_cid='\"VC Blind Monitor\" <$outbound_cid>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ##### BEGIN log visit to the vicidial_report_log table ##### + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$user', ip_address='1.1.1.1', report_name='API Blind Monitor', browser='API', referer='realtime_report.php', notes='$user, $monitor_server_ip, $dialplan_number, $session_id, $phone_login', url='REALTIME BLIND MONITOR',run_time='$TOTALrun';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + ##### END log visit to the vicidial_report_log table ##### + $result = 'SUCCESS'; $result_reason = "blind_monitor HAS BEEN LAUNCHED"; echo "$result: $result_reason - $phone_login|$monitor_dialstring$stage$session_id|$dialplan_number|$session_id|$man_id|$user\n"; @@ -1500,7 +1563,7 @@ if ($function == 'add_user') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1660,6 +1723,97 @@ if ($function == 'add_user') +################################################################################ +### add_group_alias - adds group alias to the system +################################################################################ +if ($function == 'add_group_alias') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "add_group_alias USER DOES NOT HAVE PERMISSION TO ADD GROUP ALIASES"; + $data = "$allowed_user"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($caller_id_number)<6) + { + $result = 'ERROR'; + $result_reason = "add_group_alias YOU MUST USE ALL REQUIRED FIELDS"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($group_alias_id)<2) {$group_alias_id = $caller_id_number;} + if (strlen($group_alias_name)<2) {$group_alias_name = $caller_id_number;} + if (strlen($active)<1) {$active = 'Y';} + if (strlen($admin_user_group)<1) {$admin_user_group = '---ALL---';} + $group_alias_name = preg_replace("/\+/",' ',$group_alias_name); + $caller_id_name = preg_replace("/\+/",' ',$caller_id_name); + + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $alias_exists=$row[0]; + if ($alias_exists > 0) + { + $result = 'ERROR'; + $result_reason = "add_group_alias GROUP ALIAS ALREADY EXISTS"; + $data = "$group_alias_id|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$admin_user_group');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN API ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $result = 'SUCCESS'; + $result_reason = "add_group_alias GROUP ALIAS HAS BEEN ADDED"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + } + exit; + } +################################################################################ +### END add_group_alias +################################################################################ + + ################################################################################ ### add_phone - adds phone to the phones table @@ -1677,7 +1831,7 @@ if ($function == 'add_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1815,7 +1969,7 @@ if ($function == 'update_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1896,7 +2050,7 @@ if ($function == 'update_phone') { if ($delete_phone == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2210,8 +2364,6 @@ if ($function == 'update_phone') - - ################################################################################ ### add_phone_alias - adds phone alias to the system ################################################################################ @@ -2228,7 +2380,7 @@ if ($function == 'add_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2337,7 +2489,7 @@ if ($function == 'update_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2380,7 +2532,7 @@ if ($function == 'update_phone_alias') { if ($delete_alias == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2522,7 +2674,7 @@ if ($function == 'update_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2609,6 +2761,7 @@ if ($function == 'update_list') $webformSQL=''; $webformtwoSQL=''; $resettimeSQL=''; + $expiration_dateSQL=''; if (strlen($campaign_id) > 0) { $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; @@ -2758,6 +2911,25 @@ if ($function == 'update_list') {$resettimeSQL = " ,reset_time='$reset_time'";} } } + if (strlen($expiration_date) > 9) + { + if ($expiration_date == '--BLANK--') + {$expiration_dateSQL = " ,expiration_date='2099-12-31'";} + else + { + if (strlen($expiration_date) < 10) + { + $result = 'ERROR'; + $result_reason = "update_list EXPIRATION DATE IS NOT VALID, THIS IS AN OPTIONAL FIELD"; + $data = "$expiration_date"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + {$resettimeSQL = " ,expiration_date='$expiration_date'";} + } + } if (strlen($web_form_address) > 0) { if ($web_form_address == '--BLANK--') @@ -2773,7 +2945,7 @@ if ($function == 'update_list') {$webformtwoSQL = " ,web_form_address_two='$web_form_address_two'";} } - $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL"; + $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL$expiration_dateSQL"; if (strlen($updateSQL)< 3) { @@ -2846,7 +3018,7 @@ if ($function == 'update_list') if ($delete_list == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2884,7 +3056,7 @@ if ($function == 'update_list') if ($delete_leads == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2950,7 +3122,7 @@ if ($function == 'add_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3086,8 +3258,9 @@ if ($function == 'add_list') exit; } if (strlen($active)<1) {$active='N';} + if (strlen($expiration_date)<10) {$expiration_date='2099-12-31';} - $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time';"; + $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time', expiration_date='$expiration_date';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "|$stmt|\n";} @@ -3136,7 +3309,7 @@ if ($function == 'recording_lookup') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3308,7 +3481,7 @@ if ($function == 'did_log_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3448,7 +3621,7 @@ if ($function == 'agent_stats_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3596,6 +3769,7 @@ if ($function == 'agent_stats_export') if ($AScalls[$k] < 1) { $cust_sec = 0; + $wait_sec = 0; $avg_cust_sec = 0; $avg_wait_sec = 0; $pct_of_queue = 0; @@ -3603,6 +3777,7 @@ if ($function == 'agent_stats_export') else { $cust_sec = ($AStalk_sec[$k] - $ASdead_sec[$k]); + $wait_sec = $ASwait_sec[$k]; $avg_cust_sec = ($cust_sec / $AScalls[$k]); $avg_wait_sec = ($ASwait_sec[$k] / $AScalls[$k]); $pct_of_queue = ( ($AScalls[$k] / $total_calls) * 100); @@ -3618,10 +3793,11 @@ if ($function == 'agent_stats_export') $avg_session_sec = sec_convert($avg_session_sec,$time_format); $avg_pause_sec = sec_convert($avg_pause_sec,$time_format); $cust_sec = sec_convert($cust_sec,$time_format); + $wait_sec = sec_convert($wait_sec,$time_format); $avg_cust_sec = sec_convert($avg_cust_sec,$time_format); $avg_wait_sec = sec_convert($avg_wait_sec,$time_format); - $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session\n"; + $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session$DL$wait_sec\n"; $k++; } @@ -3647,6 +3823,737 @@ if ($function == 'agent_stats_export') +################################################################################ +### user_group_status - exports user group real-time stats +################################################################################ +if ($function == 'user_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status USER DOES NOT HAVE PERMISSION TO GET USER GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($user_groups)>0) and (strlen($user_groups)<10000) ) + { + $user_groupsOUTPUT = preg_replace("/\|/",' ',$user_groups); + $user_groupsSQL = preg_replace("/\|/","','",$user_groups); + $search_SQL .= "and user_group IN('$user_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$user_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $whereLOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $whereLOGallowed_callsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'usergroups' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dead_calls' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $whereLOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $i++; + } + } + + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $search_SQL $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: user_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + + if (eregi("INCALL",$row[1])) + { + $stmtP="select count(*) from parked_channels where channel_group='$row[5]';"; + $rsltP=mysql_query($stmtP,$link); + $rowP=mysql_fetch_row($rsltP); + $parked_channel = $rowP[0]; + + if ($parked_channel > 0) + {$row[1] = 'PARK';} + else + { + if (!ereg("$row[5]\|",$callerids)) + {$row[1] = 'DEAD';} + } + } + + if ($row[1]=='DEAD') + {$total_agents_dead++;} + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$user_groupsOUTPUT$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dead$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$user_groups|$stage"; + $result_reason = "user_group_status AGENTS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END user_group_status +################################################################################ + + + + + +################################################################################ +### in_group_status - exports in-group real-time stats +################################################################################ +if ($function == 'in_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status USER DOES NOT HAVE PERMISSION TO GET IN-GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($in_groups)>0) and (strlen($in_groups)<10000) ) + { + $in_groupsOUTPUT = preg_replace("/\|/",' ',$in_groups); + $in_groupsSQL = preg_replace("/\|/","','",$in_groups); + $search_SQL .= "where campaign_id IN('$in_groupsSQL')"; + $agent_search_SQL .= "where group_id IN('$in_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$in_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $LOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $LOGallowed_callsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'ingroups' . $DL . 'total_calls' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $search_SQL $LOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $total_calls++; + $i++; + } + } + + $users=''; + $stmt="SELECT distinct user from vicidial_live_inbound_agents where group_id IN('$in_groupsSQL');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $IG_users = mysql_num_rows($rslt); + if ($IG_users > 0) + { + $i=0; + while ($i < $IG_users) + { + $row=mysql_fetch_row($rslt); + $users .= "$row[0]','"; + $i++; + } + } + + $k=0; + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and vicidial_live_agents.user IN('$users') $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: in_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$in_groupsOUTPUT$DL$total_calls$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$in_groups|$stage"; + $result_reason = "in_group_status CALLS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END in_group_status +################################################################################ + + + + +################################################################################ +### agent_status - exports agent user real-time stats +################################################################################ +if ($function == 'agent_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status USER DOES NOT HAVE PERMISSION TO GET AGENT INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $agent_search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($agent_user)>0) and (strlen($agent_user)<100) ) + { + $agent_search_SQL .= "where user='$agent_user'"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status INVALID SEARCH PARAMETERS"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGadmin_viewable_groups = $row[0]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'status' . $DL . 'callerid' . $DL . 'lead_id' . $DL . 'campaign_id' . $DL . 'calls_today' . $DL . 'full_name' . $DL . 'user_group' . $DL . 'user_level' . "\n";} + + $stmt="select full_name,user_group,user_level from vicidial_users $agent_search_SQL $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $user_to_list = mysql_num_rows($rslt); + if ($user_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + $user_level = $row[2]; + + $stmt="select status,callerid,lead_id,campaign_id,calls_today from vicidial_live_agents $agent_search_SQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agent_to_list = mysql_num_rows($rslt); + if ($agent_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $callerid = $row[1]; + $lead_id = $row[2]; + $campaign_id = $row[3]; + $calls_today = $row[4]; + + $output .= "$status$DL$callerid$DL$lead_id$DL$campaign_id$DL$calls_today$DL$full_name$DL$user_group$DL$user_level\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$agent_user|$stage"; + $result_reason = "agent_status $output"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT LOGGED IN"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT FOUND"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + } + exit; + } +################################################################################ +### END agent_status +################################################################################ + + + +################################################################################ +### update_log_entry - updates the status of a log entry +################################################################################ +if ($function == 'update_log_entry') + { + if (strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "update_log_entry USER DOES NOT HAVE PERMISSION TO UPDATE LOGS"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + if ( (strlen($group)<2) or (strlen($call_id)<8) or (strlen($status)<8) ) + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $inbound_call=$row[0]; + + if ($inbound_call < 1) + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $outbound_call=$row[0]; + } + + if ( ($inbound_call < 1) and ($outbound_call < 1) ) + { + $result = 'ERROR'; + $result_reason = "update_log_entry GROUP NOT FOUND"; + $data = "$user|$group"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (preg_match("/\./",$call_id)) + { + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and uniqueid='$call_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and uniqueid='$call_id';";} + } + else + { + $lead_id = substr($call_id, -10); + $lead_id = ($lead_id + 0); + + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + } + $rslt=mysql_query($stmt, $link); + $found_recs = mysql_num_rows($rslt); + if ($found_recs > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id = $row[0]; + $old_status = $row[1]; + $uniqueid = $row[2]; + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS FOUND"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + + if ($inbound_call > 0) + {$stmt="UPDATE vicidial_closer_log SET status='$status' where campaign_id='$group' and closecallid='$uniqueid' order by call_date desc limit 1;";} + else + {$stmt="UPDATE vicidial_log SET status='$status' where campaign_id='$group' and uniqueid='$uniqueid';";} + $rslt=mysql_query($stmt, $link); + $update_count = mysql_affected_rows($link); + if ($update_count > 0) + { + $result = 'SUCCESS'; + $result_reason = "update_log_entry RECORD HAS BEEN UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid|$affected_rows"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry INVALID SEARCH PARAMETERS"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + exit; + } +################################################################################ +### END update_log_entry +################################################################################ + + + + + ################################################################################ ### add_lead - inserts a lead into the vicidial_list table ################################################################################ @@ -3663,7 +4570,7 @@ if ($function == 'add_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -3683,6 +4590,24 @@ if ($function == 'add_lead') if (strlen($rank)<1) {$rank='0';} if (strlen($list_id)<3) {$list_id='999';} if (strlen($phone_code)<1) {$phone_code='1';} + if ( ($nanpa_ac_prefix_check == 'Y') or (eregi("NANPA",$tz_method)) ) + { + $stmt="SELECT count(*) from vicidial_nanpa_prefix_codes;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vicidial_nanpa_prefix_codes_count = $row[0]; + if ($vicidial_nanpa_prefix_codes_count < 10) + { + $nanpa_ac_prefix_check='N'; + $tz_method = preg_replace("/NANPA/",'',$tz_method); + + $result = 'NOTICE'; + $result_reason = "add_lead NANPA options disabled, NANPA prefix data not loaded"; + echo "$result: $result_reason - $vicidial_nanpa_prefix_codes_count|$user\n"; + $data = "$inserted_alt_phones|$lead_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } $valid_number=1; if ( (strlen($phone_number)<6) || (strlen($phone_number)>16) ) @@ -3713,6 +4638,20 @@ if ($function == 'add_lead') $result_reason = "add_lead INVALID PHONE NUMBER AREACODE"; } } + if ( ($nanpa_ac_prefix_check=='Y') and ($valid_number > 0) ) + { + $phone_areacode = substr($phone_number, 0, 3); + $phone_prefix = substr($phone_number, 3, 3); + $stmt = "SELECT count(*) from vicidial_nanpa_prefix_codes where areacode='$phone_areacode' and prefix='$phone_prefix';"; + if ($DB>0) {echo "DEBUG: add_lead areacode check query - $stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $valid_number=$row[0]; + if ($valid_number < 1) + { + $result_reason = "add_lead INVALID PHONE NUMBER NANPA AREACODE PREFIX"; + } + } if ($valid_number < 1) { $result = 'ERROR'; @@ -3753,14 +4692,22 @@ if ($function == 'add_lead') if ( ($campaign_dnc_check == 'Y') or ($campaign_dnc_check == 'AREACODE') ) { if ($DB>0) {echo "DEBUG: Checking for campaign DNC\n";} + + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign_id; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if ($campaign_dnc_check == 'AREACODE') { $phone_areacode = substr($phone_number, 0, 3); $phone_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$campaign_id';"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign_id';";} + {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -4035,7 +4982,7 @@ if ($function == 'add_lead') ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); $new_status='NEW'; if ($callback == 'Y') @@ -4225,13 +5172,11 @@ if ($function == 'add_lead') $result = 'NOTICE'; $result_reason = "add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME"; echo "$result: $result_reason - $phone_number|$lead_id|$gmt_offset|$dialable|$user\n"; - $data = "$phone_number|$lead_id|$gmt_offset|$dialable"; + $data = "$phone_number|$lead_id|$gmt_offset|$dialable|$state"; api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); } else { - ### code to insert into hopper goes here - ### insert record into vicidial_hopper for alt_phone call attempt $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$list_id',gmt_offset_now='$gmt_offset',state='$state',user='',priority='$hopper_priority',source='P',vendor_lead_code='$vendor_lead_code';"; if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} @@ -4366,7 +5311,7 @@ if ($function == 'update_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -4561,6 +5506,7 @@ if ($function == 'update_lead') if (strlen($owner)>0) {$VL_update_SQL .= "owner='$owner',";} if (strlen($called_count)>0) {$VL_update_SQL .= "called_count='$called_count',";} if ( (strlen($reset_lead) > 0 && $reset_lead == 'Y') ) {$VL_update_SQL .= "called_since_last_reset='N',";} + if ( (strlen($update_phone_number)>0 && $update_phone_number=='Y' && strlen($phone_number)>0) ) {$VL_update_SQL .= "phone_number='$phone_number',";} $VL_update_SQL = preg_replace("/,$/","",$VL_update_SQL); $VL_update_SQL = preg_replace("/'--BLANK--'/","''",$VL_update_SQL); $VL_update_SQL = preg_replace("/\n/","!N",$VL_update_SQL); @@ -4900,7 +5846,7 @@ if ($function == 'update_lead') else { ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); if (strlen($status)<1) {$status='NEW';} @@ -5094,11 +6040,6 @@ api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$resul - - - - - if ($format=='debug') { $ENDtime = date("U"); @@ -5119,7 +6060,7 @@ exit; ##### LOOKUP GMT, FINDS THE CURRENT GMT OFFSET FOR A PHONE NUMBER ##### -function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner) +function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix) { require("dbconnect.php"); @@ -5171,6 +6112,24 @@ if ( ($tz_method=="TZCODE") && (strlen($owner)>1) ) if (strlen($dst_range)>2) {$dst = 'Y';} } } +if ( (eregi("NANPA",$tz_method)) && (strlen($USarea)>2) && (strlen($USprefix)>2) ) + { + $stmt="select GMT_offset,DST from vicidial_nanpa_prefix_codes where areacode='$USarea' and prefix='$USprefix';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[0]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[1]; + $dst_range = ''; + if ($dst == 'Y') + {$dst_range = 'SSM-FSN';} + $PC_processed++; + $postalgmt_found++; + $post++; + } + } if ($postalgmt_found < 1) { $PC_processed=0; @@ -5924,273 +6883,160 @@ function dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state) $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times FROM vicidial_call_times where call_time_id='$local_call_time';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; - if ($GMT_day==0) #### Sunday local time - { - if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + if ( (strlen($Gct_state_call_times) > 2) and (strlen($state)>0) ) { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==1) #### Monday local time - { - if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==2) #### Tuesday local time - { - if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==3) #### Wednesday local time - { - if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==4) #### Thursday local time - { - if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==5) #### Friday local time - { - if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==6) #### Saturday local time - { - if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) - {$dialable=1;} - } - } + $Gct_state_call_timesSQL = $Gct_state_call_times; + $Gct_state_call_timesSQL = preg_replace("/\|/","','",$Gct_state_call_timesSQL); + $Gct_state_call_timesSQL = preg_replace("/^',|,'$/",'',$Gct_state_call_timesSQL); - return $dialable; - } - -/* - $ct_states = ''; - $ct_state_gmt_SQL = ''; - $ct_srs=0; - $b=0; - if (strlen($Gct_state_call_times)>2) - { - $state_rules = explode('|',$Gct_state_call_times); - $ct_srs = ((count($state_rules)) - 2); - } - while($ct_srs >= $b) - { - if ( (strlen($state_rules[$b])>1) and (strlen($state)>1) ) - { - $stmt="SELECT STAR from vicidial_state_call_times where state_call_time_id='$state_rules[$b]' and state_call_time_state='$state';"; + $stmt="SELECT sct_default_start,sct_default_stop,sct_sunday_start,sct_sunday_stop,sct_monday_start,sct_monday_stop,sct_tuesday_start,sct_tuesday_stop,sct_wednesday_start,sct_wednesday_stop,sct_thursday_start,sct_thursday_stop,sct_friday_start,sct_friday_stop,sct_saturday_start,sct_saturday_stop FROM vicidial_state_call_times where state_call_time_id IN($Gct_state_call_timesSQL) and state_call_time_state='$state';"; + if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; - - $ct_states .="'$Gstate_call_time_state',"; - - $r=0; - $state_gmt=''; - while($r < $g) + $state_times_to_print = mysql_num_rows($rslt); + if ($state_times_to_print > 0) { - if ($GMT_day[$r]==0) #### Sunday local time - { - if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==1) #### Monday local time - { - if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==2) #### Tuesday local time - { - if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==3) #### Wednesday local time - { - if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==4) #### Thursday local time - { - if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==5) #### Friday local time - { - if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==6) #### Saturday local time - { - if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - $r++; + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[0]; + $Gct_default_stop = $rowx[1]; + $Gct_sunday_start = $rowx[2]; + $Gct_sunday_stop = $rowx[3]; + $Gct_monday_start = $rowx[4]; + $Gct_monday_stop = $rowx[5]; + $Gct_tuesday_start = $rowx[6]; + $Gct_tuesday_stop = $rowx[7]; + $Gct_wednesday_start = $rowx[8]; + $Gct_wednesday_stop = $rowx[9]; + $Gct_thursday_start = $rowx[10]; + $Gct_thursday_stop = $rowx[11]; + $Gct_friday_start = $rowx[12]; + $Gct_friday_stop = $rowx[13]; + $Gct_saturday_start = $rowx[14]; + $Gct_saturday_stop = $rowx[15]; } - $state_gmt = "$state_gmt'99'"; - $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; } - $b++; - } - if (strlen($ct_states)>2) - { - $ct_states = eregi_replace(",$",'',$ct_states); - $ct_statesSQL = "and state NOT IN($ct_states)"; + ### go through each day to determine dialability + if ($GMT_day==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) + {$dialable=1;} + } + } + + return $dialable; } else { - $ct_statesSQL = ""; + return 0; } - -*/ - + } @@ -6208,7 +7054,6 @@ function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$val $TOTALrun = ($runS + $runM); $NOW_TIME = date("Y-m-d H:i:s"); - # api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script',run_time='$TOTALrun';"; $rslt=mysql_query($stmt, $link); } diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include01.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include01.php new file mode 100644 index 00000000..1058281d --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include01.php @@ -0,0 +1,105 @@ +
    \n"; echo ""; echo "
    Administration: Maximum System Stats   $NWB#vicidial_max_stats$NWE

    \n"; - echo "
    \n"; + echo ""; + + echo "\n"; + + echo " to "; + + echo "    
    \n"; + echo "
    [DOWNLOAD ALL]
    \n"; if ( (preg_match("/Maximum System Stats/",$LOGallowed_reports)) or (preg_match("/ALL RELATÓRIOS/",$LOGallowed_reports)) ) { @@ -33150,31 +36114,38 @@ if ($ADD==999992) } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } else @@ -33183,8 +36154,128 @@ if ($ADD==999992) } ##### END max system stats report ##### +##### If report run, update the time in the vicidial_report_log table ##### +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } +###################### +# ADD=999991 display server version info +###################### +if ($ADD==999991) + { + echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls','total call count in and out',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls','total call count in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_inbound_all','total inbound call count',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_inbound_all','total inbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_outbound_all','total outbound call count',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_outbound_all','total outbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_inbound','most concurrent calls inbound total',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_inbound','most concurrent calls inbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_outbound','most concurrent calls outbound total',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_outbound','most concurrent calls outbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_agents','most concurrent agents',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_agents','most concurrent agents',0,$end_date,$download_link); echo "
    \n"; + echo ""; + + echo "
    Administration: Server Version Information

    \n"; + + if ($LOGview_reports==1) + { + if ($reports_only_user < 1) + { + echo "
    \n";
    +
    +			echo "";
    +			echo "\n";
    +
    +			$stmt="SELECT server_id,server_description,server_ip,active,sysload,channels_total,cpu_idle_percent,disk_usage from servers order by server_id;";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$servers_to_print = mysql_num_rows($rslt);
    +			$i=0;
    +			while ($i < $servers_to_print)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$server_id[$i] =			$row[0];
    +				$server_description[$i] =	$row[1];
    +				$server_ip[$i] =			$row[2];
    +				$active[$i] =				$row[3];
    +				$sysload[$i] =				$row[4];
    +				$channels_total[$i] =		$row[5];
    +				$cpu_idle_percent[$i] =		$row[6];
    +				$disk_usage[$i] =			$row[7];
    +				$i++;
    +				}
    +
    +			$o=0;
    +			while ($servers_to_print > $o)
    +				{
    +				$cpu = (100 - $cpu_idle_percent[$o]);
    +				$disk = '';
    +				$disk_ary = explode('|',$disk_usage[$o]);
    +				$disk_ary_ct = count($disk_ary);
    +				$k=0;
    +				while ($k < $disk_ary_ct)
    +					{
    +					$disk_ary[$k] = preg_replace("/^\d* /","",$disk_ary[$k]);
    +					if ($k<1) {$disk = "$disk_ary[$k]";}
    +					else
    +						{
    +						if ($disk_ary[$k] > $disk) {$disk = "$disk_ary[$k]";}
    +						}
    +					$k++;
    +					}
    +				$disk = "$disk%";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +
    +				$s_time=' ';
    +				$s_ver=' ';
    +				$s_info_print='no svn information';
    +				$stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$servertime_to_print = mysql_num_rows($rslt);
    +				if ($servertime_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_time = $row[0];
    +					}
    +				$stmt="SELECT svn_revision,svn_info from servers where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$serverver_to_print = mysql_num_rows($rslt);
    +				if ($serverver_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_ver = $row[0];
    +					$s_info = $row[1];
    +					$s_info_print = preg_replace("/\n/",'
    ',$s_info); + } + if (strlen($s_info_print) < 1) {$s_info_print='no svn information';} + echo ""; + echo ""; + + echo "\n"; + $o++; + } + echo "
    SERVERDESCRIÇÃOIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]$sysload[$o] - $cpu%$channels_total[$o]$disk$s_time$s_ver
     $s_info_print
    \n"; + } + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } +##### END server version info ##### echo "
    \n"; @@ -33200,7 +36291,7 @@ echo "

    "; echo "VERSÃO: $admin_version
    "; echo "BUILD: $build\n"; if (!preg_match("/_BUILD_/",$SShosted_settings)) - {echo "
    © 2012 ViciDial Group
    ";} + {echo "
    © 2013 ViciDial Group
    ";} echo "
    \n"; ?> @@ -33647,7 +36738,27 @@ if (isset($camp_lists)) $CCLsql = "and (called_count < $call_count_limit)"; } - $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL"; + $EXPsql=''; + $expired_lists=''; + $REPORTdate = date("Y-m-d"); + $stmt="SELECT list_id FROM vicidial_lists where list_id IN($camp_lists) and (active='Y') and (expiration_date < \"$REPORTdate\");"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + $f=0; + while ($rslt_rows > $f) + { + $rowx=mysql_fetch_row($rslt); + $expired_lists .= "'$rowx[0]',"; + $f++; + } + $expired_lists = preg_replace("/,$/",'',$expired_lists); + if (strlen($expired_lists) < 2) {$expired_lists = "''";} + $EXPsql = "and list_id NOT IN($expired_lists)"; + + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $EXPsql"; #$DB=1; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/admin_email_accounts.php b/agc_2-X/trunk/LANG_www/vicidial_br/admin_email_accounts.php new file mode 100644 index 00000000..3e3d2a65 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/admin_email_accounts.php @@ -0,0 +1,884 @@ + LICENSE: AGPLv2 +# +# This page manages the inbound email accounts in ViciDial +# +# changes: +# 121214-2245 - First Build +# 130102-1131 - Small admin log change +# 130221-1754 - Added level 8 disable add feature +# + +$admin_version = '2.6-3'; +$build = '130221-1754'; + +$sh="emails"; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["action"])) {$action=$_GET["action"];} + elseif (isset($_POST["action"])) {$action=$_POST["action"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["eact"])) {$eact=$_GET["eact"];} + elseif (isset($_POST["eact"])) {$eact=$_POST["eact"];} +if (isset($_GET["email_account_id"])) {$email_account_id=$_GET["email_account_id"];} + elseif (isset($_POST["email_account_id"])) {$email_account_id=$_POST["email_account_id"];} +if (isset($_GET["email_account_name"])) {$email_account_name=$_GET["email_account_name"];} + elseif (isset($_POST["email_account_name"])) {$email_account_name=$_POST["email_account_name"];} +if (isset($_GET["email_account_description"])) {$email_account_description=$_GET["email_account_description"];} + elseif (isset($_POST["email_account_description"])) {$email_account_description=$_POST["email_account_description"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["email_account_server"])) {$email_account_server=$_GET["email_account_server"];} + elseif (isset($_POST["email_account_server"])) {$email_account_server=$_POST["email_account_server"];} +if (isset($_GET["email_account_user"])) {$email_account_user=$_GET["email_account_user"];} + elseif (isset($_POST["email_account_user"])) {$email_account_user=$_POST["email_account_user"];} +if (isset($_GET["email_account_pass"])) {$email_account_pass=$_GET["email_account_pass"];} + elseif (isset($_POST["email_account_pass"])) {$email_account_pass=$_POST["email_account_pass"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["email_frequency_check_mins"])) {$email_frequency_check_mins=$_GET["email_frequency_check_mins"];} + elseif (isset($_POST["email_frequency_check_mins"])) {$email_frequency_check_mins=$_POST["email_frequency_check_mins"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["default_list_id"])) {$default_list_id=$_GET["default_list_id"];} + elseif (isset($_POST["default_list_id"])) {$default_list_id=$_POST["default_list_id"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["new_account_id"])) {$new_account_id=$_GET["new_account_id"];} + elseif (isset($_POST["new_account_id"])) {$new_account_id=$_POST["new_account_id"];} +if (isset($_GET["source_email_account"])) {$source_email_account=$_GET["source_email_account"];} + elseif (isset($_POST["source_email_account"])) {$source_email_account=$_POST["source_email_account"];} +if (isset($_GET["confirm_deletion"])) {$confirm_deletion=$_GET["confirm_deletion"];} + elseif (isset($_POST["confirm_deletion"])) {$confirm_deletion=$_POST["confirm_deletion"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_account_type"])) {$email_account_type=$_GET["email_account_type"];} + elseif (isset($_POST["email_account_type"])) {$email_account_type=$_POST["email_account_type"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,allow_emails,allow_emails,level_8_disable_add FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_queuemetrics_logging = $row[1]; + $SSenable_vtiger_integration = $row[2]; + $SSqc_features_active = $row[3]; + $SSoutbound_autodial_active = $row[4]; + $SSsounds_central_control_active = $row[5]; + $SSenable_second_webform = $row[6]; + $SSuser_territories_active = $row[7]; + $SScustom_fields_enabled = $row[8]; + $SSadmin_web_directory = $row[9]; + $SSwebphone_url = $row[10]; + $SSfirst_login_trigger = $row[11]; + $SShosted_settings = $row[12]; + $SSdefault_phone_registration_password =$row[13]; + $SSdefault_phone_login_password = $row[14]; + $SSdefault_server_password = $row[15]; + $SStest_campaign_calls = $row[16]; + $SSactive_voicemail_server = $row[17]; + $SSvoicemail_timezones = $row[18]; + $SSdefault_voicemail_timezone = $row[19]; + $SSdefault_local_gmt = $row[20]; + $SScampaign_cid_areacodes_enabled = $row[21]; + $SSpllb_grouping_limit = $row[22]; + $SSdid_ra_extensions_enabled = $row[23]; + $SSexpanded_list_stats = $row[24]; + $SScontacts_enabled = $row[25]; + $SSalt_log_server_ip = $row[26]; + $SSalt_log_dbname = $row[27]; + $SSalt_log_login = $row[28]; + $SSalt_log_pass = $row[29]; + $SStables_use_alt_log_db = $row[30]; + $SSallow_emails = $row[31]; + $SSemail_enabled = $row[32]; + $SSlevel_8_disable_add = $row[33]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $email_account_id = ereg_replace("[^_0-9a-zA-Z]","",$email_account_id); + $email_account_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_name); + $email_account_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_description); + $user_group = ereg_replace("[^_0-9a-zA-Z]","",$user_group); + $protocol = ereg_replace("[^_0-9a-zA-Z]","",$protocol); + $email_account_server = ereg_replace("[^\.\-\_0-9a-zA-Z]","",$email_account_server); + $active = ereg_replace("[^_0-9a-zA-Z]","",$active); + $email_frequency_check_mins = preg_replace("/^0-9/","",$email_frequency_check_mins); + $list_id = ereg_replace("[^0-9]","",$list_id); + + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$add_copy_disabled=0; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_email_accounts='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($webroot_writable > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$user = $PHP_AUTH_USER; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nome ou Senha inválidos: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + if ($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,user_level,user_group,modify_email_accounts from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $LOGuser_level = $row[1]; + $LOGuser_group = $row[2]; + $LOGemails_modify = $row[3]; + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} + + $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGallowed_reports = $row[1]; + $LOGadmin_viewable_groups = $row[2]; + $LOGadmin_viewable_call_times = $row[3]; + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} + $regexLOGadmin_viewable_groups = " $LOGadmin_viewable_groups "; + + $UUgroups_list=''; + if ($admin_viewable_groupsALL > 0) + {$UUgroups_list .= "\n";} + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + $UUgroups_to_print = mysql_num_rows($rslt); + $o=0; + while ($UUgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $UUgroups_list .= "\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + # $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ADMINISTRATION: Dialer-mail campos Conta +<?php + +##### BEGIN Set variables to make header show properly ##### +$ADD = '0'; +$hh = 'admin'; +$sh = 'emails'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$admin_color = '#FFFF99'; +$admin_font = 'BLACK'; +$admin_color = '#E6E6E6'; +$emails_color = '#FFFF99'; +$emails_font = 'BLACK'; +$emails_color = '#C6C6C6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +if ( ($LOGemails_modify < 1) or ($LOGuser_level < 8) ) + { + echo "You are not authorized to view this section\n"; + exit; + } + +if ($SSemail_enabled < 1) + { + echo "ERRO: e-mails de entrada não estão ativos no sistema\n"; + exit; + } + + +$NWB = "   <a href=\"javascript:openNewWindow('admin.php?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"AJUDA\" ALIGN=TOP></A>"; + + +if ($DB > 0) +{ +echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_email_account,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order"; +} + +if ($eact=="DELETE" && $confirm_deletion=="yes" && $email_account_id) + { + $del_stmt="delete from vicidial_email_accounts where email_account_id='$email_account_id'"; + $del_rslt=mysql_query($del_stmt, $link); + $message="ACCOUNT $email_account_id DELETED<BR/>"; + $eact=""; + } + + + +if (($ENVIAR=="ENVIAR" || $ENVIAR=="UPDATE") && $email_account_id) + { + $error_msg=""; + if (!$list_id) {$error_msg.="- Default list ID is inválida ou nula<BR/>";} + if (!$email_account_id) {$error_msg.="- Email account ID is inválida ou nula<BR/>";} + if (!$email_account_name) {$error_msg.="- Email account name is inválida ou nula<BR/>";} + if (!$email_account_server) {$error_msg.="- Email account server is inválida ou nula<BR/>";} + if (!$email_account_user) {$error_msg.="- Email account user is inválida ou nula<BR/>";} + if (!$email_account_pass) {$error_msg.="- Email account password is inválida ou nula<BR/>";} + if (!filter_var($email_replyto_address, FILTER_VALIDATE_EMAIL)) {$error_msg.="- Email reply-to address is inválida ou nula<BR/>";} + + if (!$error_msg) + { + if ($ENVIAR=="ENVIAR") + { + if ($add_copy_disabled > 0) + { + echo "<br>Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } + else + { + $ins_stmt="INSERT INTO vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, email_replyto_address, protocol, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$email_account_id', '$email_account_name', '$email_account_description', '$user_group', '$email_replyto_address', '$protocol', '$email_account_server', '$email_account_user', '$email_account_pass', '$active', '$email_frequency_check_mins', '$group_id', '$default_list_id', '$email_account_type', '$call_handle_method', '$agent_search_method', '$list_id', '$campaign_id')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to create the new account<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NOVA CONTA $email_account_id CRIADO COM SUCESSO"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $upd_stmt="update vicidial_email_accounts set email_account_name='$email_account_name', email_account_description='$email_account_description', user_group='$user_group', protocol='$protocol', email_replyto_address='$email_replyto_address', email_account_server='$email_account_server', email_account_user='$email_account_user', email_account_pass='$email_account_pass', active='$active', email_frequency_check_mins='$email_frequency_check_mins', group_id='$group_id', default_list_id='$default_list_id', email_account_type='$email_account_type', call_handle_method='$call_handle_method', agent_search_method='$agent_search_method', campaign_id='$campaign_id', list_id='$list_id' WHERE email_account_id='$email_account_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to update account $email_account_id<BR/>"; + if($DB>0) {$error_msg.="<B>$upd_stmt</B><BR>";} + } + else + { + $message="ACCOUNT $email_account_id SUCESSO MODIFICADO"; + # $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$upd_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='MODIFY', record_id='$email_account_id', event_code='EMAIL ACCOUNT MODIFIED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } +else if ($ENVIAR=="COPY") + { + $stmt="select * from vicidial_email_accounts where email_account_id='$source_email_account'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) + { + if ($add_copy_disabled > 0) + { + echo "<br>Você não tem permissão para adicionar registros no sistema -system_settings-\n"; + } + else + { + $row=mysql_fetch_array($rslt); + $ins_stmt="insert into vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, protocol, email_replyto_address, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$new_account_id', '$email_account_name', '$row[email_account_description]', '$row[user_group]', '$row[protocol]', '$row[email_replyto_address]', '$row[email_account_server]', '$row[email_account_user]', '$row[email_account_pass]', '$row[active]', '$row[email_frequency_check_mins]', '$row[group_id]','$row[default_list_id]', '$row[email_account_type]', '$row[call_handle_method]','$row[agent_search_method]', '$row[list_id]', '$row[campaign_id]')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- Ocorreu um erro desconhecido ao tentar copiar a nova conta<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NOVA CONTA $new_account_id SUCESSO copiado de $source_email_account<BR/>"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $error_msg="- Error - e-mail de origem não existe<BR/>"; + if($DB>0) {$error_msg.="<B>$stmt</B><BR>";} + } + } + + +################################################################################ +##### BEGIN copy fields to a list form +if ($eact == "COPY") + { + ##### get lists listing for dynamic pulldown + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts order by email_account_id"; + $rsltx=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rsltx); + $accounts_list=''; + $o=0; + if ($accounts_to_print>0) + { + while ($accounts_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $accounts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Conta não COPIADO<BR/>Os dados apresentados têm os seguintes erros:<BR/>$error_msg";} + echo "<br>Copie Nova Conta de Conta Existente<form action='$PHP_SELF' method='GET'>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=action value=COPY_EMAIL_ENVIAR>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID da conta para copiar de: </td><td align=left><select size=1 name=source_email_account>\n"; + echo "$accounts_list"; + echo "</select></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>New ID Conta: </td><td align=left><input type=text name=new_account_id value='$new_account_id' size=10 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Novo Nome da conta: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100>$NWB#vicidial_email_accounts-carrier_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ENVIAR value='COPY'></td></tr>\n"; + echo "</TABLE></center>\n"; + echo "</TD></TR></TABLE>\n"; + } + else + { + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><br>*** Não há contas existentes para copiar a partir de ***\n"; + echo "</TD></TR></TABLE>\n"; + } + } +### END copy fields to a list form +else if ($eact == "ADD") + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Conta não INSERIDO<BR/>Os dados apresentados têm os seguintes erros:<BR/>$error_msg";} + echo "<br>Adicionar Nova Conta-mails recebidos<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email Conta ID: </td><td align=left><input type=text name=email_account_id size=15 maxlength=20 value='$email_account_id'>$NWB#vicidial_email_accounts-email_account_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nome da conta de e-mail: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Ativo: </td><td align=left><select size=1 name=active><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Descrição da Conta: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail Tipo de Conta: </td><td align=left><select size=1 name=email_account_type><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Grupo de Usuários do Administrador: </td><td align=left><select size=1 name=user_group>\n"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Todos os Grupos de Usuários de Admin</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Conta Protocolo: </td><td align=left><select size=1 name=protocol><option SELECTED>IMAP</option><option>POP3</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail Endereço de Resposta: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email conta do servidor: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail de Conta de Usuário: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail a senha da conta: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">No Grupo ID</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "</select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Padrão Lista de ID</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Método de Manuseio de Chamada Entrante:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Método de Busca de Agente p/ Ch. Entr.:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID da Lista de Entrada:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID da Campanha de Entrada:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ENVIAR VALUE=ENVIAR><input type=hidden name='eact' value='ADD'></td></tr>\n"; + echo "</TABLE></center></form>\n"; + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } +else if (($eact=="DELETE" || $eact=="UPDATE") && $email_account_id) + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT * from vicidial_email_accounts where email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_array($rslt); + + $email_account_id=$row["email_account_id"]; + $email_account_name=$row["email_account_name"]; + $email_account_description=$row["email_account_description"]; + $user_group=$row["user_group"]; + $protocol=$row["protocol"]; + $email_replyto_address=$row["email_replyto_address"]; + $email_account_server=$row["email_account_server"]; + $email_account_user=$row["email_account_user"]; + $email_account_pass=$row["email_account_pass"]; + $active=$row["active"]; + $email_frequency_check_mins=$row["email_frequency_check_mins"]; + $group_id=$row["group_id"]; + $call_handle_method=$row["call_handle_method"]; + $agent_search_method=$row["agent_search_method"]; + $campaign_id=$row["campaign_id"]; + $list_id=$row["list_id"]; + $default_list_id=$row["default_list_id"]; + $email_account_type=$row["email_account_type"]; + + if ($eact=="DELETE" && $email_account_id) + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><B>Confirmar a exclusão do INBOUND conta de email $email_account_id</B><BR>\n"; + echo "<a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id&confirm_deletion=yes'>Clique para excluir conta $email_account_id</a>\n"; + echo "</font>"; + } + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + ## Get unhandled count + $stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $unhandled_emails=$row[0]; + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + if ($error_msg) {echo "Conta não ATUALIZADA<BR/>Os dados apresentados têm os seguintes erros:<BR/>$error_msg";} + echo "<br>Atualizar uma conta existente e-mails recebidos<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email Conta ID: </td><td align=left><input type=hidden name=email_account_id value='$email_account_id'><B>$email_account_id$NWB#vicidial_email_accounts-email_account_id$NWE</B></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nome da conta de e-mail: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Ativo: </td><td align=left><select size=1 name=active>"; + echo "<option value='$active' selected>$active</option>"; + echo "<option>Y</option><option>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Descrição da Conta: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail Tipo de Conta: </td><td align=left><select size=1 name=email_account_type><option value='$email_account_type' selected>$email_account_type</option><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Grupo de Usuários do Administrador: </td><td align=left><select size=1 name=user_group>\n"; + echo "<option value='$user_group' selected>$user_group</option>"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Todos os Grupos de Usuários de Admin</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Conta Protocolo: </td><td align=left><select size=1 name=protocol><option>IMAP</option><option>POP3</option><option SELECTED>$protocol</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail Endereço de Resposta: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email conta do servidor: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail de Conta de Usuário: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail a senha da conta: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + echo "<option value='$email_frequency_check_mins' selected>$email_frequency_check_mins</option>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=3811&group_id=$group_id\">No Grupo ID</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "<option value='$group_id' selected>$group_id</option></select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Padrão Lista de ID</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + +############### + echo "<tr bgcolor=#B6D3FC><td align=right>Método de Manuseio de Chamada Entrante:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Método de Busca de Agente p/ Ch. Entr.:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID da Lista de Entrada:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID da Campanha de Entrada:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Os e-mails não-tratados: </td><td align=left><B>$unhandled_emails</B></td></tr>\n"; +################ + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ENVIAR VALUE=UPDATE><input type=hidden name='eact' value='UPDATE'></td></tr>\n"; + echo "</TABLE><BR><BR>"; + if ($LOGuser_level >= 9) + { + echo "<br><br><a href=\"admin.php?ADD=720000000000000&category=EMAIL&stage=$email_account_id\">Clique aqui para ver as mudanças de administrador para este registro</FONT>\n"; + } + echo "<BR><BR><a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id'>DELETE EMAIL ACCOUNT</a></center></form>\n"; + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } +else + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + echo "<br>ENTRADA EMAIL LISTAS CONTA:\n"; + echo "<center><TABLE width=750 cellspacing=0 cellpadding=1>\n"; + echo "<TR BGCOLOR=BLACK>\n"; + echo "<TD><font size=1 color=white>ACCOUNT ID</TD>\n"; + echo "<TD><font size=1 color=white>ACCOUNT NAME</TD>\n"; + echo "<TD><font size=1 color=white>DESCRIÇÃO</TD>\n"; + echo "<TD><font size=1 color=white>REPLY-TO ADDRESS</TD>\n"; + echo "<TD><font size=1 color=white>PROTOCOL</TD>\n"; + echo "<TD><font size=1 color=white>SERVER</TD>\n"; + echo "<TD><font size=1 color=white>FREQUENCY</TD>\n"; + echo "<TD><font size=1 color=white>ATIVO</TD>\n"; + echo "<TD><font size=1 color=white>-Mails não lidos</TD>\n"; + echo "<TD><font size=1 color=white>ALTERAR</TD></tr>\n"; + + $stmt="SELECT email_account_id, email_account_name, email_account_description, email_replyto_address, protocol, email_account_server, email_frequency_check_mins, active from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $rslt=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rslt); + $o=0; + while ($accounts_to_print > $o) + { + $row=mysql_fetch_array($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$row[email_account_id]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<tr $bgcolor><td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">$row[email_account_id]</a></font></td>"; + echo "<td><font size=1> $row[email_account_name]</font></td>"; + echo "<td><font size=1> $row[email_account_description]</font></td>"; + echo "<td><font size=1> $row[email_replyto_address]</font></td>"; + echo "<td><font size=1> $row[protocol]</font></td>"; + echo "<td><font size=1> $row[email_account_server]</font></td>"; + echo "<td><font size=1> $row[email_frequency_check_mins] mins</font></td>"; + echo "<td><font size=1> $row[active]</font></td>"; + echo "<td><font size=1> $unhandled_emails</font></td>"; + echo "<td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">ALTERAR</a></font></td></tr>\n"; + $o++; + } + + echo "</table></font>"; + } + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $STARTtime); +echo "\n\n\n<br><br><br>\n<font size=1> runtime: $RUNtime seconds         Versão: $admin_version     Build: $build</font>"; + +?> + +</body> +</html> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/admin_header.php b/agc_2-X/trunk/LANG_www/vicidial_br/admin_header.php index 0bf50e3c..c8ac49de 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/admin_header.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/admin_header.php @@ -1,7 +1,7 @@ <?php # admin_header.php - VICIDIAL administration header # -# Copyright (C) 2012 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 # # CHANGES @@ -37,6 +37,10 @@ # 111106-0939 - Changes for user group restrictions # 111116-0208 - Added ALT and ADDR3 in-group handle methods # 120402-2134 - Changed lead loader link to fourth gen +# 121116-1412 - Added QC functionality +# 121123-0911 - Added Call Times Holidays Inbound functionality +# 121214-2238 - Added email menus +# 130221-1830 - Added Level 8 disable add option # @@ -50,13 +54,14 @@ if($short_header) ?> <TD>   <A HREF="admin.php" ALT="Usuários"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Usuários</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10" ALT="Campanhas"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Campanhas</B></A>   </TD> + <?php include 'qc/QC_header_include02.php'; ?> <TD>   <A HREF="admin.php?ADD=100" ALT="Listas"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Listas</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000000" ALT="Scripts"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Scripts</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000000" ALT="Filtros"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Filtros</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000" ALT="Inbound"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Inbound</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=100000" ALT="Grupos de Usuário"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Grupos de Usuário</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000" ALT="Agentes Remotos"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Agentes Remotos</B></A>   </TD> - <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Admin</B></A>   </TD> + <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B> Admin </B></A>   </TD> <?php } else @@ -110,6 +115,7 @@ if ($hh=='admin') if ($hh=='reports') {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} +include('qc/QC_header_include01.php'); echo "\n"; echo ""; $field_check=explode($delimiter, $buffer); flush(); -} else if ($form_action=="update_template") { + } +else if ($form_action=="update_template") + { echo "Hi"; -} else { + } +else + { + if ( (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) or (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$sample_template_file_name)) ) + { + echo "ERROR: Invalid File Name: $LF_orig $sample_template_file_name\n"; + exit; + } # echo "** $form_action"; die; $fields_stmt = "SELECT list_id, vendor_lead_code, source_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, rank, owner from vicidial_list limit 1"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/list_download.php b/agc_2-X/trunk/LANG_www/vicidial_br/list_download.php index bca60e8e..64c6f68e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/list_download.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/list_download.php @@ -4,7 +4,7 @@ # downloads the entire contents of a vicidial list ID to a flat text file # that is tab delimited # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,13 @@ # 100924-1609 - Added ALL-LISTS option for downloading everything # 100929-1919 - Fixed ALL-LISTS download option to include custom fields # 101004-2108 - Added generic custom column headers for custom fields +# 120713-2110 - Added extended_vl_fields option +# 120907-1217 - Raised extended fields up to 99 +# 130414-0228 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -91,6 +87,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$list_id, $group_id, $download_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -112,6 +137,16 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL exit; } +if (file_exists('options.php')) + {require('options.php');} +$extended_vl_fields_SQL=''; +$extended_vl_fields_HEADER=''; +if ($extended_vl_fields > 0) + { + $extended_vl_fields_SQL = ',q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31,q32,q33,q34,q35,q36,q37,q38,q39,q40,q41,q42,q43,q44,q45,q46,q47,q48,q49,q50,q51,q52,q53,q54,q55,q56,q57,q58,q59,q60,q61,q62,q63,q64,q65,q66,q67,q68,q69,q70,q71,q72,q73,q74,q75,q76,q77,q78,q79,q80,q81,q82,q83,q84,q85,q86,q87,q88,q89,q90,q91,q92,q93,q94,q95,q96,q97,q98,q99'; + $extended_vl_fields_HEADER = "\tq01\tq02\tq03\tq04\tq05\tq06\tq07\tq08\tq09\tq10\tq11\tq12\tq13\tq14\tq15\tq16\tq17\tq18\tq19\tq20\tq21\tq22\tq23\tq24\tq25\tq26\tq27\tq28\tq29\tq30\tq31\tq32\tq33\tq34\tq35\tq36\tq37\tq38\tq39\tq40\tq41\tq42\tq43\tq44\tq45\tq46\tq47\tq48\tq49\tq50\tq51\tq52\tq53\tq54\tq55\tq56\tq57\tq58\tq59\tq60\tq61\tq62\tq63\tq64\tq65\tq66\tq67\tq68\tq69\tq70\tq71\tq72\tq73\tq74\tq75\tq76\tq77\tq78\tq79\tq80\tq81\tq82\tq83\tq84\tq85\tq86\tq87\tq88\tq89\tq90\tq91\tq92\tq93\tq94\tq95\tq96\tq97\tq98\tq99"; + } + $LOGallowed_campaignsSQL=''; if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) { @@ -304,13 +339,13 @@ else { $TXTfilename = "LIST_$list_id$US$FILE_TIME.txt"; $list_id_header=''; - $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id='$list_id';"; + $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id='$list_id';"; if ($list_id=='ALL-LISTS') { $list_id_header="list_id\t"; - $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id > 0;"; + $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id > 0;"; } - $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner"; + $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner$extended_vl_fields_HEADER"; $header_columns=''; } @@ -342,16 +377,21 @@ while ($i < $leads_to_print) else { $row[29] = preg_replace("/\n|\r/",'!N',$row[29]); + $extended_vl_fields_DATA=''; if ($list_id=='ALL-LISTS') { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[33]\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]$extended_vl_fields_DATA"; $export_list_id[$i] = $row[0]; $export_lead_id[$i] = $row[1]; } else { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]\t$row[132]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]$extended_vl_fields_DATA"; $export_list_id[$i] = $list_id; $export_lead_id[$i] = $row[0]; } @@ -480,14 +520,6 @@ if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') ) } -### LOG INSERTION Admin Log Table ### -$SQL_log = "$stmt|$stmtA|"; -$SQL_log = ereg_replace(';','',$SQL_log); -$SQL_log = addslashes($SQL_log); -$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; -if ($DB) {echo "|$stmt|\n";} -$rslt=mysql_query($stmt, $link); - echo "$header_row$header_columns\r\n"; @@ -499,6 +531,33 @@ while ($i < $leads_to_print) $i++; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +### LOG INSERTION Admin Log Table ### +$SQL_log = "$stmt|$stmtA|"; +$SQL_log = ereg_replace(';','',$SQL_log); +$SQL_log = addslashes($SQL_log); +$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/non_agent_api.php b/agc_2-X/trunk/LANG_www/vicidial_br/non_agent_api.php index a4a8d34e..a59b4ffe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/non_agent_api.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/non_agent_api.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed as an API(Application Programming Interface) to allow # other programs to interact with all non-agent-screen VICIDIAL functions @@ -65,10 +65,20 @@ # 120213-1613 - Added optional logging of all non-admin.php requests, enabled in options.php # 120315-1537 - Added filter for single-quotes and backslashes on custom field data # 120326-1317 - Added agent_stats_export function +# 120810-0859 - Added add_group_alias function, altered agent_stats_export function +# 120831-1529 - Added vicidial_dial_log outbound call logging +# 120912-2042 - Added user_group_status and in_group_status functions +# 120913-1255 - Added update_log_entry function +# 121116-1938 - Added state call time restrictions to add_lead hopper insert function +# 121125-2210 - Added Other Campaign DNC option and list expiration date option +# 130328-0949 - Added update_phone_number option to update_lead function, issue #653 +# 130405-1539 - Added agent_status function +# 130414-0311 - Added report logging for blind_monitor function +# 130420-1938 - Added NANPA prefix validation and timezone options # -$version = '2.4-43'; -$build = '120326-1317'; +$version = '2.6-53'; +$build = '130420-1938'; $api_url_log = 0; $startMS = microtime(); @@ -88,6 +98,8 @@ if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["update_phone_number"])) {$update_phone_number=$_GET["update_phone_number"];} + elseif (isset($_POST["update_phone_number"])) {$update_phone_number=$_POST["update_phone_number"];} if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} @@ -298,6 +310,26 @@ if (isset($_GET["datetime_end"])) {$datetime_end=$_GET["datetime_end"];} elseif (isset($_POST["datetime_end"])) {$datetime_end=$_POST["datetime_end"];} if (isset($_GET["time_format"])) {$time_format=$_GET["time_format"];} elseif (isset($_POST["time_format"])) {$time_format=$_POST["time_format"];} +if (isset($_GET["group_alias_id"])) {$group_alias_id=$_GET["group_alias_id"];} + elseif (isset($_POST["group_alias_id"])) {$group_alias_id=$_POST["group_alias_id"];} +if (isset($_GET["group_alias_name"])) {$group_alias_name=$_GET["group_alias_name"];} + elseif (isset($_POST["group_alias_name"])) {$group_alias_name=$_POST["group_alias_name"];} +if (isset($_GET["caller_id_number"])) {$caller_id_number=$_GET["caller_id_number"];} + elseif (isset($_POST["caller_id_number"])) {$caller_id_number=$_POST["caller_id_number"];} +if (isset($_GET["caller_id_name"])) {$caller_id_name=$_GET["caller_id_name"];} + elseif (isset($_POST["caller_id_name"])) {$caller_id_name=$_POST["caller_id_name"];} +if (isset($_GET["user_groups"])) {$user_groups=$_GET["user_groups"];} + elseif (isset($_POST["user_groups"])) {$user_groups=$_POST["user_groups"];} +if (isset($_GET["in_groups"])) {$in_groups=$_GET["in_groups"];} + elseif (isset($_POST["in_groups"])) {$in_groups=$_POST["in_groups"];} +if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} + elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_GET["nanpa_ac_prefix_check"];} + elseif (isset($_POST["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_POST["nanpa_ac_prefix_check"];} header ("Content-type: text/html; charset=utf-8"); @@ -327,6 +359,7 @@ if ($non_latin < 1) $format = ereg_replace("[^0-9a-zA-Z]","",$format); $list_id = ereg_replace("[^0-9]","",$list_id); $phone_code = ereg_replace("[^0-9]","",$phone_code); + $update_phone_number=ereg_replace("[^A-Z]","",$update_phone_number); $phone_number = ereg_replace("[^0-9]","",$phone_number); $vendor_lead_code = ereg_replace(";","",$vendor_lead_code); $vendor_lead_code = ereg_replace("\+"," ",$vendor_lead_code); @@ -442,6 +475,16 @@ if ($non_latin < 1) $datetime_start = ereg_replace("[^- \+\:\_0-9]","",$datetime_start); $datetime_end = ereg_replace("[^- \+\:\_0-9]","",$datetime_end); $time_format = ereg_replace("[^A-Z]","",$time_format); + $group_alias_id = ereg_replace("[^\_0-9a-zA-Z]","",$group_alias_id); + $group_alias_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$group_alias_name); + $caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); + $caller_id_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$caller_id_name); + $user_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$user_groups); + $in_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$in_groups); + $call_id = ereg_replace("[^0-9a-zA-Z]","",$call_id); + $group = ereg_replace("[^-\|\_0-9a-zA-Z]","",$group); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $nanpa_ac_prefix_check = ereg_replace("[^A-Z]","",$nanpa_ac_prefix_check); } else { @@ -451,6 +494,7 @@ else } $USarea = substr($phone_number, 0, 3); +$USprefix = substr($phone_number, 3, 3); if (strlen($hopper_priority)<1) {$hopper_priority=0;} if ($hopper_priority < -99) {$hopper_priority=-99;} if ($hopper_priority > 99) {$hopper_priority=99;} @@ -535,7 +579,7 @@ if ($function == 'version') ################################################################################ if ($function == 'sounds_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; if ($DB>0) {echo "DEBUG: sounds_list query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -556,10 +600,11 @@ if ($function == 'sounds_list') if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} $admDIR = "$HTTPprotocol$server_name:$server_port"; + $admin_web_dir=''; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### - $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory FROM system_settings;"; + $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory,admin_web_directory FROM system_settings;"; $rslt=mysql_query($stmt, $link); $ss_conf_ct = mysql_num_rows($rslt); if ($ss_conf_ct > 0) @@ -569,6 +614,9 @@ if ($function == 'sounds_list') $sounds_central_control_active = $row[1]; $sounds_web_server = $row[2]; $sounds_web_directory = $row[3]; + $admin_web_directory = $row[4]; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} } ##### END SETTINGS LOOKUP ##### ########################################### @@ -631,7 +679,7 @@ if ($function == 'sounds_list') if (eregi('tab',$format)) {echo "$k\t$file_names[$m]\t$file_dates[$m]\t$file_sizes[$m]\t$file_epoch[$m]\n";} if (eregi('link',$format)) - {echo "$file_names[$m]
    \n";} + {echo "$file_names[$m]
    \n";} if (eregi('selectframe',$format)) { if ($sf < 1) @@ -674,7 +722,7 @@ if ($function == 'sounds_list') echo "
    $file_names[$m]$file_dates[$m]$file_sizes[$m]PLAY
    PLAY
    \n"; + echo ""; +//SELECT campaign_id,campaign_name from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name"; +// echo $stmt="SELECT conf_exten,server_ip,extension from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + + echo "
    VICIDIAL QUALITY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IDCAMPANHA NAMEQC STATUSALTERAR
    $row[0] $row[1] $row[2]ALTERAR
    \n"; +} +###################### +# ADD=881 VIEW one qc campaign +###################### +if (($ADD==881) && ($qc_auth=='1')) { + echo " + + + 1) { + ?> +> + + +> + + +> + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include01.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include01.php new file mode 100644 index 00000000..4cbe0593 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include01.php @@ -0,0 +1,16 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include02.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include02.php new file mode 100644 index 00000000..7146b839 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include02.php @@ -0,0 +1,17 @@ + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_status_codes_include.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_status_codes_include.php new file mode 100644 index 00000000..3b2ee5af --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_status_codes_include.php @@ -0,0 +1,140 @@ +"; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CÓDIGO DE STATUS CQ NÃO INCLUÍDO- já existe um código de status cq no sistema com esse nome: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    CÓDIGO DE STATUS CQ NÃO INCLUÍDO- Por favor, volte e verifique os dados digitados\n"; + echo "
    código deve ter entre 1 e 8 caracteres de comprimento\n"; + echo "
    nome do código deve ter entre 2 e 30 caracteres de comprimento\n"; + } + else + { + echo "
    CÓDIGO DE STATUS CQ ADICIONADO:$code_name - $code\n"; + if (isset($_POST["qc_category"])) {$qc_category=$_POST["qc_category"];} + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) values('$code','$code_name','$qc_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUS', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111111; + } + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) + { + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=341111111111111"; + $modify_footer_refrescar=1; + } + echo "
    \n"; + echo ""; + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' and campaign_id='$campaign_id' limit 1"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + $o++; + } + $qc_status_list=substr($row[2],0,strlen($row[2])-2); + + echo "
    $campaign_id - {$row[1]} - Controle de qualidade Queue
    QC statuses: $qc_status_list\n"; + + $qc_statuses=explode(' ',$qc_status_list); + echo "
    \n"; + foreach ( $qc_statuses as $qc_status ) { + $stmt="SELECT lead_id,first_name,last_name,modify_date,user from vicidial_list inner join vicidial_lists on vicidial_list.list_id=vicidial_lists.list_id where campaign_id='$campaign_id' and status='$qc_status' order by status, modify_date"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + if($o==0){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + $lead_name=trim($row[1].' '.$row[2]); + $lead_nameENC=urlencode($lead_name); + if (strlen($lead_name)<1) $lead_name='No Name'; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + } + echo "
    $qc_status ($vicidialconf_to_print)LEAD IDNOMELast ModifiedUsuárioID
      $row[0]$lead_name $row[3]$row[4]
    \n"; +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include02.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include02.php new file mode 100644 index 00000000..75356b19 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_include02.php @@ -0,0 +1,34 @@ + 1 and active='Y' and qc_enabled='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$qc_auth=$row[0]; +//Not "qc_" as it will interfere with ADD=4A storage of modified user. +if ($qc_auth=='1') { + $qcuser_level=$row[1]; + $qcpass=$row[2]; + $qcfinish=$row[3]; + $qccommit=$row[4]; +} +//Alterarmenuing to allow qc users into the system (if they have no permission otherwise) +//Copied Relatórios-Only user setup for QC-Only user (Poundteam QC setup) +$qc_only_user=0; +if ( ($qc_auth > 0) and ($auth < 1) ) + { + if ($ADD != '881'){ + $ADD=100000000000000; + } + $qc_only_user=1; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_modify_lead_include.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_modify_lead_include.php new file mode 100644 index 00000000..1b45daad --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_modify_lead_include.php @@ -0,0 +1,20 @@ + 0) + { + echo "

    Click here to QC Alterarthis lead\n"; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_variables.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_variables.php new file mode 100644 index 00000000..f99255fb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_admin_variables.php @@ -0,0 +1,15 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nome ou Senha inválidos: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Cidade'; +$label_state = 'State'; +$label_province = 'Província'; +$label_postal_code = 'CEP'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sexo'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Comentários'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} +include('QC_call_client_include.php'); +$qc_user_logged_in=is_user_logged_in($PHP_AUTH_USER); +if ($qc_user_logged_in===true){ + echo "Call Lead"; +} else { + echo "$qc_user_logged_in"; +} +echo " Refresh"; + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_call_client_include.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_call_client_include.php new file mode 100644 index 00000000..52167dae --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_call_client_include.php @@ -0,0 +1,45 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include.php new file mode 100644 index 00000000..a535a1d8 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/QC_header_include.php @@ -0,0 +1,42 @@ + + + +
    > + SIZE=> Controle de qualidade +
      + > Show QC Campanhas +
      + > Enter QC Queue +
      + > AlterarQC Codes +
      Controle de qualidade  
    "; + $alts_output .= ""; + $alts_output .= ""; + $alts_output .= "\n"; + $alts_output .= "\n"; + $alts_output .= "\n"; + } + + } + else + { + echo "procura de registro FALHOU para este lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + ##### grab vicidial_log records ##### + $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + if($DB) echo __LINE__."
    \n"; + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= ""; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select agent_log_id,user,server_ip,event_time,lead_id,campaign_id,pause_epoch,pause_sec,wait_epoch,wait_sec,talk_epoch,talk_sec,dispo_epoch,dispo_sec,status,user_group,comments,sub_status from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_qc_agent_log records ##### + //Differentiate between View and Mod + $stmt="select * from vicidial_qc_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by qc_agent_log_id desc limit 100;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo "$stmt
    \n"; + $y=0; + $qc_agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_assoc($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + if (strlen($row['save_epoch'])=='0'){ //VIEW ONLY record + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } else { // CHANGE record + $detailtooltip=str_replace("\n", " ", $row['details']); // tool tip line break and both work in IE, but not firefox. + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } + } + + ##### grab vicidial_closer_log records ##### + $stmt="select closecallid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,queue_seconds,user_group,xfercallid,term_reason,uniqueid,agent_only from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$lead_id = $row[0];} + $dispo = $row[3]; + $tsr = $row[4]; + $vendor_id = $row[5]; + $list_id = $row[7]; + $gmt_offset_now = $row[8]; + $phone_code = $row[10]; + $phone_number = $row[11]; + $title = $row[12]; + $first_name = $row[13]; + $middle_initial = $row[14]; + $last_name = $row[15]; + $address1 = $row[16]; + $address2 = $row[17]; + $address3 = $row[18]; + $city = $row[19]; + $state = $row[20]; + $province = $row[21]; + $postal_code = $row[22]; + $country_code = $row[23]; + $gender = $row[24]; + $date_of_birth = $row[25]; + $alt_phone = $row[26]; + $email = $row[27]; + $security = $row[28]; + $comments = $row[29]; + $called_count = $row[30]; + $last_local_call_time = $row[31]; + $rank = $row[32]; + $owner = $row[33]; + $entry_list_id = $row[34]; + + if($DB) { + echo __LINE__."\n"; + } + echo "
    Informações da Chamada: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "CÓDIGOS DE STATUS DE CQ NESTE SISTEMA VICIDIAL:  $NWB#vicidial_qc_status_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
    STATUS CODEDESCRIÇÃOQC CATEGORIAMODIFY/DELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    $rowx[2]         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "APAGAR\n"; + } + else + { + echo "APAGAR\n"; + } + echo "
    \n"; + + echo "
    INCLUIR CÓDIGO DE CQ
    \n"; + echo "\n"; + echo "Status:   \n"; + echo "Descrição: \n"; + echo "QC Categoria:
    \n"; + + echo "

    \n"; + + } + else + { + echo "Você não tem permissão para ver esta página\n"; + exit; + } + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/audit_comments.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/audit_comments.php new file mode 100644 index 00000000..cee5fc34 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentários2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentários3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentários4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentáriosERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentários5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComentários:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComentários',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComentários $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComentários UsuárioID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UsuárioID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComentários Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_api.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_api.php new file mode 100644 index 00000000..8255baa5 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_api.php @@ -0,0 +1,627 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$ingroup_choices = ereg_replace("\+"," ",$ingroup_choices); +$query_string = ereg_replace("'|\"|\\\\|;","",$query_string); + +if ($non_latin < 1) + { + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $agent_user=ereg_replace("[^0-9a-zA-Z]","",$agent_user); + $function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); + $value = ereg_replace("[^-\_0-9a-zA-Z]","",$value); + $vendor_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vendor_id); + $focus = ereg_replace("[^-\_0-9a-zA-Z]","",$focus); + $preview = ereg_replace("[^-\_0-9a-zA-Z]","",$preview); + $notes = ereg_replace("\+"," ",$notes); + $notes = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$notes); + $phone_code = ereg_replace("[^0-9X]","",$phone_code); + $search = ereg_replace("[^-\_0-9a-zA-Z]","",$search); + $group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); + $dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); + $source = ereg_replace("[^0-9a-zA-Z]","",$source); + $format = ereg_replace("[^0-9a-zA-Z]","",$format); + $vtiger_callback = ereg_replace("[^A-Z]","",$vtiger_callback); + $blended = ereg_replace("[^A-Z]","",$blended); + $ingroup_choices = ereg_replace("[^ -\_0-9a-zA-Z]","",$ingroup_choices); + $set_as_default = ereg_replace("[^A-Z]","",$set_as_default); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $address1 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address1); + $address2 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address2); + $address3 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address3); + $alt_phone = ereg_replace("[^ -\_0-9a-zA-Z]","",$alt_phone); + $city = ereg_replace("[^ -\_0-9a-zA-Z]","",$city); + $comments = ereg_replace("[^ -\_0-9a-zA-Z]","",$comments); + $country_code = ereg_replace("[^A-Z]","",$country_code); + $date_of_birth = ereg_replace("[^ -\_0-9]","",$date_of_birth); + $email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); + $first_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$first_name); + $gender = ereg_replace("[^A-Z]","",$gender); + $gmt_offset_now = ereg_replace("[^ \.-\_0-9]","",$gmt_offset_now); + $last_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$last_name); + $lead_id = ereg_replace("[^0-9]","",$lead_id); + $middle_initial = ereg_replace("[^ -\_0-9a-zA-Z]","",$middle_initial); + $province = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$province); + $security_phrase = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$security_phrase); + $source_id = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$source_id); + $state = ereg_replace("[^ -\_0-9a-zA-Z]","",$state); + $title = ereg_replace("[^ -\_0-9a-zA-Z]","",$title); + $vendor_lead_code = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$vendor_lead_code); + $rank = ereg_replace("[^-0-9]","",$rank); + $owner = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$owner); + $dial_override = ereg_replace("[^A-Z]","",$dial_override); + $consultative = ereg_replace("[^A-Z]","",$consultative); + } +else + { + $user = ereg_replace("'|\"|\\\\|;","",$user); + $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $source = ereg_replace("'|\"|\\\\|;","",$source); + $agent_user = ereg_replace("'|\"|\\\\|;","",$agent_user); + $alt_user = ereg_replace("'|\"|\\\\|;","",$alt_user); + } + +### date and fixed variables +$epoch = date("U"); +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$api_script = 'agent'; +$api_logging = 1; +if ($consultative != 'YES') {$consultative='NO';} + + +################################################################################ +### BEGIN - version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "VERSÃO: $version|BUILD: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } +################################################################################ +### END - version +################################################################################ + + + + + +################################################################################ +### BEGIN - user validation section (most functions run through this first) +################################################################################ + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + $result = 'ERROR'; + $result_reason = "Nome ou Senha inválidos"; + echo "$result: $result_reason: |$user|$pass|$auth|\n"; + $data = "$user|$pass|$auth"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from system_settings where vdc_agent_api_active='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + $result = 'ERROR'; + $result_reason = "System API NOT ACTIVE"; + echo "$result: $result_reason\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + # do nothing for now + } + } + } + } + +if ($format=='debug') + { + $DB=1; + echo "\n"; + echo "\n"; + echo "";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_dial function set"; + $data = "$phone_code|$search|$preview|$focus|$vendor_id|$epoch|$dial_prefix|$group_alias|$caller_id_number"; + echo "$result: Dispo in Agent Screen FIRST.\n"; + // echo "$result: $result_reason - $value|$agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not allowed to place manual dial calls"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not paused"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + +// external_dial +################################################################################ +### END - external_dial +################################################################################ + + + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + + +##### FUNCTIONS ##### + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) + { + if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } + return 1; + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_modify_lead.php b/agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_modify_lead.php new file mode 100644 index 00000000..7ddc9850 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_br/qc/qc_modify_lead.php @@ -0,0 +1,1294 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nome ou Senha inválidos: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads,user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + $LOGuser_group =$row[2]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Cidade'; +$label_state = 'State'; +$label_province = 'Província'; +$label_postal_code = 'CEP'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sexo'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Comentários'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} + + +//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + +$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; +$rslt=mysql_query($stmt, $link); +if (mysql_num_rows ($rslt) < '1' ){ + if($DB) { echo "$stmt\n"; } + exit(); + } +$row=mysql_fetch_assoc($rslt); +$original_record=$row; +$campaign_id =$row['campaign_id']; +$campaign_name =$row['campaign_name']; +$phone_number =$row['phone_number']; +$phone_code =$row['phone_code']; +$lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); +$scheduled_callback =$row['scheduled_callback']; + +?> + + + +QC AlterarLead: <?php echo "$lead_id - ".urldecode($lead_name).urldecode(" (Campanha: $campaign_id - $campaign_name)"); ?> + + + + + +QC CAMPANHA $campaign_id: Lead $lead_id - ".urldecode($lead_name)."
    \n"; +//end_call is set by submit button to denote "save", without it this is a VIEW, with it this is a SAVE +if ($end_call > 0) { + if($DB) { echo __LINE__."\n"; } + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',title='" . mysql_real_escape_string($title) . "',first_name='" . mysql_real_escape_string($first_name) . "',middle_initial='" . mysql_real_escape_string($middle_initial) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',rank='" . mysql_real_escape_string($rank) . "',owner='" . mysql_real_escape_string($owner) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + //STATUS just changed, re-capture all data for client! + //Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + $stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; + if($DB) { echo "$stmt\n"; } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_assoc($rslt); + //QUALITY CONTROL CHANGE LOG BEGIN - CHANGE VERSÃO (VIEW VERSÃO IS BELOW, WHICH CREATES THE RECORD, THIS ONE MERELY MODIFIES THE EXISTING RECORD) + $new_record=$row; + //if status has changed, the join query above will have the "status" field of "vicidial_list" overwritten by the status field of "vicidial_statuses" ... which will be EMPTY if there is no matching status to the new QC status chosen. This will cause the changelog to be incorrect. + if ( strlen($new_record['status']) == '0' ) { + $new_record['status']=$new_record['code']; + } + + if($original_record != $new_record) { + //Information changed: Find out what and record it, first disable "view" logging + $qcchange='Y'; + $qcchangelist=''; + $qcchangecounter=0; + foreach($original_record as $key=>$value){ + //only list the changes in the first 35 fiels, those are from the vicidial_list table (the rest are from joined tables, and the changes cascade) + if(($new_record[$key]!=$value)&&($qcchangecounter<=35)) $qcchangelist.="----$key----\n$value => $new_record[$key]\n"; + $qcchangecounter++; + } + ### insert a NEW record to the vicidial_closer_log table + $qcchangelist=mysql_real_escape_string($qcchangelist); + $view_epoch = ereg_replace("[^0-9]","",$_POST['viewtime']); + $elapsed_seconds=$STARTtime-$view_epoch; + + $stmt="UPDATE vicidial_qc_agent_log set save_datetime='$NOW_TIME',save_epoch='$STARTtime',elapsed_seconds='$elapsed_seconds',old_status='{$original_record['status']}',new_status='{$new_record['status']}',details='$qcchangelist' + where view_epoch='$view_epoch' and lead_id='$lead_id'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL CHANGE LOG END + $original_sales_rep=$row['user']; + $campaign_id =$row['campaign_id']; + $campaign_name =$row['campaign_name']; + $lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); + $scheduled_callback =$row['scheduled_callback']; + + echo "
    Informação Alterada

    \n"; + echo "Go back to re-modify this QC lead


    \n"; + echo "
    Proceed to QC CAMPANHA $campaign_id Queue

    Callback Information:\n"; + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if($DB) { + echo __LINE__."\n"; + } + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='ANYONE',status='ACTIVE',user='$PHP_AUTH_USER',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + //This entry creates the callback + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='USERONLY',status='ACTIVE',user='$original_sales_rep',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + $debug1=$stmt; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + if($DB) echo __LINE__."\n"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + } else { + echo "\n"; + //Not a "Submit" result, viewing the record (possibly with URL options such as those below which modify callback status but not record data) + if ($CBchangeUSERtoANY == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an ANYONE callback for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to ANYONE
    \n"; + $qcchange='Y'; + } + if ($CBchangeUSERtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to a different USERONLY callback record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeANYtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an USERONLY callback for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeDATE == 'YES') { + if($DB) echo __LINE__."\n"; + ### change date/time of vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set callback_time='" . mysql_real_escape_string($appointment_date) . " " . mysql_real_escape_string($appointment_time) . "',comments='" . mysql_real_escape_string($comments) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to $appointment_date $appointment_time
    \n"; + $qcchange='Y'; + } + //QUALITY CONTROL LOGGING BEGIN - VIEW ONLY + //If no changes have been made, record "view" of this record. + if ($qcchange != 'Y') { + if($DB) echo __LINE__."\n QCCHANGE != Y"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_qc_agent_log (qc_user,qc_user_group,qc_user_ip,lead_user,web_server_ip,view_datetime,view_epoch,lead_id,list_id,campaign_id,processed) + values('" . mysql_real_escape_string($PHP_AUTH_USER) . "','$LOGuser_group','{$_SERVER['REMOTE_ADDR']}','{$original_record['user']}','{$_SERVER['SERVER_ADDR']}','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($original_record['list_id']) . "','" . mysql_real_escape_string($campaign_id) . "','N')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL LOGGING END + if($DB) echo __LINE__."\n"; + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + if($DB) echo __LINE__."\n"; + ##### grab vicidial_list_alt_phones records ##### + $stmt="select phone_code,phone_number,alt_phone_note,alt_phone_count,active from vicidial_list_alt_phones where lead_id='" . mysql_real_escape_string($lead_id) . "' order by alt_phone_count limit 500;"; + $rslt=mysql_query($stmt, $link); + $alts_to_print = mysql_num_rows($rslt); + + $c=0; + $alts_output = ''; + while ($alts_to_print > $c) + { + if($DB) { + echo __LINE__."\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $c)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $c++; + $alts_output .= "
    $c$row[0] $row[1] $row[2] $row[3] $row[4]
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]   $row[10]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y{$row['view_datetime']}View Only - No changes{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}  
    $y{$row['view_datetime']}{$row['old_status']}{$row['new_status']}{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}{$row['elapsed_seconds']} DETAILS
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $stmt="SELECT user_id, timestamp, list_id, campaign_id, comment from vicidial_comments where lead_id='$lead_id' order by timestamp"; + $rslt=mysql_query($stmt, $link); + $row_count = mysql_num_rows($rslt); + $o=0; + $comments=false; + while ($row_count > $o) + { + if (!$comments) { + echo "\n"; + $comments=true; + } + $rowx=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + if ($comments) { + echo "\n"; + } + echo "\n"; + +// Section Modified for QC Functionality By PoundTeam +// echo "\n"; +// echo "\n"; +// echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    $label_vendor_lead_code: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     ID da Lista: $list_id     Called Count: $called_count
    $label_title:   \n"; + echo "$label_first_name:
    $label_middle_initial:   \n"; + echo " $label_last_name:
    $label_address1 :
    $label_address2 :
    $label_address3 :
    $label_city :
    $label_state:   \n"; + echo " $label_postal_code:
    $label_province :
    País :
    $label_phone_number :
    $label_phone_code :
    $label_alt_phone :
    $label_email :
    $label_security_phrase :
    Rank :
    Owner :
    $label_comments :
    Comment History
    $rowx[0] :
    $rowx[1]
    ID da Lista: $rowx[2]; ID da Campanha: $rowx[3]
    $rowx[4]

    QC Result: (with $list_campaign statuses)
    Alterarvicidial log
    Alteraragent log
    Alterarcloser log
    Disable QC log entry (this feature is not active yet)
    \n"; + echo "


    \n"; + + echo "
    \n"; + echo "Callback Detalhess:
    \n"; + //Added scheduled_callback regular statuses option + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') || $scheduled_callback=='Y' ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id,lead_id,list_id,campaign_id,status,entry_time,callback_time,modify_date,user,recipient,comments,user_group from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UsuárioID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UsuárioID: \n"; + echo "

    \n"; + } + + $appointment_datetimeARRAY = explode(" ",$rowx[6]); + $appointment_date = $appointment_datetimeARRAY[0]; + $appointment_timeARRAY = explode(":",$appointment_datetimeARRAY[1]); + $appointment_hour = $appointment_timeARRAY[0]; + $appointment_min = $appointment_timeARRAY[1]; + + + ?> + +
    +
    Change Scheduled Callback Date:
    + + + + + + + + + + + + + +
    + > + + + + +
    CallBack Date/Time: + + +     + + : + + +
    + Comentários: + + +
    + + + + +
    +
    + + No Callback records found
    \n"; + } + + } + else + { + if($DB) { + echo __LINE__."\n"; + } + //Modifed text to allow for other than CBHOLD via custom statuses with scheduled callback chosen + echo "
    If you want to change this lead to a scheduled callback, first change the Disposition to CBHOLD or similar, then submit and you will be able to set the callback date and time.
    \n"; + } + echo "
    \n"; + + echo "

    \n"; + + echo "
    \n"; + + if ($c > 0) + { + if($DB) { + echo __LINE__."\n"; + } + echo "EXTENDED SUPLENTE NÚMEROS DE TELÉFONO PARA ESTE DE PLOMO:\n"; + echo "\n"; + echo "\n"; + + echo "$alts_output\n"; + + echo "
    # ALT PHONE ALT NOTE ALT COUNT ACTIVE
    \n"; + echo "

    \n"; + } + + + + ### iframe for custom fields display/editing + if ($custom_fields_enabled > 0) + { + $CLlist_id = $list_id; + if (strlen($entry_list_id) > 2) + {$CLlist_id = $entry_list_id;} + $stmt="MOSTRAR TABELAS LIKE \"custom_$CLlist_id\";"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $tablecount_to_print = mysql_num_rows($rslt); + if ($tablecount_to_print > 0) + { + $stmt="SELECT count(*) from custom_$CLlist_id where lead_id='$lead_id';"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $fieldscount_to_print = mysql_num_rows($rslt); + if ($fieldscount_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $custom_records_count = $rowx[0]; + + echo "Campos personalizados para ESTE LEAD:
    \n"; + echo "\n"; + echo "

    "; + } + } + } + + + echo "CHAMADAS PARA ESSE REGISTRO:\n"; + echo "\n"; + echo "\n"; + + echo "$call_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPANHA LIST LEAD HANGUP REASON PHONE
    \n"; + echo "

    \n"; + + echo "CLOSER RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$closer_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPANHA LIST LEAD WAIT HANGUP REASON
    \n"; + echo "

    \n"; + + + echo "AGENTE LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$agent_log\n"; + echo "
    # DATE/TIME CAMPANHA TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; + echo "

    \n"; + echo "QUALITY CONTROL LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + echo "$qc_agent_log\n"; + echo "
    # DATE/TIME OLD STATUSNEW STATUSQC USERAGENTCAMPANHALISTELAPSED 
    \n"; + echo "

    \n"; + + echo "RECORDINGS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + $stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if ($DB) {echo "$logs_to_print|$stmt|\n";} + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if ( (eregi("ftp",$location)) or (eregi("http",$location)) ) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + + echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]


    \n"; + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 9 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $admin_display=$row[0]; + if ($admin_display > 0) + { + echo "Click here to see Lead Alterarchanges to this lead\n"; + } + + echo "\n"; + } + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nScript runtime: $RUNtime seconds
    "; + + +?> + + + + + +original_record:
    "; + print_r($original_record); + echo "
    new_record:
    "; + print_r($new_record); + echo "scheduled_callback:
    "; + print_r($scheduled_callback); + echo "debug1:
    "; + print_r($debug1); + echo "Post:
    "; + print_r($_POST); + echo "qcchangelist:
    "; + print_r($qcchangelist); + echo "
    "; +} +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/realtime_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/realtime_report.php index 34da0c5b..4f0af63a 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/realtime_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/realtime_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -20,10 +20,14 @@ # 110516-2128 - IE fix # 110526-1807 - Added webphone_auto_answer option # 120223-1917 - Added multi-user-group options +# 121129-2131 - Fixed Choose link position +# 130414-0247 - Added report logging # -$version = '2.4-9'; -$build = '120223-1917'; +$startMS = microtime(); + +$version = '2.6-11'; +$build = '130414-0247'; header ("Content-type: text/html; charset=utf-8"); @@ -112,15 +116,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $webphone_width = '460'; $webphone_height = '500'; $webphone_left = '600'; @@ -269,6 +264,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$groups[0]|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + if ($auth) { $office_no=strtoupper($PHP_AUTH_USER); @@ -1400,9 +1424,9 @@ echo "\n-->\n $stmt = "select count(*) from vicidial_campaigns where active='Y' and campaign_allow_inbound='Y' $group_SQLand;"; $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - $campaign_allow_inbound = $row[0]; +if ($DB) {echo "$stmt\n";} +$row=mysql_fetch_row($rslt); +$campaign_allow_inbound = $row[0]; echo "\n"; echo "$report_name: $group\n"; @@ -1437,12 +1461,12 @@ echo "\n"; #echo "\n"; echo "Tempo Real Report                                                                               \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo "Escolher Opções do Relat."; echo "
    \n"; echo "
    \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo ""; echo "
    \n"; @@ -1517,6 +1541,24 @@ echo "\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/send_CID_call.php b/agc_2-X/trunk/LANG_www/vicidial_br/send_CID_call.php index 8549f6a3..521faf42 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/send_CID_call.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/send_CID_call.php @@ -3,11 +3,13 @@ # # Send calls with custom callerID numbers from web form # -# Copyright (C) 2009 Matt Florell LICENSE: GPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: GPLv2 # # CHANGES # # 90714-1355 - First Build +# 120831-1527 - Added vicidial_dial_log logging +# 130414-0039 - Added admin logging # require("dbconnect.php"); @@ -55,6 +57,7 @@ $auth=$row[0]; $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); +$ip = getenv("REMOTE_ADDR"); ?> @@ -123,6 +126,17 @@ else if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='TESTCIDCALL098765432',lead_id='0',server_ip='$server_ip',call_date='$NOW_TIME',extension='91$receiver',channel='Local/91$sender$Local_end',timeout='$Local_dial_timeout',outbound_cid='\"$cid_number\" <$cid_number>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='CIDSEND', event_type='OTHER', record_id='$PHP_AUTH_USER', event_code='ADMIN SEND CID CALL', event_sql=\"$SQL_log\", event_notes='Server: $server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Call sent from $sender to $receiver using CIDnumber: $cid_number"; } diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_report.php b/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_report.php index d128c43d..3688cf17 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -18,8 +18,11 @@ # 110703-1830 - Added download option # 111104-1314 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0150 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); ##### Pull values from posted form variables ##### @@ -73,15 +76,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -106,6 +100,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -530,13 +553,31 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_status.php b/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_status.php index 1e645d43..a952ed99 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/timeclock_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,10 +15,13 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1833 - Added download option # 111104-1315 - Added user_group restrictions for selecting in-groups +# 130414-0152 - Added report logging # #header ("Content-type: text/html; charset=utf-8"); +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +67,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -113,6 +107,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,26 @@ if (strlen($user_group) < 1) echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -467,10 +510,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { header ("Content-type: text/html; charset=utf-8"); echo "$HEADER"; @@ -478,6 +519,24 @@ if ($file_download > 0) echo "$MAIN"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); exit; @@ -598,7 +657,25 @@ $MAIN.="
    \n"; $MAIN.="\n"; $MAIN.="\n"; - +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/user_stats.php b/agc_2-X/trunk/LANG_www/vicidial_br/user_stats.php index 5607c5b0..969195ce 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/user_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/user_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -34,8 +34,12 @@ # 111103-1050 - Added admin_hide_phone_data and admin_hide_lead_data options # 111106-1105 - Added user_group restrictions # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 121222-2152 - Added email log display +# 130124-1740 - Added option to display first and last name of lead +# 130414-0146 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -44,9 +48,15 @@ require("functions.php"); $report_name = 'Estatísticas de Usuário'; $db_source = 'M'; +$firstlastname_display_user_stats=0; +if (file_exists('options.php')) + { + require('options.php'); + } + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -59,19 +69,11 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $user_territories_active = $row[4]; $webroot_writable = $row[5]; + $allow_emails = $row[6]; } ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; @@ -130,6 +132,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -641,12 +672,27 @@ if ($did < 1) ##### vicidial agent outbound calls for this time period ##### $MAIN.="OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; - $MAIN.="
    \n"; - $MAIN.="\n"; + $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPANHA GROUP LIST LEAD HANGUP REASON
    \n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } + else + { + $MAIN.="\n"; + } $CSV_text5.="\"OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; - $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPANHA\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + if ($firstlastname_display_user_stats > 0) + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPANHA\",\"GROUP\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n";} + else + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPANHA\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n";} $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + if ($firstlastname_display_user_stats > 0) + { + $stmt="select uniqueid,vlog.lead_id,vlog.list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,vlog.status,vlog.phone_code,vlog.phone_number,vlog.user,vlog.comments,processed,user_group,term_reason,alt_dial,first_name,last_name from vicidial_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + if ($DB) {$MAIN.="outbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -687,27 +733,108 @@ if ($did < 1) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } $MAIN.="\n"; - $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[17] $row[18]\",\"$row[15]\"\n"; + } + else + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + } } $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPANHA GROUP LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPANHA GROUP LIST LEAD HANGUP REASON
    $row[14] $row[2] $row[1] $row[17] $row[18] $row[15]


    \n"; } + ##### vicidial agent outbound emails for this time period ##### + + if ($allow_emails>0) + { + $MAIN.="OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; + $MAIN.="\n"; + $MAIN.="\n"; + $CSV_text5.="\"OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; + $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"USER\",\"CAMPANHA\",\"EMAIL TO\",\"ATTACHMENT\",\"LEAD\",\"MESSAGE\"\n"; + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where user='" . mysql_real_escape_string($user) . "' and email_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and email_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by email_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + + $CSV_text5.="\"\",\"$u\",\"$row[3]\",\"$row[4]\",\"$row[7]\",\"$row[5]\",\"$row[8]\",\"$row[2]\",\"$row[6]\"\n"; + } + + + $MAIN.="
    # DATE/TIME USER CAMPANHA EMAIL TO ATTACHMENTS LEAD
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]   $row[2]
      MESSAGE: $row[6]


    \n"; + } + ##### vicidial agent inbound calls for this time period ##### $MAIN.="INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; $MAIN.="\n"; -$MAIN.="\n"; +if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } +else + { + $MAIN.="\n"; + } $CSV_text6.="\"INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; -$CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPANHA\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; +if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPANHA\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n"; + } +else + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPANHA\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + } $stmt="select call_date,length_in_sec,status,phone_number,campaign_id,queue_seconds,list_id,lead_id,term_reason from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; if ($did > 0) { $stmt="select start_time,length_in_sec,0,caller_code,0,0,0,extension,0 from call_log where channel_group='DID_INBOUND' and number_dialed='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by start_time desc limit 10000;"; } +else + { + if ($firstlastname_display_user_stats > 0) + { + $stmt="select call_date,length_in_sec,vlog.status,vlog.phone_number,campaign_id,queue_seconds,vlog.list_id,vlog.lead_id,term_reason,first_name,last_name from vicidial_closer_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + } +if ($DB) {$MAIN.="inbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -768,8 +895,17 @@ while ($logs_to_print > $u) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + {$MAIN.="\n";} $MAIN.="\n"; - $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[9] $row[10]\",\"$row[8]\"\n"; + } + else + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + } } $MAIN.=""; @@ -793,6 +929,7 @@ if ($did < 1) $CSV_text7.="\"\",\"#\",\"DATE/TIME\",\"PAUSE\",\"WAIT\",\"TALK\",\"DISPO\",\"DEAD\",\"CUSTOMER\",\"STATUS\",\"LEAD\",\"CAMPANHA\",\"PAUSE CODE\"\n"; $stmt="select event_time,lead_id,campaign_id,pause_sec,wait_sec,talk_sec,dispo_sec,dead_sec,status,sub_status,user_group from vicidial_agent_log where user='" . mysql_real_escape_string($user) . "' and event_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and ( (pause_sec > 0) or (wait_sec > 0) or (talk_sec > 0) or (dispo_sec > 0) ) order by event_time desc limit 10000;"; + if ($DB) {$MAIN.="agent activity|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -1177,8 +1314,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1186,9 +1321,29 @@ else echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/user_status.php b/agc_2-X/trunk/LANG_www/vicidial_br/user_status.php index 4819dd94..7a437ac6 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/user_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/user_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,10 +20,15 @@ # 110224-2350 - Small QM logout fix # 110420-0344 - Added DEAD/PARK agent statuses # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0252 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); +$report_name='Status do Usuário'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -95,6 +100,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } else { + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $stage, $group|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + if($auth>0) { $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; @@ -486,7 +511,26 @@ if ($stage == "log_agent_out") { echo "Agent $user is not logged in
    \n"; } - + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -652,6 +696,25 @@ if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($mod echo "$VDdisplayMESSAGE\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -664,7 +727,7 @@ if ($agents_to_print > 0) echo "       GROUP: $user_group
    \n"; echo "
    # DATE/TIME LENGTH STATUS PHONE CAMPANHA WAIT (S) AGENTE (S) LIST LEAD HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPANHA WAIT (S) AGENTE (S) LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPANHA WAIT (S) AGENTE (S) LIST LEAD HANGUP REASON
    $AGENTseconds $row[6] $row[7] $row[9] $row[10] $row[8]
    "; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -768,6 +831,26 @@ echo "|$stage|$group|";   ">Lista de territorios - 0) { ?> - diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/voice_lab.php b/agc_2-X/trunk/LANG_www/vicidial_br/voice_lab.php index 2eaaf88c..18c238aa 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/voice_lab.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/voice_lab.php @@ -4,7 +4,7 @@ # This script is designed to broadcast a recorded message or allow a person to # speak to all agents logged into a VICIDIAL campaign. # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES @@ -13,8 +13,13 @@ # 70115-1246 - Added ability to define an exten to play # 90508-0644 - Changed to PHP long tags # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0045 - Added report logging # +$startMS = microtime(); + +$report_name='Voice Lab'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -52,24 +57,24 @@ $local_DEF = 'Local/'; $local_AMP = '@'; $ext_context = 'demo'; - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; $fp = fopen ("./project_auth_entries.txt", "a"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); - if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } - else +else { if($auth>0) { @@ -94,6 +99,26 @@ $browser = getenv("HTTP_USER_AGENT"); $full_name = $row[0]; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + ##### get server listing for dynamic pulldown $stmt="SELECT server_ip,server_description from servers order by server_ip"; @@ -307,6 +332,25 @@ if ($KILL_VOICE_LAB > 1) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/welcome_demo.php b/agc_2-X/trunk/LANG_www/vicidial_br/welcome_demo.php index 81c3bc8f..48a594da 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/welcome_demo.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/welcome_demo.php @@ -62,6 +62,9 @@ echo "   \n"; echo "\n"; +echo "
    Agent Logged in at server:   $Aserver_ip
    Agent Logged in at servidor:   $Aserver_ip
    in session:   $Asession_id
    from phone:   $Aextension
    Agent is in campaign:   $Acampaign
      ?action=ADD_TERRITORY">Añadir Territorio   ?action=ADD_USER_TERRITORY">Añadir usuario Territorio   ?action=CHANGE_TERRITORY_OWNER">Change Vtiger Territorio Owner
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
  • \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_br/welcome_languages.php b/agc_2-X/trunk/LANG_www/vicidial_br/welcome_languages.php index e00e310e..d94ba3e1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_br/welcome_languages.php +++ b/agc_2-X/trunk/LANG_www/vicidial_br/welcome_languages.php @@ -62,6 +62,9 @@ echo "  
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSER_service_level.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSER_service_level.php index ffc52d14..fd7843ab 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSER_service_level.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSER_service_level.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,11 @@ # 110703-1756 - Added download option # 111103-2300 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0104 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -69,15 +72,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -99,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -924,7 +947,7 @@ while ($k <= 22) $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; -$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in seconds) | | CALLS HANDLED | | |\n"; +$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in Sekunden) | | CALLS HANDLED | | |\n"; $ASCII_text.="| 15 MIN INT |$hold_scale| AVG | MAX | |$call_scale| DROPS | TOTAL |\n"; $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; @@ -1280,10 +1303,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { echo "$HEADER"; @@ -1293,6 +1314,26 @@ if ($file_download > 0) } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERstats.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERstats.php index 59be0895..f72e28fe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERstats.php @@ -1,10 +1,9 @@ LICENSE: AGPLv2 -# -# CHANGES +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 60905-1326 - Added queue time stats @@ -35,8 +34,13 @@ # 111103-0632 - Added MAXCAL as a drop status # 111103-2003 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 120730-0724 - Small fix for HTML output +# 130124-1719 - Added email report support +# 130414-1429 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -57,6 +61,8 @@ if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} if (isset($_GET["DID"])) {$DID=$_GET["DID"];} elseif (isset($_POST["DID"])) {$DID=$_POST["DID"];} +if (isset($_GET["EMAIL"])) {$EMAIL=$_GET["EMAIL"];} + elseif (isset($_POST["EMAIL"])) {$EMAIL=$_POST["EMAIL"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} @@ -92,15 +98,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -185,9 +182,16 @@ if (!isset($group)) {$group = '';} if (!isset($query_date)) {$query_date = $NOW_DATE;} if (!isset($end_date)) {$end_date = $NOW_DATE;} -$stmt="select group_id,group_name,8 from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='PHONE' $LOGadmin_viewable_groupsSQL order by group_id;"; if ($DID=='Y') - {$stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;";} + { + $stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; + } +if ($EMAIL=='Y') + { + $stmt="select email_account_id,email_account_name,email_account_id from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + } $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $groups_to_print = mysql_num_rows($rslt); @@ -231,6 +235,37 @@ else } if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $DID, $EMAIL, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&DID=".$DID."&EMAIL=".$EMAIL."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); @@ -286,6 +321,7 @@ $MAIN.="
    \n"; $MAIN.="\n"; +$MAIN.="\n"; $MAIN.="Zeitraum:
    \n"; $MAIN.=""; @@ -314,7 +350,9 @@ $MAIN.="// o_cal.a_tpl.weekstart = 1; // Montag week start\n"; $MAIN.="\n"; $MAIN.="
    \n"; -if ($DID=='Y') +if ($EMAIL=='Y') + {$MAIN.="Email Accts: \n";} +else if ($DID=='Y') {$MAIN.="Inbound DIDs: \n";} else {$MAIN.="Inbound Gruppen: \n";} @@ -372,6 +410,8 @@ $MAIN.="
    \n\n";
     if ($groups_to_print < 1)
     	{
     	$MAIN.="\n\n";
    +	if ($EMAIL=='Y')
    +		{$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK SUBMIT\n";}
     	if ($DID=='Y')
     		{$MAIN.="PLEASE SELECT A DID AND DATE RANGE ABOVE AND CLICK SUBMIT\n";}
     	else
    @@ -402,12 +442,18 @@ if ($shift == 'ALL')
     $query_date_BEGIN = "$query_date $time_BEGIN";   
     $query_date_END = "$end_date $time_END";
     
    +if ($EMAIL=='Y') 
    +	{
    +	$MAIN.="Inbound Email Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
     
     
    -$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    -
    -$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    -
     
     if ($DID=='Y')
     	{
    @@ -452,7 +498,14 @@ if ($group_ct > 1)
     
     	$CSV_text1.="\n\"MULTI-GROUP BREAKDOWN:\"\n";
     
    -	if ($DID=='Y')
    +	if ($EMAIL=='Y')
    +		{
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$ASCII_text.="| EMAIL                | EMAILS  | DROPS   | DROP %  | IVR     |\n";
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$CSV_text1.="\"EMAIL\",\"CALLS\",\"DROPS\",\"DROP %\",\"IVR\"\n";
    +		}
    +	else if ($DID=='Y')
     		{
     		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
     		$ASCII_text.="| DID                  | CALLS   | DROPS   | DROP %  | IVR     |\n";
    @@ -655,18 +708,34 @@ else
     	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
     	}
     
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails taken in to this In-Gruppe:       $TOTALcalls\n";
    +	$MAIN.="Average Email Length for all Emails:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Emails:                               $ANTWORTEDcalls  $ANTWORTEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Emails:        $average_answer_seconds seconds\n";
    +	$MAIN.="Emails taken into the IVR for this In-Gruppe:  $IVRcalls\n";
     
    -$MAIN.="Insgesamt fordert die in dieser In-Gruppe:       $TOTALcalls\n";
    -$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    -$MAIN.="Answered Calls:                               $ANTWORTEDcalls  $ANTWORTEDpercent%\n";
    -$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    -$MAIN.="Calls taken into the IVR for this In-Gruppe:  $IVRcalls\n";
    +	$CSV_text1.="\"Total Emails taken in to this In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Email Length for all Emails:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Emails:\",\"$ANTWORTEDcalls\",\"$ANTWORTEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Emails:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Emails taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Insgesamt fordert die in dieser In-Gruppe:       $TOTALcalls\n";
    +	$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Calls:                               $ANTWORTEDcalls  $ANTWORTEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    +	$MAIN.="Calls taken into the IVR for this In-Gruppe:  $IVRcalls\n";
     
    -$CSV_text1.="\"Insgesamt fordert die in dieser In-Group:\",\"$TOTALcalls\"\n";
    -$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    -$CSV_text1.="\"Answered Calls:\",\"$ANTWORTEDcalls\",\"$ANTWORTEDpercent%\"\n";
    -$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    -$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	$CSV_text1.="\"Insgesamt fordert die in dieser In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Calls:\",\"$ANTWORTEDcalls\",\"$ANTWORTEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
     
     $MAIN.="\n";
     $MAIN.="---------- DROPS\n";
    @@ -709,12 +778,22 @@ else
     	$DROP_ANTWORTEDpercent = round($DROP_ANTWORTEDpercent, 0);
     	}
     
    -$MAIN.="Gesamt-TROPFEN Anrufe:                                          $DROPcalls  $DROPpercent%               drop/answered: $DROP_ANTWORTEDpercent%\n";
    -$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total DROP Emails:                             $DROPcalls  $DROPpercent%               drop/answered: $DROP_ANTWORTEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Emails:             $average_hold_seconds seconds\n";
     
    -$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_ANTWORTEDpercent%\"\n";
    -$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	$CSV_text1.="\"Total DROP Emails:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_ANTWORTEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Emails:\",\"$average_hold_seconds seconds\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Gesamt-TROPFEN Anrufe:                                          $DROPcalls  $DROPpercent%               drop/answered: $DROP_ANTWORTEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
     
    +	$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_ANTWORTEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	}
     
     if (strlen($group_SQL)>3)
     	{
    @@ -750,14 +829,29 @@ if (strlen($group_SQL)>3)
     			}
     		}
     	}
    -$MAIN.="\n";
    -$MAIN.="---------- CUSTOM INDICATORS\n";
    -$MAIN.="GDE (Answered/Gesamtanrufe genommenin to this In-Group):  $ANTWORTEDpercent%\n";
    -$MAIN.="ACR (Dropped/Answered):                                $DROP_ANTWORTEDpercent%\n";
     
    -$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    -$CSV_text1.="\"GDE (Answered/Gesamtanrufe genommenin to this In-Group):\",\"$ANTWORTEDpercent%\"\n";
    -$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_ANTWORTEDpercent%\"\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Total emails taken in to this In-Group):  $ANTWORTEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_ANTWORTEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Total emails taken in to this In-Group):\",\"$ANTWORTEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_ANTWORTEDpercent%\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Gesamtanrufe genommenin to this In-Group):  $ANTWORTEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_ANTWORTEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Gesamtanrufe genommenin to this In-Group):\",\"$ANTWORTEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_ANTWORTEDpercent%\"\n";
    +	}
     
     if ($DID!='Y')
     	{
    @@ -848,15 +942,34 @@ else
     	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
     	}
     
    -$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    -$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    -$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue emails:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all emails:        $average_total_queue_seconds seconds\n";
     
    -$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    -$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    -$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Total Emails That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue emails:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all emails:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
    +else 
    +	{
    +	$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
     
    +	$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
     
    +if ($EMAIL=='Y') {
    +	$rpt_type_verbiage='EMAIL';
    +	$rpt_type_verbiages='EMAILS';
    +} else {
    +	$rpt_type_verbiage='CALL ';
    +	$rpt_type_verbiages='CALLS ';
    +}
     
     ##############################
     #########  CALL HOLD TIME BREAKDOWN IN SECONDS
    @@ -864,12 +977,12 @@ $CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_s
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL HALTEZEIT AUFTEILUNG IN SEKUNDEN       DOWNLOAD\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS       DOWNLOAD\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL HALTEZEIT AUFTEILUNG IN SEKUNDEN\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     
    @@ -1009,12 +1122,12 @@ else
     $BDdropCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="---------- $rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL DROP TIME BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
    @@ -1154,12 +1267,12 @@ else
     $BDansweredCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="           CALL ANTWORTED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="           $rpt_type_verbiage ANTWORTED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
     $ASCII_text.="          +-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="----------+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL ANTWORTED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage ANTWORTED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE','TIMEOT','AFTHRS','NANQUE','INBND','MAXCAL') group by queue_seconds;";
    @@ -1442,13 +1555,13 @@ else
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL HANGUP GRUND STATS       DOWNLOAD\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HANGUP REASON STATS       DOWNLOAD\n";
     $ASCII_text.="+----------------------+------------+\n";
    -$ASCII_text.="| HANGUP REASON        | CALLS      |\n";
    +$ASCII_text.="| HANGUP REASON        | $rpt_type_verbiages      |\n";
     $ASCII_text.="+----------------------+------------+\n";
     
    -$CSV_text3.="\n\"CALL HANGUP GRUND STATS\"\n";
    -$CSV_text3.="\"HANGUP REASON\",\"CALLS\"\n";
    +$CSV_text3.="\n\"$rpt_type_verbiage HANGUP REASON STATS\"\n";
    +$CSV_text3.="\"HANGUP REASON\",\"$rpt_type_verbiages\"\n";
     
     $stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason order by term_reason;";
     if ($DID=='Y')
    @@ -1486,6 +1599,7 @@ $CSV_text3.="\"TOTAL:\",\"$TOTALcalls\"\n";
     
     if ($report_display_type=="HTML") 
     	{
    +	$ct_ary=array();
     	$rslt=mysql_query($stmt, $link);
     	$high_ct=0; $i=0;
     	while ($row=mysql_fetch_row($rslt)) {
    @@ -1495,11 +1609,11 @@ if ($report_display_type=="HTML")
     		$i++;
     	}
     	$GRAPH_text="
    \n"; - $GRAPH_text.="\n"; - $GRAPH_text.=" \n"; + $GRAPH_text.="
    CALL HANGUP GRUND STATS
    \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; - $GRAPH_text.=" \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; for ($i=0; $iGESAMTANRUFE:\n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.="
    $rpt_type_verbiage HANGUP REASON STATS
    REASON CALLS $rpt_type_verbiages
    TOTAL ".$rpt_type_verbiage.":".trim($TOTALcalls)."
    \n"; @@ -1527,17 +1641,17 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL STATUS STATS DOWNLOAD\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; -$ASCII_text.="| STATUS | DESCRIPTION | KATEGORIE | CALLS | TOTAL TIME | AVG TIME |CALLS/HOUR|\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; +$ASCII_text.="---------- $rpt_type_verbiage STATUS STATS DOWNLOAD\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; +$ASCII_text.="| STATUS | DESCRIPTION | KATEGORIE | $rpt_type_verbiages | TOTAL TIME | AVG TIME |$rpt_type_verbiages/HOUR|\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; $GRAPH="

    "; $GRAPH.=""; $GRAPH.="
    CALLSTOTAL TIMEAVG TIMECALLS/HR

     


    "; -$CSV_text4.="\n\"CALL STATUS STATS\"\n"; -$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"KATEGORIE\",\"CALLS\",\"TOTAL TIME\",\"AVG TIME\",\"CALLS/HOUR\"\n"; +$CSV_text4.="\n\"$rpt_type_verbiage STATUS STATS\"\n"; +$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"KATEGORIE\",\"$rpt_type_verbiages\",\"TOTAL TIME\",\"AVG TIME\",\"$rpt_type_verbiages/HOUR\"\n"; @@ -1710,11 +1824,11 @@ else $ASCII_text="\n"; $ASCII_text.="---------- CUSTOM STATUS KATEGORIE STATS
    DOWNLOAD\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; -$ASCII_text.="| KATEGORIE | CALLS | DESCRIPTION |\n"; +$ASCII_text.="| KATEGORIE | $rpt_type_verbiages | DESCRIPTION |\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; $CSV_text5.="\n\"CUSTOM STATUS KATEGORIE STATS\"\n"; -$CSV_text5.="\"KATEGORIE\",\"CALLS\",\"DESCRIPTION\"\n"; +$CSV_text5.="\"KATEGORIE\",\"$rpt_type_verbiages\",\"DESCRIPTION\"\n"; $TOTCATcalls=0; $r=0; @@ -1744,7 +1858,7 @@ $CSV_text5.="\"TOTAL\",\"$TOTCATcalls\"\n"; if ($report_display_type=="HTML") { - $ct_ary=""; + $ct_ary=array(); $r=0; $i=0; $high_ct=0; while ($r < $statcats_to_print) @@ -1794,12 +1908,12 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL INITIAL QUEUE POSITION BREAKDOWN DOWNLOAD\n"; +$ASCII_text.="---------- $rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN DOWNLOAD\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; $ASCII_text.="| 1 2 3 4 5 6 7 8 9 10 15 20 25 +25 | TOTAL |\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; -$CSV_text6.="\n\"CALL INITIAL QUEUE POSITION BREAKDOWN\"\n"; +$CSV_text6.="\n\"$rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN\"\n"; $CSV_text6.="\"\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"15\",\"20\",\"25\",\"+25\",\"TOTAL\"\n"; @@ -1938,11 +2052,11 @@ $TOTavg=0; $ASCII_text="\n"; $ASCII_text.="---------- MITTELSTATS DOWNLOAD\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; -$ASCII_text.="| MITTEL | CALLS | TIME H:M:S |AVERAGE |\n"; +$ASCII_text.="| MITTEL | $rpt_type_verbiages | TIME H:M:S |AVERAGE |\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; $CSV_text7.="\n\"MITTELSTATS\"\n"; -$CSV_text7.="\"AGENT\",\"CALLS\",\"TIME H:M:S\",\"AVERAGE\"\n"; +$CSV_text7.="\"AGENT\",\"$rpt_type_verbiages\",\"TIME H:M:S\",\"AVERAGE\"\n"; $max_calls=1; @@ -1953,7 +2067,7 @@ $GRAPH="

    CALLS"; $GRAPH.="
    TIME H:M:SAVERAGE

     


    "; $graph_header=""; -$CALLS_graph=$graph_header.""; +$CALLS_graph=$graph_header.""; $TIMEHMS_graph=$graph_header.""; $AVERAGE_graph=$graph_header.""; @@ -2173,7 +2287,7 @@ else } $ASCII_text.="\n"; -$ASCII_text.="DIAGRAMM IN 15 MINUZIÖSEN STUFENSPRÜNGEN VON GESAMTANRUFEN TAKEN INTO THIS IN-GROUP\n"; +$ASCII_text.="GRAPH IN 15 MINUTE INCREMENTS OF TOTAL $rpt_type_verbiages TAKEN INTO THIS IN-GROUP\n"; $k=1; @@ -2347,12 +2461,12 @@ else ##### Answered wait time breakdown $MAIN.="\n"; -$MAIN.="---------- CALL ANTWORTED TIME BREAKDOWN IN SECONDS DOWNLOAD\n"; +$MAIN.="---------- $rpt_type_verbiage ANTWORTED TIME BREAKDOWN IN SECONDS DOWNLOAD\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; $MAIN.="| HOUR | 0 5 10 15 20 25 30 35 40 45 50 55 60 90 +90 | TOTAL |\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; -$CSV_text8.="\n\"CALL ANTWORTED TIME BREAKDOWN IN SECONDS\"\n"; +$CSV_text8.="\n\"$rpt_type_verbiage ANTWORTED TIME BREAKDOWN IN SECONDS\"\n"; $CSV_text8.="\"HOUR\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n"; $ZZ = '00'; @@ -2464,7 +2578,6 @@ if ($file_download>0) { echo "$CSV_text"; - exit; } else { echo $HEADER; echo $JS_text; @@ -2474,6 +2587,27 @@ if ($file_download>0) { } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERsummary_hourly.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERsummary_hourly.php index 66470cad..59869f63 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERsummary_hourly.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_CLOSERsummary_hourly.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1806 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0107 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -124,6 +118,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -938,6 +961,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -961,10 +1003,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { if ($report_display_type=="HTML") @@ -998,5 +1038,24 @@ if ($file_download > 0) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_DIDstats.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_DIDstats.php index 97600480..bb3c8d0c 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_DIDstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_DIDstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1809 - Added download option # 111104-1133 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0113 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -67,15 +70,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -189,6 +183,36 @@ else if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&file_download=".$file_download."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $HEADER.="\n"; $HEADER.="\n"; @@ -1070,6 +1094,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { echo $HEADER; @@ -1079,5 +1122,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRfilter.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRfilter.php index d7ab492a..fb95d99a 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRfilter.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRfilter.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -9,8 +9,13 @@ # 90310-2054 - Admin header # 90508-0644 - Changed to PHP long tags # 120113-2022 - Added new columns for sent to queue and agent +# 130414-0257 - Added report logging # +$startMS = microtime(); + +$report_name='IVR Filter Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -88,6 +93,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$campaign[0], $query_date, $end_date|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -494,8 +519,6 @@ if ($file_download == 0 || !$file_download) { flush(); echo "$CSV_text"; - - exit; # $CSV_report=fopen("AST_pause_code_breakdown.csv", "w"); # fwrite($CSV_report, $CSV_header); @@ -503,4 +526,26 @@ if ($file_download == 0 || !$file_download) { # fwrite($CSV_report, $CSV_total); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRstats.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRstats.php index 5998515d..cc7c55a9 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_IVRstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 81026-2026 - First build @@ -20,8 +20,11 @@ # 110703-1850 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130114-0115 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -79,15 +82,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -109,6 +103,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -1001,6 +1024,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1013,6 +1055,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_LISTS_campaign_stats.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_LISTS_campaign_stats.php index ba4cdf1a..ab9054d6 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_LISTS_campaign_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_LISTS_campaign_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -10,8 +10,13 @@ # 100916-0928 - First build # 110703-1815 - Added download option # 120224-0910 - Added HTML display option with bar graphs +# 120524-1754 - Fixed status categories issue +# 130221-1928 - small change to remove nested SQL query +# 130414-0127 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -58,15 +63,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -88,6 +84,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -178,9 +203,18 @@ else $group_SQL = "where campaign_id IN($group_SQL)"; } +# Get lists to query to avoid using a nested query +$lists_id_str=""; +$list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; +$list_rslt=mysql_query($list_stmt, $link); +while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; +} +$lists_id_str=substr($lists_id_str,0,-1); + $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +if ($DB) {echo "$stmt\n";} $statcats_to_print = mysql_num_rows($rslt); $i=0; while ($i < $statcats_to_print) @@ -188,13 +222,27 @@ while ($i < $statcats_to_print) $row=mysql_fetch_row($rslt); $vsc_id[$i] = $row[0]; $vsc_name[$i] = $row[1]; - $vsc_count[$i] = 0; + + $category_statuses=""; + $status_stmt="select distinct status from vicidial_statuses where category='$row[0]' UNION select distinct status from vicidial_campaign_statuses where category='$row[0]' $group_SQLand"; + if ($DB) {echo "$status_stmt\n";} + $status_rslt=mysql_query($status_stmt, $link); + while ($status_row=mysql_fetch_row($status_rslt)) + { + $category_statuses.="'$status_row[0]',"; + } + $category_statuses=substr($category_statuses, 0, -1); + + $category_stmt="select count(*) from vicidial_list where status in ($category_statuses) and list_id IN($lists_id_str)"; + if ($DB) {echo "$category_stmt\n";} + $category_rslt=mysql_query($category_stmt, $link); + $category_row=mysql_fetch_row($category_rslt); + $vsc_count[$i] = $category_row[0]; $i++; } - ### BEGIN gather all statuses that are in status flags ### $human_answered_statuses=''; $sale_statuses=''; @@ -348,7 +396,15 @@ else $GRAPH.="\n"; $GRAPH.="\n"; - $stmt="select count(*),list_id from vicidial_list where list_id IN( SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand) group by list_id;"; + $lists_id_str=""; + $list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; + $list_rslt=mysql_query($list_stmt, $link); + while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; + } + $lists_id_str=substr($lists_id_str,0,-1); + + $stmt="select count(*),list_id from vicidial_list where list_id IN($lists_id_str) group by list_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $listids_to_print = mysql_num_rows($rslt); @@ -949,7 +1005,6 @@ else echo "$CSV_text"; - exit; } else { $JS_onload.="}\n"; $JS_text.=$JS_onload; @@ -962,5 +1017,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_LIST_UPDATEstats.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_LIST_UPDATEstats.php index a040eac5..fb97759b 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_LIST_UPDATEstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_LIST_UPDATEstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -10,8 +10,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0201 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -54,15 +57,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -84,6 +78,35 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,24 @@ $RUNtime = ($ENDtime - $STARTtime); echo "
    MITTELSTATS
    AGENTCALLS
    $rpt_type_verbiages
    TIME H:M:S
    AVERAGE
    LEADS

    \nRun Time: $RUNtime seconds|$db_source\n"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_OUTBOUNDsummary_interval.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_OUTBOUNDsummary_interval.php index 6e12c1b2..2fc1b621 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_OUTBOUNDsummary_interval.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_OUTBOUNDsummary_interval.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1825 - Added download option # 111104-1205 - Added user_group and calltime restrictions # 120224-0910 - Added HTML display option with bar graphs +# 130414-0119 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -132,6 +126,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_call_times from vicidial_user_groups where user_group='$user_group';"; @@ -1452,6 +1475,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1521,6 +1563,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1555,6 +1616,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_VDADstats.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_VDADstats.php index 3a710443..5c4ad9f6 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_VDADstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_VDADstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 60619-1718 - Added variable filtering to eliminate SQL injection attack threat @@ -32,8 +32,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 101207-1634 - Changed limits on seconds to 65000 from 36000 in vicidial_agent_log # 120224-0910 - Added HTML display option with bar graphs +# 130414-0117 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -103,15 +106,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - ##### SERVER CARRIER LOGGING LOOKUP ##### $stmt = "SELECT count(*) FROM servers where carrier_logging_active='Y' and max_vicidial_trunks > 0;"; $rslt=mysql_query($stmt, $link); @@ -144,6 +138,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -580,7 +603,7 @@ else $OUToutput .= "Total Human Antworted calls for this Kampagne: $CIcalls\n"; - $OUToutput .= "Average Call Length for all HA in seconds: $average_ci_seconds Total Time: $CIsec\n"; + $OUToutput .= "Average Call Length for all HA in Sekunden: $average_ci_seconds Total Time: $CIsec\n"; $OUToutput .= "\n"; @@ -1557,6 +1580,25 @@ else echo "OUTBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$outbound_rate = \$$outbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1792,6 +1834,25 @@ else $JS_text.="\n"; echo $JS_text; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php index ff001845..b4d7f98e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,13 @@ # 111103-1207 - Added admin_hide_phone_data and admin_hide_lead_data options # 120210-1218 - Added vendor_lead_code to output # 120221-0059 - Added User Group restriction settings +# 130414-0159 - Added report logging # +$startMS = microtime(); + +$report_name='Zufuhrbehälter-Liste Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -49,6 +54,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -226,6 +251,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_ingrouplist.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_ingrouplist.php index cdb3063d..f13a04b0 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_ingrouplist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_VICIDIAL_ingrouplist.php @@ -3,12 +3,17 @@ # # shows the agents logged into vicidial and set to take calls from in-group # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 100320-2102 - First Build +# 130414-0222 - Added report logging # +$startMS = microtime(); + +$report_name='In-Group User List'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -40,6 +45,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -205,6 +230,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_admin_template_maker.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_admin_template_maker.php index 753415ed..aaab717e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_admin_template_maker.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_admin_template_maker.php @@ -5,6 +5,7 @@ # # CHANGES # 120402-2132 - First Build +# 120529-1427 - Filename filter fix # require("dbconnect.php"); @@ -193,6 +194,8 @@ $NWE = "')\">\"HILFE\"
    Kampagnen:
    "; echo "

    \n"; +echo "
    \n"; +echo "Show parks-holds
    "; echo "Anzeige as:
    "; echo "\n

    "; -echo "\n"; +echo "$NWB#agent_time_detail$NWE\n"; echo "
            "; echo "          \n"; @@ -1206,6 +1418,25 @@ while ($m < $k) echo "\n"; ##### END horizontal yellow transparent bar graph overlay on top of agent stats +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_time_sheet.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_time_sheet.php index 18a18c94..3e888888 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_time_sheet.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_time_sheet.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1848 - Added download option # 111104-1308 - Added user_group restrictions for selecting in-groups +# 130414-0148 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -42,14 +45,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; @@ -93,6 +88,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -416,16 +440,33 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { header ("Content-type: text/html; charset=utf-8"); echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_timeclock_detail.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_timeclock_detail.php index 7dbd5115..f6bfddd9 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_timeclock_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_agent_timeclock_detail.php @@ -3,7 +3,7 @@ # # Pulls all timeclock records for an agent # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 90602-2244 - First build @@ -13,8 +13,10 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 111104-1315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0154 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -67,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -100,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -319,9 +341,6 @@ else $query_date_BEGIN = "$query_date"; $query_date_END = "$end_date"; - if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";} - else {$ugSQL='';} - if ($file_download < 1) { echo "User Time-Clock Detail $NOW_TIME\n"; @@ -685,6 +704,25 @@ if ($file_download > 0) echo "$file_output"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -819,6 +857,25 @@ $ENDtime = date("U"); $RUNtime = ($ENDtime - $STARTtime); echo "$RUNtime|$db_source\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_campaign_status_list_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_campaign_status_list_report.php index 23292640..1462945e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_campaign_status_list_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_campaign_status_list_report.php @@ -4,14 +4,19 @@ # This report is designed to show the breakdown by list_id of the calls and # their statuses for all lists within a campaign for a set time period # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # # 110815-2138 - First build # 120224-0910 - Added HTML display option with bar graphs +# 130414-0129 - Added report logging +# 130425-2113 - Added status flag summaries and other formatting cleanup +# 130425-2353 - Fixed bug with subtracting unsigned columns in SQL # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_PW); @@ -97,6 +93,36 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -138,7 +164,7 @@ while($i < $group_ct) $i++; } -$stmt="select campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; +$stmt="SELECT campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$HTML_text.="$stmt\n";} $campaigns_to_print = mysql_num_rows($rslt); @@ -276,17 +302,25 @@ $JS_onload="onload = function() {\n"; while($i < $group_ct) { - $stmt="select distinct status, status_name from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION select distinct status, status_name from vicidial_statuses order by status, status_name"; + $stmt="SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_statuses order by status, status_name"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $status_ary[$row[0]]=" - $row[1]"; + $status_ary[$row[0]] = " - $row[1]"; + $HA_ary[$row[0]] = $row[2]; + $SALE_ary[$row[0]] = $row[3]; + $DNC_ary[$row[0]] = $row[4]; + $CC_ary[$row[0]] = $row[5]; + $NI_ary[$row[0]] = $row[6]; + $UW_ary[$row[0]] = $row[7]; + $SC_ary[$row[0]] = $row[8]; + $COMP_ary[$row[0]] = $row[9]; } $ASCII_text.="KAMPAGNE: $group[$i]\n"; $GRAPH.="KAMPAGNE: $group[$i]\n"; $CSV_text.="\"KAMPAGNE: $group[$i]\"\n"; - $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; + $stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; $rslt=mysql_query($stmt, $link); if (mysql_num_rows($rslt)>0) { @@ -303,20 +337,30 @@ while($i < $group_ct) } } - $stmt="select distinct list_id, list_name from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; + $stmt="SELECT distinct list_id, list_name, active from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $list_id=$row[0]; $list_name=$row[1]; + $list_id=$row[0]; $list_name=$row[1]; $list_active=$row[2]; + $HA_count=0; + $SALE_count=0; + $DNC_count=0; + $CC_count=0; + $NI_count=0; + $UW_count=0; + $SC_count=0; + $COMP_count=0; + $dispo_ary=""; $ASCII_text.="Liste Identifikation #$list_id: $list_name\n"; $GRAPH.="Liste Identifikation #$list_id: $list_name\n"; $CSV_text.="\"Liste Identifikation #$list_id: $list_name\"\n"; - # $stat_stmt="select vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; - #$stat_stmt="select val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; - $stat_stmt="select vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION select vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + # $stat_stmt="SELECT vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; + #$stat_stmt="SELECT val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; + $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + if ($DB) {$HTML_text.="|$stat_stmt|\n";} # $ASCII_text.=$stat_stmt."\n"; $stat_rslt=mysql_query($stat_stmt, $link); if (mysql_num_rows($stat_rslt)>0) @@ -336,9 +380,9 @@ while($i < $group_ct) $max_duration=1; $max_handletime=1; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"DISPOSITION\",\"CALLS\",\"DURATION\",\"HANDLE TIME\"\n"; while ($stat_row=mysql_fetch_row($stat_rslt)) { @@ -353,14 +397,22 @@ while($i < $group_ct) $total_calls++; $total_duration+=$stat_row[2]; $total_handle_time+=$stat_row[3]; + if ($HA_ary[$stat_row[0]]=="Y") {$HA_count++;} + if ($SALE_ary[$stat_row[0]]=="Y") {$SALE_count++;} + if ($DNC_ary[$stat_row[0]]=="Y") {$DNC_count++;} + if ($CC_ary[$stat_row[0]]=="Y") {$CC_count++;} + if ($NI_ary[$stat_row[0]]=="Y") {$NI_count++;} + if ($UW_ary[$stat_row[0]]=="Y") {$UW_count++;} + if ($SC_ary[$stat_row[0]]=="Y") {$SC_count++;} + if ($COMP_ary[$stat_row[0]]=="Y") {$COMP_count++;} } $d=0; while (list($key, $val)=each($dispo_ary)) { - $ASCII_text.="| ".sprintf("%-35s", $key.$status_ary[$key]); - $ASCII_text.=" | ".sprintf("%5s", $val[0]); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($val[1], 'H')); + $ASCII_text.="| ".sprintf("%-40s", $key.$status_ary[$key]); + $ASCII_text.=" | ".sprintf("%6s", $val[0]); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($val[1], 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($val[2], 'H'))." |\n"; $CSV_text.="\"".$key.$status_ary[$key]."\",\"$val[0]\",\"".sec_convert($val[1], 'H')."\",\"".sec_convert($val[2], 'H')."\"\n"; @@ -373,20 +425,61 @@ while($i < $group_ct) $graph_stats[$d][3]=$val[2]; $d++; } - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| TOTALS:"; - $ASCII_text.=" | ".sprintf("%5s", $total_calls); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($total_duration, 'H')); + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| TOTALS:"; + $ASCII_text.=" | ".sprintf("%6s", $total_calls); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($total_duration, 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($total_handle_time, 'H'))." |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"TOTALS:\",\"$total_calls\",\"".sec_convert($total_duration, 'H')."\",\"".sec_convert($total_handle_time, 'H')."\"\n\n"; - for ($d=0; $d6) {$HA_percent = substr("$HA_percent", 0, -1);} + $SALE_percent = sprintf("%6.2f", 100*($SALE_count/$total_calls)); while(strlen($SALE_percent)>6) {$SALE_percent = substr("$SALE_percent", 0, -1);} + $DNC_percent = sprintf("%6.2f", 100*($DNC_count/$total_calls)); while(strlen($DNC_percent)>6) {$DNC_percent = substr("$DNC_percent", 0, -1);} + $CC_percent = sprintf("%6.2f", 100*($CC_count/$total_calls)); while(strlen($CC_percent)>6) {$CC_percent = substr("$CC_percent", 0, -1);} + $NI_percent = sprintf("%6.2f", 100*($NI_count/$total_calls)); while(strlen($NI_percent)>6) {$NI_percent = substr("$NI_percent", 0, -1);} + $UW_percent = sprintf("%6.2f", 100*($UW_count/$total_calls)); while(strlen($UW_percent)>6) {$UW_percent = substr("$UW_percent", 0, -1);} + $SC_percent = sprintf("%6.2f", 100*($SC_count/$total_calls)); while(strlen($SC_percent)>6) {$SC_percent = substr("$SC_percent", 0, -1);} + $COMP_percent = sprintf("%6.2f", 100*($COMP_count/$total_calls)); while(strlen($COMP_percent)>6) {$COMP_percent = substr("$COMP_percent", 0, -1);} + + $HA_count = sprintf("%9s", "$HA_count"); while(strlen($HA_count)>9) {$HA_count = substr("$HA_count", 0, -1);} + $SALE_count = sprintf("%9s", "$SALE_count"); while(strlen($SALE_count)>9) {$SALE_count = substr("$SALE_count", 0, -1);} + $DNC_count = sprintf("%9s", "$DNC_count"); while(strlen($DNC_count)>9) {$DNC_count = substr("$DNC_count", 0, -1);} + $CC_count = sprintf("%9s", "$CC_count"); while(strlen($CC_count)>9) {$CC_count = substr("$CC_count", 0, -1);} + $NI_count = sprintf("%9s", "$NI_count"); while(strlen($NI_count)>9) {$NI_count = substr("$NI_count", 0, -1);} + $UW_count = sprintf("%9s", "$UW_count"); while(strlen($UW_count)>9) {$UW_count = substr("$UW_count", 0, -1);} + $SC_count = sprintf("%9s", "$SC_count"); while(strlen($SC_count)>9) {$SC_count = substr("$SC_count", 0, -1);} + $COMP_count = sprintf("%9s", "$COMP_count"); while(strlen($COMP_count)>9) {$COMP_count = substr("$COMP_count", 0, -1);} + + if ($list_active=='Y') {$list_active = 'ACTIVE ';} else {$list_active = 'INACTIVE';} + $header_list_id = "$list_id - $list_name"; + $header_list_id = sprintf("%-51s", $header_list_id); while(strlen($header_list_id)>51) {$header_list_id = substr("$header_list_id", 0, -1);} + $header_list_count = sprintf("%10s", $total_calls); while(strlen($header_list_count)>10) {$header_list_count = substr("$header_list_count", 0, -1);} + $ASCII_text .= "\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| $header_list_id $list_active |\n"; + $ASCII_text .= "| GESAMTANRUFE: $header_list_count |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| STATUS FLAGS BREAKDOWN: (and % of total leads in the list) |\n"; + $ASCII_text .= "| Human Antwort: $HA_count $HA_percent% |\n"; + $ASCII_text .= "| Sale: $SALE_count $SALE_percent% |\n"; + $ASCII_text .= "| DNC: $DNC_count $DNC_percent% |\n"; + $ASCII_text .= "| Customer Contact: $CC_count $CC_percent% |\n"; + $ASCII_text .= "| Not Interested: $NI_count $NI_percent% |\n"; + $ASCII_text .= "| Unworkable: $UW_count $UW_percent% |\n"; + $ASCII_text .= "| Scheduled callbk: $SC_count $SC_percent% |\n"; + $ASCII_text .= "| Completed: $COMP_count $COMP_percent% |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + + + for ($d=0; $d".$graph_stats[$d][1]."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][2], 'H')."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][3], 'H')."
    TOTAL:".trim($total_calls)."
    "; $DURATION_graph.="
    TOTAL:".sec_convert($total_duration, 'H')."
    "; $HANDLETIME_graph.="
    TOTAL:".sec_convert($total_handle_time, 'H')."
    "; @@ -415,7 +508,6 @@ while($i < $group_ct) } $ASCII_text.="\n"; $GRAPH.="\n"; - } $i++; $ASCII_text.="\n\n"; @@ -456,8 +548,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -468,4 +558,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_carrier_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_carrier_log_report.php index 3fb86604..669f1707 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_carrier_log_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_carrier_log_report.php @@ -1,26 +1,31 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120210-2202 - First build +# 130413-2213 - Added SIP codes summary and fields, and report logging +# 130418-1048 - Changed how server list is generated # +$startMS = microtime(); require("dbconnect.php"); +$report_name='Carrier-Log Report'; + $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} -if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} +if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} elseif (isset($_POST["query_date_D"])) {$query_date_D=$_POST["query_date_D"];} -if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} +if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} elseif (isset($_POST["query_date_T"])) {$query_date_T=$_POST["query_date_T"];} -if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} - elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -54,14 +59,7 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } +$NOW_DATE = date("Y-m-d"); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} @@ -84,10 +82,39 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} -$NOW_DATE = date("Y-m-d"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $server_ip_string='|'; @@ -99,7 +126,7 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="select server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -223,7 +250,29 @@ if ($SUBMIT && $server_ip_ct>0) { } $MAIN.="+--------------+-------------+---------+\n"; $MAIN.="| TOTAL | ".sprintf("%-8s", $total_count)."|\n"; - $MAIN.="+--------------+-------------+---------+\n\n\n"; + $MAIN.="+--------------+-------------+---------+\n\n"; + + $stmt="select sip_hangup_cause,sip_hangup_reason,count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL group by sip_hangup_cause,sip_hangup_reason order by sip_hangup_cause,sip_hangup_reason"; + $rslt=mysql_query($stmt, $link); + $MAIN.="
    \n";
    +		if ($DB) {$MAIN.=$stmt."\n";}
    +		if (mysql_num_rows($rslt)>0) {
    +			$MAIN.="--- SIP ERROR REASON BREAKDOWN FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="| SIP CODE | SIP HANGUP REASON              |  COUNT  |\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$total_count=0;
    +			while ($row=mysql_fetch_array($rslt)) {
    +				$MAIN.="| ".sprintf("%8s", $row["sip_hangup_cause"])." ";
    +				$MAIN.="| ".sprintf("%-31s", $row["sip_hangup_reason"]);
    +				$MAIN.="| ".sprintf("%-8s", $row["ct"]);
    +				$MAIN.="|\n";
    +				$total_count+=$row["ct"];
    +			}
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="|                                     TOTAL | ".sprintf("%-8s", $total_count)."|\n";
    +			$MAIN.="+-------------------------------------------+---------+\n\n\n";
    +		}
     
     		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
    @@ -233,10 +282,10 @@ if ($SUBMIT && $server_ip_ct>0) {
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
     		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | BEDIENERIP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | ANTWORTED TIME | PHONE NUMBER |\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"BEDIENERIP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"ANTWORTED TIME\",\"PHONE NUMBER\"\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | BEDIENERIP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | ANTWORTED TIME | SIP CODE | SIP HANGUP REASON              | PHONE NUMBER |\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"BEDIENERIP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"ANTWORTED TIME\",\"SIP CODE\",\"SIP HANGUP REASON\",\"PHONE NUMBER\"\n";
     
     		for ($i=1; $i<=mysql_num_rows($rpt_rslt); $i++) {
     			$row=mysql_fetch_array($rpt_rslt);
    @@ -255,7 +304,7 @@ if ($SUBMIT && $server_ip_ct>0) {
     				$phone_number=$row["phone_number"];
     			}
     
    -			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\"\n";
    +			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$row[sip_hangup_cause]\",\"$row[sip_hangup_reason]\",\"$phone_number\"\n";
     			if ($i>=$lower_limit && $i<=$upper_limit) {
     				if (strlen($row["channel"])>37) {$row["channel"]=substr($row["channel"],0,37)."...";}
     				$carrier_rpt.="| ".sprintf("%-21s", $row["uniqueid"]); 
    @@ -267,10 +316,12 @@ if ($SUBMIT && $server_ip_ct>0) {
     				$carrier_rpt.="| ".sprintf("%-41s", $row["channel"]); 
     				$carrier_rpt.="| ".sprintf("%-10s", $row["dial_time"]); 
     				$carrier_rpt.="| ".sprintf("%-14s", $row["answered_time"]); 
    +				$carrier_rpt.="| ".sprintf("%8s", $row["sip_hangup_cause"])." "; 
    +				$carrier_rpt.="| ".sprintf("%-31s", $row["sip_hangup_reason"]); 
     				$carrier_rpt.="| ".sprintf("%-13s", $phone_number)."|\n"; 
     			}
     		}
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
     
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
    @@ -315,11 +366,31 @@ if ($SUBMIT && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_dialer_inventory_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_dialer_inventory_report.php
    index 30e3aaf7..d54b8c5e 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_dialer_inventory_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_dialer_inventory_report.php
    @@ -1,7 +1,7 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Joe Johnson     LICENSE: AGPLv2
     #                     Matt Florell 
     #
     # NOTES:
    @@ -14,8 +14,11 @@
     # 111106-1327 - Reformatting, other minor changes
     # 111230-1145 - Debugging additions and more minor changes
     # 120221-2237 - Added totals, list options, other small changes
    +# 130414-0131 - Added report logging
     #
     
    +$startMS = microtime();
    +
     error_reporting(0);
     
     require("dbconnect.php");
    @@ -77,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	#$HTML_header.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
     if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -107,6 +101,34 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	#$HTML_header.="\n";
    +	}
     
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
    @@ -882,8 +904,6 @@ if ($file_download>0)
     	flush();
     
     	echo "$CSV_text";
    -
    -	exit;
     	} 
     else 
     	{
    @@ -894,6 +914,27 @@ else
     	echo $HTML_text;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
     
     
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_display.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_display.php
    new file mode 100644
    index 00000000..c5a8dfca
    --- /dev/null
    +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_display.php
    @@ -0,0 +1,86 @@
    +    LICENSE: AGPLv2
    +#
    +# This page displays emails from the log
    +#
    +# changes:
    +# 130221-2124 - First build
    +#
    +
    +require("dbconnect.php");
    +require("functions.php");
    +
    +if (isset($_GET["DB"]))				{$DB=$_GET["DB"];}
    +	elseif (isset($_POST["DB"]))	{$DB=$_POST["DB"];}
    +if (isset($_GET["email_row_id"]))	{$email_row_id=$_GET["email_row_id"];}
    +	elseif (isset($_POST["email_row_id"]))	{$email_row_id=$_POST["email_row_id"];}
    +if (isset($_GET["email_log_id"]))	{$email_log_id=$_GET["email_log_id"];}
    +	elseif (isset($_POST["email_log_id"]))	{$email_log_id=$_POST["email_log_id"];}
    +
    +header ("Content-type: text/html; charset=utf-8");
    +header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    +header ("Pragma: no-cache");                          // HTTP/1.0
    +
    +#############################################
    +##### START SYSTEM_SETTINGS LOOKUP #####
    +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$qm_conf_ct = mysql_num_rows($rslt);
    +if ($qm_conf_ct > 0)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$non_latin =							$row[0];
    +	$timeclock_end_of_day =					$row[1];
    +	$agentonly_callback_campaign_lock =		$row[2];
    +	$custom_fields_enabled =				$row[3];
    +	$allow_emails =				$row[4];
    +	}
    +##### END SETTINGS LOOKUP #####
    +###########################################
    +
    +if ($allow_emails<1) 
    +	{
    +	echo "Your system does not have the email setting enabled\n";
    +	exit;
    +	}
    +
    +if ($non_latin < 1)
    +	{
    +	$user=ereg_replace("[^-_0-9a-zA-Z]","",$user);
    +	$pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass);
    +	}
    +else
    +	{
    +	$user = ereg_replace("'|\"|\\\\|;","",$user);
    +	$pass = ereg_replace("'|\"|\\\\|;","",$pass);
    +	}
    +
    +if ($email_log_id) {
    +	$stmt="select * from vicidial_email_log where email_log_id='$email_log_id'";
    +	$rslt=mysql_query($stmt, $link);
    +} else if ($email_row_id) {
    +	$stmt="select * from vicidial_email_list where email_row_id='$email_row_id'";
    +	$rslt=mysql_query($stmt, $link);
    +}
    +	
    +if (mysql_num_rows($rslt)>0) {
    +	$row=mysql_fetch_array($rslt);
    +	$row["message"]=preg_replace('/\r|\n/', "
    ", $row["message"]); + $EMAIL_form="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="
    Date sent:$row[email_date]
    Message:$row[message]
    "; +} +?> + + + +VICIDIAL email frame + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_report.php new file mode 100644 index 00000000..1f68065b --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_email_log_report.php @@ -0,0 +1,559 @@ + LICENSE: AGPLv2 +# +# report of emails handled by the system +# +# CHANGELOG: +# 130221-2117 - First build +# 130414-0132 - Added report logging +# + +$startMS = microtime(); + +$version = '2.6-2'; +$build = '130414-0132'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["user_group_filter"])) {$user_group_filter=$_GET["user_group_filter"];} + elseif (isset($_POST["user_group_filter"])) {$user_group_filter=$_POST["user_group_filter"];} +if (isset($_GET["email_type"])) {$email_type=$_GET["email_type"];} + elseif (isset($_POST["email_type"])) {$email_type=$_POST["email_type"];} +if (isset($_GET["date_type"])) {$date_type=$_GET["date_type"];} + elseif (isset($_POST["date_type"])) {$date_type=$_POST["date_type"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} + + +$report_name = 'Email Log Report'; +$db_source = 'M'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,email_enabled FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $slave_db_server = $row[2]; + $reports_use_slave_db = $row[3]; + $email_enabled = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {$MAIN.="$stmt\n";} +$gmt_conf_ct = mysql_num_rows($rslt); +$dst = date("I"); +if ($gmt_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + $epoch_offset = (($local_gmt + $dst) * 3600); + } + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level='7' and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$reports_only_user=$row[0]; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + +$stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGuser_group = $row[0]; + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; +$LOGadmin_viewable_call_times = $row[3]; + +if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Sie sind nicht berechtigt, diesen Bericht zu sehen: |$PHP_AUTH_USER|$report_name|\n"; + exit; + } + +$LOGadmin_viewable_groupsSQL=''; +$whereLOGadmin_viewable_groupsSQL=''; +if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; +$rslt=mysql_query($stmt, $link); + +if ($DB) {$MAIN.="$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +$LISTgroups[$i]='---NONE---'; +$i++; +$groups_to_print++; +$groups_string='|'; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] = $row[0]; + $LISTgroup_names[$i] = $row[1]; + $LISTgroup_ids[$i] = $row[2]; + $groups_string .= "$LISTgroups[$i]|"; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + } + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } +if (strlen($group_SQL)<3) {$group_SQL="''";} + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; + + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="$report_name\n"; + +$short_header=1; + +#require("admin_header.php"); + +$MAIN.="
    "; + +if ($DB > 0) + { + $MAIN.="
    \n"; + $MAIN.="$group_ct|$group_string|$group_SQL\n"; + $MAIN.="
    \n"; + $MAIN.="$shift|$query_date|$end_date\n"; + $MAIN.="
    \n"; + } + +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="Zeitraum:
    \n"; +$MAIN.=""; + +$MAIN.="\n"; + +$MAIN.=" to "; + +$MAIN.="\n"; + +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="           "; +if ($DID!='Y') + { + $MAIN.="ÄNDERN Sie | "; + $MAIN.="IVR REPORT | \n"; + } +$MAIN.="REPORTS | "; +$MAIN.="


    \n"; +$MAIN.="
    \n"; + + +$MAIN.="
    \n"; +$MAIN.="
    Select date criteria: 
    "; +if (!$date_type || $date_type=="email_date") {$emailed="checked"; $date_title="received";} +if ($date_type=="call_date") {$called="checked"; $date_title="viewed";} +if ($date_type=="date_answered") {$answrd="checked"; $date_title="answered";} +$rpt_title.="from $query_date_BEGIN to $query_date_END "; +$MAIN.="Date email received
    \n"; +$MAIN.="Date email viewed
    \n"; +$MAIN.="Date email answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="
    Select report type to display: 
    "; +if (!$email_type || $email_type=="received") {$rcvd="checked"; $date_type="email_date"; $email_title="received";} +if ($email_type=="viewed") {$view="checked"; $email_title="viewed";} +if ($email_type=="answered") {$answ="checked"; $email_title="answered";} +$MAIN.="Emails received
    \n"; +$MAIN.="Emails viewed
    \n"; +$MAIN.="Emails answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="\n\n"; +$MAIN.="
    \n\n";
    +
    +if ($groups_to_print < 1)
    +	{
    +	$MAIN.="\n\n";
    +	$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
    +	}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$end_date 23:59:59";
    +
    +$rpt_title="Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\n\n";
    +$MAIN.=$rpt_title;
    +$MAIN.="Email log results: $group_string          $NOW_TIME        DOWNLOAD\n";
    +$CSV_text1.="\"Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\"\n\n";
    +
    +if ($email_type=="received") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +	#	$stmt="select vel.* from vicidial_email_list vel where $date_type>='$query_date_BEGIN' and $date_type<='$query_date_END' and group_id in ($group_SQL) order by $date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +	#	$stmt="select vel.*, vcl.call_date, from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="viewed") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | DATE EMAIL VIEWED   | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="answered") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+---------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE (click to view full text)")." | DATE EMAIL VIEWED   | DATE EMAIL ANTWORTED | ".sprintf("%-20s", "USER")." | ".sprintf("%-50s", "RESPONSE (click to view full text)")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"DATE EMAIL ANTWORTED\",\"USER\",\"RESPONSE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +#echo $stmt."\n";
    +$rslt=mysql_query($stmt, $link);
    +if (mysql_num_rows($rslt)>0) {
    +	$i=0;
    +	$rpt_str=$rpt_border;
    +	$rpt_str.=$rpt_header;
    +	$rpt_str.=$rpt_border;
    +
    +	while($row=mysql_fetch_array($rslt)) {
    +		$email_row_id=$row["email_row_id"];
    +		$email_log_id=$row["email_log_id"];
    +		$lead_id=$row["lead_id"];
    +		$email_date=$row["email_date"];
    +
    +		$email_from=$row["email_from"];
    +		if (mb_strlen($email_from,'UTF-8')>27) {$email_from=mb_substr($email_from,0,27,'UTF-8')."...";}
    +
    +		$sender_name=$row["email_from_name"];
    +		if (mb_strlen($sender_name,'UTF-8')>17) {$sender_name=mb_substr($sender_name,0,17,'UTF-8')."...";}
    +
    +		$message=preg_replace('/\r|\n/', '', strip_tags($row["message"]));	
    +		if (mb_strlen($message,'UTF-8')>47) {$message=mb_substr($message,0,47,'UTF-8')."...";}
    +
    +		$call_date=$row["call_date"];
    +		$date_answered=$row["date_response_sent"];
    +		
    +		$sent_message=preg_replace('/\r|\n/', ' ', strip_tags($row["sent_message"]));
    +		if (mb_strlen($sent_message,'UTF-8')>47) {$sent_message=mb_substr($sent_message,0,47,'UTF-8')."...";}
    +		
    +		$user=$row["sending_user"];
    +		$status=$row["status"];
    +
    +		if ($email_type=="received") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$status\"\n";
    +		} else if ($email_type=="viewed") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$status\"\n";
    +		} else if ($email_type=="answered") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | $date_answered | ".sprintf("%-20s", $user)." | ".sprintf("%-50s", "$sent_message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$date_answered\",\"$user\",\"$sent_message\",\"$status\"\n";
    +		}
    +
    +		$rpt_str.=$rpt_line;
    +	}
    +	$rpt_str.=$rpt_border;
    +} else {
    +	$rpt_str="**NO RESULTS FOUND**\n\n";
    +}
    +	$MAIN.=$rpt_str;
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +$MAIN.="\nRun Time: $RUNtime seconds|$db_source\n";
    +$MAIN.="
    "; +$MAIN.="
    "; + +$MAIN.=""; + +if ($file_download>0) { + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AST_email_log_report_$US$FILE_TIME.csv"; + $CSV_var="CSV_text1"; + $CSV_text=preg_replace('/^\s+/', '', $$CSV_var); + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text1"; + +} else { + echo $HEADER; + echo $JS_text; + require("admin_header.php"); + echo $MAIN; +} + +} + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_hangup_cause_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_hangup_cause_report.php index 0174f659..d0c9b158 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_hangup_cause_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_hangup_cause_report.php @@ -1,12 +1,17 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120331-2301 - First build +# 130413-2348 - Added report logging +# 130419-2047 - Changed how menu lists are generated to speed up initial form load # +$startMS = microtime(); + +$report_name='Hangup Cause Report'; require("dbconnect.php"); @@ -23,6 +28,8 @@ if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["hangup_cause"])) {$hangup_cause=$_GET["hangup_cause"];} elseif (isset($_POST["hangup_cause"])) {$hangup_cause=$_POST["hangup_cause"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -39,6 +46,8 @@ if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$START_TIME=date("U"); + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;"; @@ -56,15 +65,96 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) +##### Hangup Cause Dictionary ##### +$hangup_cause_dictionary = array( +0 => "Unspecified. No other cause codes applicable.", +1 => "Unallocated (unassigned) number.", +2 => "No route to specified transit network (national use).", +3 => "No route to destination.", +6 => "Channel unacceptable.", +7 => "Call awarded, being delivered in an established channel.", +16 => "Normal call clearing.", +17 => "User busy.", +18 => "No user responding.", +19 => "No answer from user (user alerted).", +20 => "Subscriber absent.", +21 => "Call rejected.", +22 => "Number changed.", +23 => "Redirection to new destination.", +25 => "Exchange routing error.", +27 => "Destination out of order.", +28 => "Invalid number format (address incomplete).", +29 => "Facilities rejected.", +30 => "Response to STATUS INQUIRY.", +31 => "Normal, unspecified.", +34 => "No circuit/channel available.", +38 => "Network out of order.", +41 => "Temporary failure.", +42 => "Switching equipment congestion.", +43 => "Access information discarded.", +44 => "Requested circuit/channel not available.", +50 => "Requested facility not subscribed.", +52 => "Outgoing calls barred.", +54 => "Incoming calls barred.", +57 => "Bearer capability not authorized.", +58 => "Bearer capability not presently available.", +63 => "Service or option not available, unspecified.", +65 => "Bearer capability not implemented.", +66 => "Channel type not implemented.", +69 => "Requested facility not implemented.", +79 => "Service or option not implemented, unspecified.", +81 => "Invalid call reference value.", +88 => "Incompatible destination.", +95 => "Invalid message, unspecified.", +96 => "Mandatory information element is missing.", +97 => "Message type non-existent or not implemented.", +98 => "Message not compatible with call state or message type non-existent or not implemented.", +99 => "Information element / parameter non-existent or not implemented.", +100 => "Invalid information element contents.", +101 => "Message not compatible with call state.", +102 => "Recovery on timer expiry.", +103 => "Parameter non-existent or not implemented - passed on (national use).", +111 => "Protocol error, unspecified.", +127 => "Interworking, unspecified." +); + +$master_hangup_cause_array=array(); +$i=0; +while (list($key, $val)=each($hangup_cause_dictionary)) { + $master_hangup_cause_array[$i]=$key; + $i++; +} +$hangup_causes_to_print=count($master_hangup_cause_array); +$master_dialstatus_array=array("ANTWORT", "BUSY", "NOANTWORT", "CANCEL", "CONGESTION", "CHANUNAVAIL", "DONTCALL", "TORTURE", "INVALIDARGS"); +$dialstatuses_to_print=count($master_dialstatus_array); + +/* +$hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); +$i=0; +while($i < $hangup_cause_ct) { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; + if (preg_match('/\-\-ALL\-\-/', $hangup_cause[$i])) + { + $hangup_cause=$master_hangup_cause_array; + break; + } + $i++; } +$j=0; +while($j < $dial_status_ct) + { + if (preg_match('/\-\-ALL\-\-/', $dial_status[$j])) + { + $dial_status=$master_dialstatus_array; + break; + } + $j++; + } +*/ + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -87,6 +177,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} $NOW_DATE = date("Y-m-d"); @@ -101,7 +220,8 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="SELECT server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; +if ($DB) {echo "|$server_stmt|\n";} $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -148,65 +268,102 @@ if (strlen($server_ip_SQL)<3) {$server_ip_SQL="";} ########### HANGUP CAUSES $hangup_cause_string='|'; $dialstatus_string='|'; -$hangup_and_dialstatus_string='|'; +#$hangup_and_dialstatus_string='|'; $hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); $i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - $hangup_and_dialstatus_string .= "$hangup_cause[$i]|"; - $hangup_cause_string .= "$hangup_array[0]|"; - $dialstatus_string .= "$hangup_array[1]|"; + $hangup_cause_string .= "$hangup_cause[$i]|"; $i++; } -$hangupcause_stmt="select distinct hangup_cause, dialstatus from vicidial_carrier_log order by dialstatus, hangup_cause asc"; -$hangupcause_rslt=mysql_query($hangupcause_stmt, $link); -$causes_to_print=mysql_num_rows($hangupcause_rslt); -$i=0; -while ($i < $causes_to_print) +$j=0; +while($j < $dial_status_ct) { - $row=mysql_fetch_row($hangupcause_rslt); - $LISThangup_causes[$i] = $row[0]; - $LISTdialstatuses[$i] = $row[1]; - if (ereg("-ALL",$hangup_cause_string) ) + $dialstatus_string .= "$dial_status[$j]|"; + $j++; + } + +$i=0; $j=0; +$hangup_causes_string='|'; +$dialstatuses_string='|'; +while($i < $hangup_cause_ct) + { + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) ) { - $hangup_cause[$i] = $LISThangup_causes[$i]; - $dialstatus[$i] = $LISTdialstatuses[$i]; + $hangup_causes_string .= "$hangup_cause[$i]|"; + $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; } $i++; } -$i=0; -$hangup_causes_string='|'; -$hangup_cause_ct = count($hangup_cause); +while ($j < $dial_status_ct) + { + if ( (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + $dialstatuses_string .= "$dial_status[$j]|"; + $dial_statusQS .= "&dial_status[]=$dial_status[$j]"; + } + $j++; + } + +$i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - if ( (strlen($hangup_array[0]) > 0) and (preg_match("/\|$hangup_array[0]\|/",$hangup_cause_string)) and (strlen($hangup_array[1]) > 0) and (preg_match("/\|$hangup_array[1]\|/",$dialstatus_string)) ) + $j=0; + while ($j < $dial_status_ct) { - $hangup_causes_string .= "$hangup_array[0]|"; - $hangup_cause_SQL .= "(hangup_cause='$hangup_array[0]' and dialstatus='$hangup_array[1]') OR"; - $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) and (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + if ( ereg("--ALL--",$hangup_cause_string) ) {$HC_subclause="";} else {$HC_subclause="hangup_cause='$hangup_cause[$i]'";} + if ( ereg("--ALL--",$dialstatus_string) ) {$DS_subclause="";} else {$DS_subclause="dialstatus='$dial_status[$j]'";} + if ($HC_subclause=="" || $DS_subclause=="") {$conjunction="";} else {$conjunction=" and ";} + $hangup_cause_SQL .= "($HC_subclause$conjunction$DS_subclause) OR"; + $hangup_cause_SQL=preg_replace('/\(\) OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL .= "(hangup_cause='$hangup_cause[$i]' and dialstatus='$dial_status[$j]') OR"; + } + $j++; } $i++; } if ( (ereg("--ALL--",$hangup_cause_string) ) or ($hangup_cause_ct < 1) ) { - $hangup_cause_SQL = ""; +# $hangup_cause_SQL = ""; $HC_rpt_string="- ALL hangup causes "; if (ereg("--ALL--",$hangup_cause_string)) {$hangup_causeQS="&hangup_cause[]=--ALL--";} } else { - $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); - $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); - $hangup_cause_SQL = "and ($hangup_cause_SQL)"; - $hangup_and_dialstatus_string=preg_replace('/\!/', "-", $hangup_and_dialstatus_string); - $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_and_dialstatus_string, 1, -1)); +# $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +# $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +# $hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $hangup_causes_string=preg_replace('/\!/', "-", $hangup_causes_string); + $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_causes_string, 1, -1)); } -if (strlen($hangup_cause_SQL)<3) {$hangup_cause_SQL="";} + +if ( (ereg("--ALL--",$dial_status_string) ) or ($dial_status_ct < 1) ) + { + $dial_status_SQL = ""; + $DS_rpt_string="- ALL dial statuses "; + if (ereg("--ALL--",$dial_status_string)) {$dial_statusQS="&dial_status[]=--ALL--";} + } +else + { + #$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); + #$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $dialstatuses_string=preg_replace('/\!/', "-", $dialstatuses_string); + $DS_rpt_string="AND dial status(es) ".preg_replace('/\|/', ", ", substr($dialstatuses_string, 1, -1)); + } + +$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + +if (strlen($hangup_cause_SQL)<7) {$hangup_cause_SQL="";} + ######################## $HEADER.="\n"; $HEADER.="\n"; @@ -267,22 +424,44 @@ while ($servers_to_print > $o) } $MAIN.="
    Hangup Cause/Dial Status:
    "; +$MAIN.="
    Hangup Cause:
    "; $MAIN.="
    Dial status:
    "; +$MAIN.=""; +$MAIN.="
    "; @@ -292,7 +471,7 @@ $MAIN.="\n"; $MAIN.="

    \n"; $MAIN.="
    \n"; if ($SUBMIT && $server_ip_ct>0) { - $stmt="select hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; + $stmt="SELECT hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; $rslt=mysql_query($stmt, $link); $MAIN.="
    \n";
     	if ($DB) {$MAIN.=$stmt."\n";}
    @@ -313,14 +492,14 @@ if ($SUBMIT && $server_ip_ct>0) {
     		$MAIN.="|                      TOTAL | ".sprintf("%-8s", $total_count)."|\n";
     		$MAIN.="+--------------+-------------+---------+\n\n\n";
     
    -		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
    +		$rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
     		if ($DB) {$MAIN.=$rpt_stmt."\n";}
     
     		if (!$lower_limit) {$lower_limit=1;}
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
    -		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
    +		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string, $DS_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
     		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | BEDIENERIP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | ANTWORTED TIME | PHONE NUMBER |\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    @@ -331,7 +510,7 @@ if ($SUBMIT && $server_ip_ct>0) {
     			$phone_number=""; $phone_note="";
     
     			if (strlen($row["phone_number"])==0) {
    -				$stmt2="select phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
    +				$stmt2="SELECT phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
     				$rslt2=mysql_query($stmt2, $link);
     				$channel=$row["channel"];
     				while ($row2=mysql_fetch_array($rslt2)) {
    @@ -363,14 +542,14 @@ if ($SUBMIT && $server_ip_ct>0) {
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
     		if ($ll>=1) {
    -			$carrier_rpt_hf.="[<<< PREV 1000 records]";
    +			$carrier_rpt_hf.="[<<< PREV 1000 records]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%-23s", " ");
     		}
     		$carrier_rpt_hf.=sprintf("%-145s", " ");
     		if (($lower_limit+1000)=mysql_num_rows($rpt_rslt)) {$max_limit=mysql_num_rows($rpt_rslt)-$upper_limit;} else {$max_limit=1000;}
    -			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
    +			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%23s", " ");
     		}
    @@ -403,11 +582,35 @@ if ($SUBMIT && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$END_TIME=date("U");
    +
    +#print "Total run time: ".($END_TIME-$START_TIME);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_inbound_daily_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_inbound_daily_report.php
    index b416427d..afc7b168 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_inbound_daily_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_inbound_daily_report.php
    @@ -1,17 +1,30 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Matt Florell     LICENSE: AGPLv2
     #
     # CHANGES
     #
     # 111119-1234 - First build
     # 120118-2116 - Changed headers on CSV download
     # 120224-0910 - Added HTML display option with bar graphs
    +# 120601-2235 - Added group name to header, added status breakdown counts to page and CSV with option to display them
    +# 120611-2200 - Added ability to filter output by call time
    +# 120819-0118 - Formatting changes
    +# 121115-0621 - Changed to multi-select for in-group selection
    +# 130322-2008 - Added Unique Agents column
    +# 130414-0110 - Added report logging
     #
     
    +$startMS = microtime();
    +
     require("dbconnect.php");
     
    +if (file_exists('options.php'))
    +        {
    +        require('options.php');
    +        }
    +
     $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
     $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
     $PHP_SELF=$_SERVER['PHP_SELF'];
    @@ -27,6 +40,10 @@ if (isset($_GET["file_download"]))			{$file_download=$_GET["file_download"];}
     	elseif (isset($_POST["file_download"]))	{$file_download=$_POST["file_download"];}
     if (isset($_GET["hourly_breakdown"]))			{$hourly_breakdown=$_GET["hourly_breakdown"];}
     	elseif (isset($_POST["hourly_breakdown"]))	{$hourly_breakdown=$_POST["hourly_breakdown"];}
    +if (isset($_GET["show_disposition_statuses"]))			{$show_disposition_statuses=$_GET["show_disposition_statuses"];}
    +	elseif (isset($_POST["show_disposition_statuses"]))	{$show_disposition_statuses=$_POST["show_disposition_statuses"];}
    +if (isset($_GET["ignore_afterhours"]))			{$ignore_afterhours=$_GET["ignore_afterhours"];}
    +	elseif (isset($_POST["ignore_afterhours"]))	{$ignore_afterhours=$_POST["ignore_afterhours"];}
     if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
     	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
     if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
    @@ -44,6 +61,8 @@ if (strlen($shift)<2) {$shift='ALL';}
     $report_name = 'Inbound Daily Report';
     $db_source = 'M';
     
    +if ($ignore_afterhours=="checked") {$status_clause=" and status!='AFTHRS'";}
    +
     #############################################
     ##### START SYSTEM_SETTINGS LOOKUP #####
     $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;";
    @@ -61,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	$MAIN.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -91,6 +101,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	$MAIN.="\n";
    +	}
    +
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     $rslt=mysql_query($stmt, $link);
    @@ -124,14 +163,34 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl
     	$whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')";
     	}
     
    -$LOGadmin_viewable_call_timesSQL='';
    -$whereLOGadmin_viewable_call_timesSQL='';
    -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +if ($IDR_calltime_available==1)
     	{
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    -	$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    -	$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +	$LOGadmin_viewable_call_timesSQL='';
    +	$whereLOGadmin_viewable_call_timesSQL='';
    +	if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +		{
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    +		$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		}
    +
    +	$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {$MAIN.="$stmt\n";}
    +	$times_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $times_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$call_times[$i] =		$row[0];
    +		$call_time_names[$i] =	$row[1];
    +		$i++;
    +		}
    +	}
    +else 
    +	{
    +	$shift="24hours";
     	}
     
     $NOW_DATE = date("Y-m-d");
    @@ -140,6 +199,25 @@ $STARTtime = date("U");
     if (!isset($group)) {$group = '';}
     if (!isset($query_date)) {$query_date = $NOW_DATE;}
     if (!isset($end_date)) {$end_date = $NOW_DATE;}
    +$groups_selected = count($group);
    +$group_name_str="";
    +$groups_selected_str="";
    +$groups_selected_URLstr="";
    +for ($i=0; $i<$groups_selected; $i++) 
    +	{
    +	$selected_group_URLstr.="&group[]=$group[$i]";
    +	if ($group[$i]=="--ALL--") 
    +		{
    +		$group=array("--ALL--");
    +		$groups_selected=1;
    +		$group_name_str.="-- ALL INGROUPS --";
    +		$all_selected="selected";
    +		}
    +	else 
    +		{
    +		$groups_selected_str.="'$group[$i]', ";
    +		}
    +	}
     
     $stmt="select group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;";
     $rslt=mysql_query($stmt, $link);
    @@ -153,6 +231,26 @@ while ($i < $groups_to_print)
     	$groups[$i] =		$row[0];
     	$group_names[$i] =	$row[1];
     	$groups_string .= "$groups[$i]|";
    +	for ($j=0; $j<$groups_selected; $j++) {
    +		if ($group[$j] && $groups[$i]==$group[$j]) {$group_name_str.="$groups[$i] - $group_names[$i], ";}
    +		if ($group[$j]=="--ALL--") {$groups_selected_str.="'$groups[$i]', ";}
    +	}
    +	$i++;
    +	}
    +
    +$groups_selected_str=preg_replace('/, $/', '', $groups_selected_str);
    +$group_name_str=preg_replace('/, $/', '', $group_name_str);
    +
    +$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {$MAIN.="$stmt\n";}
    +$times_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $times_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$call_times[$i] =		$row[0];
    +	$call_time_names[$i] =	$row[1];
     	$i++;
     	}
     
    @@ -166,11 +264,11 @@ $HEADER.="   .orange {color: black; background-color: #FFCC99}\n";
     $HEADER.="-->\n";
     $HEADER.=" \n";
     
    -if (!preg_match("/\|$group\|/i",$groups_string))
    -	{
    -	$HEADER.="\n";
    -	$group='';
    -	}
    +#if (!preg_match("/\|$group\|/i",$groups_string))
    +#	{
    +#	$HEADER.="\n";
    +#	$group='';
    +#	}
     
     $HEADER.="\n";
     $HEADER.="\n";
    @@ -183,9 +281,9 @@ $short_header=1;
     
     # require("admin_header.php");
     
    -$MAIN.="
    "; - $MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    "; + $MAIN.=""; $MAIN.="\n"; -$MAIN.="\n"; +$MAIN.="\n"; $o=0; while ($groups_to_print > $o) { - if ($groups[$o] == $group) {$MAIN.="\n";} - else {$MAIN.="\n";} + $selected=""; + for ($i=0; $i<$groups_selected; $i++) { + echo "\n"; + if ($groups[$o] == $group[$i]) {$selected="selected";} + } + $MAIN.="\n"; $o++; } $MAIN.="\n"; @@ -225,26 +328,29 @@ $MAIN.="  "; $MAIN.="  "; -$MAIN.="\n"; -$MAIN.="\n"; -$MAIN.="           DOWNLOAD | ÄNDERN Sie | REPORTS
    Show hourly results
    \n"; -$MAIN.="\n\n"; + +if ($IDR_calltime_available==1) + { + $MAIN.="\n"; + } + +$MAIN.="
    Show hourly results
    Show disposition statuses
    Ignore after-hours calls
    DOWNLOAD | ÄNDERN Sie | REPORTS
    "; $MAIN.="
    \n\n";
     
     
    -if (!$group)
    +if ($groups_selected==0)
     	{
     	$MAIN.="\n\n";
     	$MAIN.="Wählen Sie eine IM-Gruppe und Zeitraum oberhalb und klicken Sie auf Senden\n";
    @@ -256,94 +362,247 @@ if (!$group)
     else
     	{
     	### FOR SHIFTS IT IS BEST TO STICK TO 15-MINUTE INCREMENTS FOR START TIMES ###
    +	if ($shift && $shift!="ALL") {
    +		# call_time_id | call_time_name              | call_time_comments | ct_default_start | ct_default_stop | ct_sunday_start | ct_sunday_stop | ct_monday_start | ct_monday_stop | ct_tuesday_start | ct_tuesday_stop | ct_wednesday_start | ct_wednesday_stop | ct_thursday_start | ct_thursday_stop | ct_friday_start | ct_friday_stop | ct_saturday_start | ct_saturday_stop
    +		$big_shift_time_SQL_clause ="";
    +		$shift_stmt="select * from vicidial_call_times where call_time_id='$shift'";
    +		$shift_rslt=mysql_query($shift_stmt, $link);
    +		$shift_row=mysql_fetch_array($shift_rslt);
    +		$default_start_time=substr("0000".$shift_row["ct_default_start"], -4);
    +		$default_stop_time=substr("0000".$shift_row["ct_default_stop"], -4);
    +		$ct_default_start=substr($default_start_time,0,2).":".substr($default_start_time,2,2).":00";
    +		$ct_default_stop=substr($default_stop_time,0,2).":".substr($default_stop_time,2,2).":00";
     
    -	if ($shift == 'AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}   
    -		if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +		if ($shift_row["ct_sunday_start"]!=$shift_row["ct_sunday_stop"]) {
    +			$sunday_start_time=substr("0000".$shift_row["ct_sunday_start"], -4);
    +			$sunday_stop_time=substr("0000".$shift_row["ct_sunday_stop"], -4);
    +			$ct_sunday_start=substr($sunday_start_time,0,2).":".substr($sunday_start_time,2,2).":00";
    +			$ct_sunday_stop=substr($sunday_stop_time,0,2).":".substr($sunday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_sunday_start"]!="2400") {
    +			$ct_sunday_start=$ct_default_start;
    +			$ct_sunday_stop=$ct_default_stop;
    +		} else {
    +			$ct_sunday_start="00:00:00";
    +			$ct_sunday_stop=1;
     		}
    -	if ($shift == 'PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_sunday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_sunday_stop=$strow[0];
    +		$start_time_ary[0]=$ct_sunday_start;
    +		$stop_time_ary[0]=$ct_sunday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=0 and date_format(call_date, '%H:%i:%s')>='$ct_sunday_start' and date_format(call_date, '%H:%i:%s')<='$ct_sunday_stop') or ";
    +
    +		if ($shift_row["ct_monday_start"]!=$shift_row["ct_monday_stop"]) {
    +			$monday_start_time=substr("0000".$shift_row["ct_monday_start"], -4);
    +			$monday_stop_time=substr("0000".$shift_row["ct_monday_stop"], -4);
    +			$ct_monday_start=substr($monday_start_time,0,2).":".substr($monday_start_time,2,2).":00";
    +			$ct_monday_stop=substr($monday_stop_time,0,2).":".substr($monday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_monday_start"]!="2400") {
    +			$ct_monday_start=$ct_default_start;
    +			$ct_monday_stop=$ct_default_stop;
    +		} else {
    +			$ct_monday_start="00:00:00";
    +			$ct_monday_stop=1;
     		}
    -	if ($shift == 'ALL') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_monday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_monday_stop=$strow[0];
    +		$start_time_ary[1]=$ct_monday_start;
    +		$stop_time_ary[1]=$ct_monday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=1 and date_format(call_date, '%H:%i:%s')>='$ct_monday_start' and date_format(call_date, '%H:%i:%s')<='$ct_monday_stop') or ";
    +
    +		if ($shift_row["ct_tuesday_start"]!=$shift_row["ct_tuesday_stop"]) {
    +			$tuesday_start_time=substr("0000".$shift_row["ct_tuesday_start"], -4);
    +			$tuesday_stop_time=substr("0000".$shift_row["ct_tuesday_stop"], -4);
    +			$ct_tuesday_start=substr($tuesday_start_time,0,2).":".substr($tuesday_start_time,2,2).":00";
    +			$ct_tuesday_stop=substr($tuesday_stop_time,0,2).":".substr($tuesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_tuesday_start"]!="2400") {
    +			$ct_tuesday_start=$ct_default_start;
    +			$ct_tuesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_tuesday_start="00:00:00";
    +			$ct_tuesday_stop=1;
     		}
    -	if ($shift == 'DAYTIME') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_tuesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_tuesday_stop=$strow[0];
    +		$start_time_ary[2]=$ct_tuesday_start;
    +		$stop_time_ary[2]=$ct_tuesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=2 and date_format(call_date, '%H:%i:%s')>='$ct_tuesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_tuesday_stop') or ";
    +
    +		if ($shift_row["ct_wednesday_start"]!=$shift_row["ct_wednesday_stop"]) {
    +			$wednesday_start_time=substr("0000".$shift_row["ct_wednesday_start"], -4);
    +			$wednesday_stop_time=substr("0000".$shift_row["ct_wednesday_stop"], -4);
    +			$ct_wednesday_start=substr($wednesday_start_time,0,2).":".substr($wednesday_start_time,2,2).":00";
    +			$ct_wednesday_stop=substr($wednesday_stop_time,0,2).":".substr($wednesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_wednesday_start"]!="2400") {
    +			$ct_wednesday_start=$ct_default_start;
    +			$ct_wednesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_wednesday_start="00:00:00";
    +			$ct_wednesday_stop=1;
     		}
    -	if ($shift == '10AM-6PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_wednesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_wednesday_stop=$strow[0];
    +		$start_time_ary[3]=$ct_wednesday_start;
    +		$stop_time_ary[3]=$ct_wednesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=3 and date_format(call_date, '%H:%i:%s')>='$ct_wednesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_wednesday_stop') or ";
    +
    +		if ($shift_row["ct_thursday_start"]!=$shift_row["ct_thursday_stop"]) {
    +			$thursday_start_time=substr("0000".$shift_row["ct_thursday_start"], -4);
    +			$thursday_stop_time=substr("0000".$shift_row["ct_thursday_stop"], -4);
    +			$ct_thursday_start=substr($thursday_start_time,0,2).":".substr($thursday_start_time,2,2).":00";
    +			$ct_thursday_stop=substr($thursday_stop_time,0,2).":".substr($thursday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_thursday_start"]!="2400") {
    +			$ct_thursday_start=$ct_default_start;
    +			$ct_thursday_stop=$ct_default_stop;
    +		} else {
    +			$ct_thursday_start="00:00:00";
    +			$ct_thursday_stop=1;
     		}
    -	if ($shift == '9AM-1AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_thursday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_thursday_stop=$strow[0];
    +		$start_time_ary[4]=$ct_thursday_start;
    +		$stop_time_ary[4]=$ct_thursday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=4 and date_format(call_date, '%H:%i:%s')>='$ct_thursday_start' and date_format(call_date, '%H:%i:%s')<='$ct_thursday_stop') or ";
    +
    +		if ($shift_row["ct_friday_start"]!=$shift_row["ct_friday_stop"]) {
    +			$friday_start_time=substr("0000".$shift_row["ct_friday_start"], -4);
    +			$friday_stop_time=substr("0000".$shift_row["ct_friday_stop"], -4);
    +			$ct_friday_start=substr($friday_start_time,0,2).":".substr($friday_start_time,2,2).":00";
    +			$ct_friday_stop=substr($friday_stop_time,0,2).":".substr($friday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_friday_start"]!="2400") {
    +			$ct_friday_start=$ct_default_start;
    +			$ct_friday_stop=$ct_default_stop;
    +		} else {
    +			$ct_friday_start="00:00:00";
    +			$ct_friday_stop=1;
     		}
    -	if ($shift == '845-1745') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:44:59";}
    -		}
    -	if ($shift == '1745-100') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_friday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_friday_stop=$strow[0];
    +		$start_time_ary[5]=$ct_friday_start;
    +		$stop_time_ary[5]=$ct_friday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=5 and date_format(call_date, '%H:%i:%s')>='$ct_friday_start' and date_format(call_date, '%H:%i:%s')<='$ct_friday_stop') or ";
    +
    +		if ($shift_row["ct_saturday_start"]!=$shift_row["ct_saturday_stop"]) {
    +			$saturday_start_time=substr("0000".$shift_row["ct_saturday_start"], -4);
    +			$saturday_stop_time=substr("0000".$shift_row["ct_saturday_stop"], -4);
    +			$ct_saturday_start=substr($saturday_start_time,0,2).":".substr($saturday_start_time,2,2).":00";
    +			$ct_saturday_stop=substr($saturday_stop_time,0,2).":".substr($saturday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_saturday_start"]!="2400") {
    +			$ct_saturday_start=$ct_default_start;
    +			$ct_saturday_stop=$ct_default_stop;
    +		} else {
    +			$ct_saturday_start="00:00:00";
    +			$ct_saturday_stop=1;
     		}
    +		$stop_time_stmt="select TIMEDIFF('$ct_saturday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_saturday_stop=$strow[0];
    +		$start_time_ary[6]=$ct_saturday_start;
    +		$stop_time_ary[6]=$ct_saturday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=6 and date_format(call_date, '%H:%i:%s')>='$ct_saturday_start' and date_format(call_date, '%H:%i:%s')<='$ct_saturday_stop') or ";
     
    -	$time1 = strtotime($time_BEGIN);
    -	$time2 = strtotime($time_END)+1;
    +		$query_time_stmt="select date_format('$query_date', '%w'), date_format('$end_date', '%w')";
    +		$query_time_rslt=mysql_query($query_time_stmt, $link);
    +		$qrow=mysql_fetch_row($query_time_rslt);
    +		$time_BEGIN=$start_time_ary[$qrow[0]];
    +		$time_END=$stop_time_ary[$qrow[0]];
    +		#$time_BEGIN="00:00:00"; # Need this so the $SQepoch value can be tweaked per day (i.e. only adding the hours for the start time);
     
    -	$hpd = ceil(($time2 - $time1) / 3600);
    -	if ($hpd<0) {$hpd+=24;}
    +		$query_date_BEGIN = "$query_date ".$time_BEGIN;   
    +		$query_date_END = "$end_date ".$time_END;
    +		RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); # Only calling it here to get the DURATIONday, EQepoch, and intial SQepoch
    +		# Will be called repeatedly for each day
     
    +		$big_shift_time_SQL_clause=preg_replace('/\sor\s$/', '', $big_shift_time_SQL_clause);
    +		$big_shift_time_SQL_clause=" and ($big_shift_time_SQL_clause)";
    +		#echo $big_shift_time_SQL_clause;
    +		#print_r($start_time_ary); echo "
    "; + #print_r($stop_time_ary); echo "
    "; + } else { - $query_date_BEGIN = "$query_date $time_BEGIN"; - $query_date_END = "$end_date $time_END"; + if ($shift == 'ALL') + { + if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";} + if (strlen($time_END) < 6) {$time_END = "23:59:59";} + } - $SQdate_ARY = explode(' ',$query_date_BEGIN); - $SQday_ARY = explode('-',$SQdate_ARY[0]); - $SQtime_ARY = explode(':',$SQdate_ARY[1]); - $EQdate_ARY = explode(' ',$query_date_END); - $EQday_ARY = explode('-',$EQdate_ARY[0]); - $EQtime_ARY = explode(':',$EQdate_ARY[1]); + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; - $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); - - $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); - $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); - - $DURATIONsec = ($EQepoch - $SQepoch); - $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); - - if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) - { - $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); - $query_date_END = date("Y-m-d H:i:s", $EQepoch); - $DURATIONday++; - } + RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); + } $MAIN.="Inbound Daily Report $NOW_TIME\n"; - $MAIN.="Selected in-group: $group\n"; - $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END for $shift shift\n\n"; + $MAIN.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$MAIN.="Selected shift: $shift\n";} + $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END"; + if ($shift && $IDR_calltime_available) {$MAIN.="for $shift shift";} + $MAIN.="\n\n"; #echo "Time range day sec: $SQsec - $EQsec Day range in epoch: $SQepoch - $EQepoch Start: $SQepochDAY\n"; $CSV_text.="\"Inbound Daily Report\",\"$NOW_TIME\"\n"; - $CSV_text.="Selected in-group: $group\n"; - $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END for $shift shift\"\n\n"; + $CSV_text.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$CSV_text.="Selected shift: $shift\n";} + $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END\""; + if ($shift && $IDR_calltime_available) {$CSV_text.="for $shift shift";} + $CSV_text.="\n\n"; - $d=0; $q=0; $hr=0; + if ($show_disposition_statuses) { + $dispo_stmt="select distinct status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ") $big_shift_time_SQL_clause order by status;"; + #echo $dispo_stmt."
    "; + $dispo_rslt=mysql_query($dispo_stmt, $link); + $dispo_str=""; + $s=0; + while($dispo_row=mysql_fetch_row($dispo_rslt)) { + $status_array[$s][0]="$dispo_row[0]"; + $status_array[$s][1]=""; + $dispo_str.="'$dispo_row[0]',"; + $stat_stmt="select distinct status, status_name from vicidial_statuses where status='$dispo_row[0]' UNION select distinct status, status_name from vicidial_campaign_statuses where status='$dispo_row[0]' order by status;"; + #echo $stat_stmt."
    "; + $stat_rslt=mysql_query($stat_stmt, $link); + while ($stat_row=mysql_fetch_array($stat_rslt)) { + $status_array[$s][1]=$stat_row["status_name"]; + } + $s++; + } + $dispo_str=substr($dispo_str,0,-1); + asort($status_array); + #print_r($status_array); +# if (strlen($dispo_str)>0) { +# } + } + + $d=0; $q=0; $hr=0; $shift_hrs=0; while ($d < $DURATIONday) { - $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) ); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600)); + + if ($shift && $shift!="ALL" && $RECALC==1) + { + # Need to get current day, hours for that day (hpd) + $current_dayofweek=date("w", $dSQepoch); + $time_BEGIN=$start_time_ary[$current_dayofweek]; + $time_END=$stop_time_ary[$current_dayofweek]; + HourDifference($time_BEGIN, $time_END); # new hpd + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; + RecalculateEpochs($query_date_BEGIN, $query_date_END); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) + ($shift_hrs * 3600) ); + #echo " --- NEW DAY: $query_date_BEGIN / $query_date_END ---
    "; + $RECALC=0; + } + if ($hourly_breakdown) { @@ -351,17 +610,17 @@ else } else { - $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600) ) ); + $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600)) ); if ($EQsec < $SQsec) { $dEQepoch = ($dEQepoch + 86400); } } + #echo "$dSQepoch - $dEQepoch, ".date("Y-m-d H:i:s", $dSQepoch)." - ".date("Y-m-d H:i:s", $dEQepoch).", ".date("D", $dSQepoch)." - $hpd hours - shift starts at $shift_hrs:00:00
    "; $daySTART[$q] = date("Y-m-d H:i:s", $dSQepoch); $dayEND[$q] = date("Y-m-d H:i:s", $dEQepoch); - # || $time_END<=date("H:i:s", $dEQepoch) if ($hr>=($hpd-1) || !$hourly_breakdown) { $d++; @@ -370,6 +629,7 @@ else { $dayEND[$q] = date("Y-m-d ", $dEQepoch).$time_END; } + $RECALC=1; } else { @@ -467,11 +727,12 @@ else ### GRAB ALL RECORDS WITHIN RANGE FROM THE DATABASE ### - $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';"; + $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date,user from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ");"; $rslt=mysql_query($stmt, $link); if ($DB) {$ASCII_text.="$stmt\n";} $records_to_grab = mysql_num_rows($rslt); $i=0; + $fTOTAL_agents=array(); if($hourly_breakdown) {$epoch_interval=3600;} else {$epoch_interval=86400;} while ($i < $records_to_grab) { @@ -492,7 +753,8 @@ else $st[$i] = $row[3]; $tr[$i] = $row[4]; $at[$i] = $row[5]; # Actual time - + if ($row[6]!="VDCL" && $row[6]!="") {$ag[$i] = $row[6];} # User + # $fTOTAL_agents["$row[6]"]++; # $ASCII_text.= "$qs[$i] | $dt[$i] - $row[1] | $ut[$i] | $ls[$i] | $st[$i] | $tr[$i] | $at[$i]\n"; $i++; @@ -529,12 +791,15 @@ else $totANTWORTSdate=$MT; $totANTWORTS=0; + $totAGENTS=0; $totABANDONS=0; $totANTWORTSsec=0; $totABANDONSsec=0; $totANTWORTSspeed=0; + $totSTATUSES=array(); $FtotANTWORTS=0; + $FtotAGENTS=count(array_count_values($ag)); $FtotABANDONS=0; $FtotANTWORTSsec=0; $FtotABANDONSsec=0; @@ -554,6 +819,7 @@ else $totANTWORTSsecdate[$j]=0; $totANTWORTSspeeddate[$j]=0; $i=0; + $agents_array=array(); while ($i < $records_to_grab) { if ( ($at[$i] >= $daySTART[$j]) and ($at[$i] <= $dayEND[$j]) ) @@ -565,6 +831,12 @@ else # $qrtCALLSsec[$j] = ($qrtCALLSsec[$j] + $ls[$i]); # $dtt = $dt[$i]; $totCALLSdate[$j]++; + # $totAGENTSdate[$j]=$ag[$i]; + if ($ag[$i]!="VDCL" && $ag[$i]!="") {$totAGENTSdate[$j][$ag[$i]]++;} + + $totSTATUSES[$st[$i]]++; + $totSTATUSESdate[$j][$st[$i]]++; + if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} if (ereg('ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS', $tr[$i])) @@ -577,10 +849,12 @@ else else { $totANTWORTSdate[$j]++; - $totANTWORTSsecdate[$j]+=($ls[$i]-$qs[$i]-15); + if (($ls[$i]-$qs[$i]-15)>0) { ## Patch by Joe J - can cause negative time values if removed. + $totANTWORTSsecdate[$j]+=($ls[$i]-$qs[$i]-15); + $FtotANTWORTSsec+=($ls[$i]-$qs[$i]-15); + } $totANTWORTSspeeddate[$j]+=$qs[$i]; $FtotANTWORTS++; - $FtotANTWORTSsec+=($ls[$i]-$qs[$i]-15); $FtotANTWORTSspeeddate+=$qs[$i]; } if (ereg('DROP',$st[$i])) @@ -626,14 +900,37 @@ else ################################################### ### TOTALS SUMMARY SECTION ### - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |\n"; - $ASCII_text.="| SHIFT | CALLS | CALLS | CALLS | ABANDON | ABANDON | ANTWORT | TALK | TALK | WRAP | CALL |\n"; - $ASCII_text.="| DATE-TIME RANGE | OFFERED | ANTWORTED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"AVG\",\"AVG\",\"AVG\",\"TOTAL\",\"TOTAL\",\"TOTAL\"\n"; - $CSV_text.="\"\",\"CALLS\",\"CALLS\",\"CALLS\",\"ABANDON\",\"ABANDON\",\"ANTWORT\",\"TALK\",\"TALK\",\"WRAP\",\"CALL\"\n"; - $CSV_text.="\"SHIFT DATE-TIME RANGE\",\"OFFERED\",\"ANTWORTED\",\"ABANDONED\",\"PERCENT\",\"TIME\",\"SPEED\",\"TIME\",\"TIME\",\"TIME\",\"TIME\"\n"; + $MAINH="+-------------------------------------------+---------+----------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+"; + $MAIN1="| | TOTAL | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |"; + $MAIN2="| SHIFT | CALLS | CALLS | AGENTS | CALLS | ABANDON | ABANDON | ANTWORT | TALK | TALK | WRAP | CALL |"; + $MAIN3="| DATE-TIME RANGE | OFFERED | ANTWORTED | ANTWORTED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |"; + $CSV_text1=""; + $CSV_text2=""; + $CSV_text3=""; + + for ($s=0; $sGESAMTANRUFEOFFERED
    GESAMTANRUFEANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $MTD_GRAPH="

    GESAMTANRUFEOFFEREDGESAMTANRUFEANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $WTD_GRAPH="

    GESAMTANRUFEOFFEREDGESAMTANRUFEANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $QTD_GRAPH="

    GESAMTANRUFEOFFEREDGESAMTANRUFEANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $GRAPH="
    GESAMTANRUFEOFFEREDGESAMTANRUFEANTWORTEDTOTAL AGENTS ANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $MTD_GRAPH="

    GESAMTANRUFEOFFEREDGESAMTANRUFEANTWORTEDTOTAL AGENTS ANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $WTD_GRAPH="

    GESAMTANRUFEOFFEREDGESAMTANRUFEANTWORTEDTOTAL AGENTS ANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $QTD_GRAPH="

    GESAMTANRUFEOFFEREDGESAMTANRUFEANTWORTEDTOTAL AGENTS ANTWORTEDGESAMTANRUFEABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ANTWORT SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; $graph_header=""; $OFFERED_graph=$graph_header.""; $ANTWORTED_graph=$graph_header.""; + $AGENTS_graph=$graph_header.""; $ABANDONED_graph=$graph_header.""; $ABANDONPCT_graph=$graph_header.""; $AVGABANDONTIME_graph=$graph_header.""; @@ -703,24 +1005,30 @@ else $totCALLSwtd=0; $totANTWORTSwtd=0; + $totAGENTSwtd=0; $AGENTS_wtd_array=array(); $totANTWORTSsecwtd=0; $totANTWORTSspeedwtd=0; $totABANDONSwtd=0; $totABANDONSsecwtd=0; + $totSTATUSESwtd=array(); $totCALLSmtd=0; $totANTWORTSmtd=0; + $totAGENTSmtd=0; $AGENTS_mtd_array=array(); $totANTWORTSsecmtd=0; $totANTWORTSspeedmtd=0; $totABANDONSmtd=0; $totABANDONSsecmtd=0; + $totSTATUSESmtd=array(); $totCALLSqtd=0; $totANTWORTSqtd=0; + $totAGENTSqtd=0; $AGENTS_qtd_array=array(); $totANTWORTSsecqtd=0; $totANTWORTSspeedqtd=0; $totABANDONSqtd=0; $totABANDONSsecqtd=0; + $totSTATUSESqtd=array(); $d=0; while ($d < $TOTintervals) @@ -767,16 +1075,8 @@ else $totCALLSavgDATE[$d] = 0; $totTIME_MS=' '; } - /* - $totCALLSavgDATE[$d] = sprintf("%6.0f", $totCALLSavgDATE[$d]); - $totDROPSavgDATE[$d] = sprintf("%7.2f", $totDROPSavgDATE[$d]); - $totQUEUEavgDATE[$d] = sprintf("%7.2f", $totQUEUEavgDATE[$d]); - $totQUEUEtotDATE[$d] = sprintf("%7.2f", $totQUEUEtotDATE[$d]); - $totDROPSpctDATE[$d] = sprintf("%6.2f", $totDROPSpctDATE[$d]); - $totQUEUEpctDATE[$d] = sprintf("%6.2f", $totQUEUEpctDATE[$d]); - $totDROPSdate[$d] = sprintf("%6s", $totDROPSdate[$d]); - $totQUEUEdate[$d] = sprintf("%6s", $totQUEUEdate[$d]); - */ $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + if ($totCALLSdate[$d]>0) { @@ -828,6 +1128,7 @@ else if (date("w", strtotime($daySTART[$d]))==0 && date("w", strtotime($daySTART[$d-1]))!=0 && $d>0) { # 2nd date/"w" check is for DST + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); @@ -869,12 +1170,16 @@ else $wtd_graph_stats[$wa][14]=($totANTWORTSsecwtd+($totANTWORTSwtd*15)); $wtd_graph_stats[$wa][15]=$totANTWORTSsecwtd; $totANTWORTStotTIMEwtd = sprintf("%10s", floor(($totANTWORTSsecwtd+($totANTWORTSwtd*15))/3600).date(":i:s", mktime(0, 0, ($totANTWORTSsecwtd+($totANTWORTSwtd*15))))); + # $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totANTWORTSwtd = sprintf("%8s", $totANTWORTSwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totANTWORTSwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totANTWORTSwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -894,21 +1199,33 @@ else $wtd_graph_stats[$wa][8]=trim($totANTWORTStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totANTWORTSwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totANTWORTStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wa++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totANTWORTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totANTWORTSavgspeedTIMEwtd | $totANTWORTSavgTIMEwtd | $totANTWORTStalkTIMEwtd | $totANTWORTSwrapTIMEwtd | $totANTWORTStotTIMEwtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totANTWORTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totANTWORTSavgspeedTIMEwtd\",\"$totANTWORTSavgTIMEwtd\",\"$totANTWORTStalkTIMEwtd\",\"$totANTWORTSwrapTIMEwtd\",\"$totANTWORTStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totANTWORTSwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totANTWORTSavgspeedTIMEwtd | $totANTWORTSavgTIMEwtd | $totANTWORTStalkTIMEwtd | $totANTWORTSwrapTIMEwtd | $totANTWORTStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totANTWORTSwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totANTWORTSavgspeedTIMEwtd\",\"$totANTWORTSavgTIMEwtd\",\"$totANTWORTStalkTIMEwtd\",\"$totANTWORTSwrapTIMEwtd\",\"$totANTWORTStotTIMEwtd\""; + for ($s=0; $s0 && date("d", strtotime($daySTART[$d-1]))!=1) { + if (date("d", strtotime($daySTART[$d]))==1 && $d>0 && date("d", strtotime($daySTART[$d-1]))!=1) + { + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); if ($totCALLSmtd>0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -950,6 +1267,8 @@ else $mtd_graph_stats[$ma][14]=($totANTWORTSsecmtd+($totANTWORTSmtd*15)); $mtd_graph_stats[$ma][15]=$totANTWORTSsecmtd; $totANTWORTStotTIMEmtd = sprintf("%10s", floor(($totANTWORTSsecmtd+($totANTWORTSmtd*15))/3600).date(":i:s", mktime(0, 0, ($totANTWORTSsecmtd+($totANTWORTSmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totANTWORTSmtd = sprintf("%8s", $totANTWORTSmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); @@ -957,6 +1276,7 @@ else if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totANTWORTSmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totANTWORTSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} if (round($totANTWORTSsecmtd/$totANTWORTSmtd)>$max_mtd_avgtalktime) {$max_mtd_avgtalktime=round($totANTWORTSsecmtd/$totANTWORTSmtd);} if (trim($totANTWORTSsecmtd)>$max_mtd_totaltalktime) {$max_mtd_totaltalktime=trim($totANTWORTSsecmtd);} @@ -974,21 +1294,32 @@ else $mtd_graph_stats[$ma][8]=trim($totANTWORTStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totANTWORTSwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totANTWORTStotTIMEmtd); + $mtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $ma++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| MTD | $totCALLSmtd | $totANTWORTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totANTWORTSavgspeedTIMEmtd | $totANTWORTSavgTIMEmtd | $totANTWORTStalkTIMEmtd | $totANTWORTSwrapTIMEmtd | $totANTWORTStotTIMEmtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totANTWORTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totANTWORTSavgspeedTIMEmtd\",\"$totANTWORTSavgTIMEmtd\",\"$totANTWORTStalkTIMEmtd\",\"$totANTWORTSwrapTIMEmtd\",\"$totANTWORTStotTIMEmtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totANTWORTSmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totANTWORTSavgspeedTIMEmtd | $totANTWORTSavgTIMEmtd | $totANTWORTStalkTIMEmtd | $totANTWORTSwrapTIMEmtd | $totANTWORTStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totANTWORTSmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totANTWORTSavgspeedTIMEmtd\",\"$totANTWORTSavgTIMEmtd\",\"$totANTWORTStalkTIMEmtd\",\"$totANTWORTSwrapTIMEmtd\",\"$totANTWORTStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1030,6 +1361,8 @@ else $qtd_graph_stats[$qa][14]=($totANTWORTSsecqtd+($totANTWORTSqtd*15)); $qtd_graph_stats[$qa][15]=$totANTWORTSsecqtd; $totANTWORTStotTIMEqtd = sprintf("%10s", floor(($totANTWORTSsecqtd+($totANTWORTSqtd*15))/3600).date(":i:s", mktime(0, 0, ($totANTWORTSsecqtd+($totANTWORTSqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totANTWORTSqtd = sprintf("%8s", $totANTWORTSqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); @@ -1037,6 +1370,7 @@ else if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totANTWORTSqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totANTWORTSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_answers) {$max_qtd_answered=trim($totAGENTSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} if (round($totANTWORTSsecqtd/$totANTWORTSqtd)>$max_qtd_avgtalktime) {$max_qtd_avgtalktime=round($totANTWORTSsecqtd/$totANTWORTSqtd);} if (trim($totANTWORTSsecqtd)>$max_qtd_totaltalktime) {$max_qtd_totaltalktime=trim($totANTWORTSsecqtd);} @@ -1067,20 +1401,40 @@ else $qtd_graph_stats[$qa][8]=trim($totANTWORTStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totANTWORTSwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totANTWORTStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qa++; - $ASCII_text.="| QTD | $totCALLSqtd | $totANTWORTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totANTWORTSavgspeedTIMEqtd | $totANTWORTSavgTIMEqtd | $totANTWORTStalkTIMEqtd | $totANTWORTSwrapTIMEqtd | $totANTWORTStotTIMEqtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totANTWORTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totANTWORTSavgspeedTIMEqtd\",\"$totANTWORTSavgTIMEqtd\",\"$totANTWORTStalkTIMEqtd\",\"$totANTWORTSwrapTIMEqtd\",\"$totANTWORTStotTIMEqtd\"\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totANTWORTSqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totANTWORTSavgspeedTIMEqtd | $totANTWORTSavgTIMEqtd | $totANTWORTStalkTIMEqtd | $totANTWORTSwrapTIMEqtd | $totANTWORTStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totANTWORTSqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totANTWORTSavgspeedTIMEqtd\",\"$totANTWORTSavgTIMEqtd\",\"$totANTWORTStalkTIMEqtd\",\"$totANTWORTSwrapTIMEqtd\",\"$totANTWORTStotTIMEqtd\""; + for ($s=0; $s$max_offered) {$max_offered=trim($totCALLSdate[$d]);} if (trim($totANTWORTSdate[$d])>$max_answered) {$max_answered=trim($totANTWORTSdate[$d]);} + if (trim($totAGENTSday)>$max_agents) {$max_agents=trim($totAGENTSday);} if (trim($totABANDONSdate[$d])>$max_abandoned) {$max_abandoned=trim($totABANDONSdate[$d]);} if (trim($totABANDONSpctDATE[$d])>$max_abandonpct) {$max_abandonpct=trim($totABANDONSpctDATE[$d]);} @@ -1119,9 +1474,19 @@ else $graph_stats[$d][8]=trim($totANTWORTStalkTIME[$d]); $graph_stats[$d][9]=trim($totANTWORTSwrapTIME[$d]); $graph_stats[$d][10]=trim($totANTWORTStotTIME[$d]); + $graph_stats[$d][17]=trim($totAGENTSday); - $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totANTWORTSdate[$d] | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totANTWORTSavgspeedTIME[$d] | $totANTWORTSavgTIME[$d] | $totANTWORTStalkTIME[$d] | $totANTWORTSwrapTIME[$d] | $totANTWORTStotTIME[$d] |\n"; - $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totANTWORTSdate[$d]\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totANTWORTSavgspeedTIME[$d]\",\"$totANTWORTSavgTIME[$d]\",\"$totANTWORTStalkTIME[$d]\",\"$totANTWORTSwrapTIME[$d]\",\"$totANTWORTStotTIME[$d]\"\n"; + $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totANTWORTSdate[$d] | $totAGENTSday | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totANTWORTSavgspeedTIME[$d] | $totANTWORTSavgTIME[$d] | $totANTWORTStalkTIME[$d] | $totANTWORTSwrapTIME[$d] | $totANTWORTStotTIME[$d] |"; + $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totANTWORTSdate[$d]\",\"$totAGENTSday\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totANTWORTSavgspeedTIME[$d]\",\"$totANTWORTSavgTIME[$d]\",\"$totANTWORTStalkTIME[$d]\",\"$totANTWORTSwrapTIME[$d]\",\"$totANTWORTStotTIME[$d]\""; + for ($s=0; $s0) { - if ($totCALLSwtd>0) + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); } @@ -1251,12 +1617,15 @@ else $wtd_graph_stats[$wa][14]=($totANTWORTSsecwtd+($totANTWORTSwtd*15)); $wtd_graph_stats[$wa][15]=$totANTWORTSsecwtd; $totANTWORTStotTIMEwtd = sprintf("%10s", floor(($totANTWORTSsecwtd+($totANTWORTSwtd*15))/3600).date(":i:s", mktime(0, 0, ($totANTWORTSsecwtd+($totANTWORTSwtd*15))))); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totANTWORTSwtd = sprintf("%8s", $totANTWORTSwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totANTWORTSwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totANTWORTSwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -1277,8 +1646,10 @@ else $wtd_graph_stats[$wa][8]=trim($totANTWORTStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totANTWORTSwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totANTWORTStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wtd_OFFERED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $OFFERED_graph); $wtd_ANTWORTED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ANTWORTED_graph); + $wtd_AGENTS_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $AGENTS_graph); $wtd_ABANDONED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONED_graph); $wtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONPCT_graph); $wtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$AVGABANDONTIME_graph); @@ -1291,6 +1662,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($wtd_graph_stats)) {$class=" last";} else {$class="";} $wtd_OFFERED_graph.=" "; $wtd_ANTWORTED_graph.=" "; + $wtd_AGENTS_graph.=" "; $wtd_ABANDONED_graph.=" "; $wtd_ABANDONPCT_graph.=" "; $wtd_AVGABANDONTIME_graph.=" "; @@ -1301,11 +1673,19 @@ else $wtd_TOTALCALLTIME_graph.=" "; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totANTWORTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totANTWORTSavgspeedTIMEwtd | $totANTWORTSavgTIMEwtd | $totANTWORTStalkTIMEwtd | $totANTWORTSwrapTIMEwtd | $totANTWORTStotTIMEwtd |\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totANTWORTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totANTWORTSavgspeedTIMEwtd\",\"$totANTWORTSavgTIMEwtd\",\"$totANTWORTStalkTIMEwtd\",\"$totANTWORTSwrapTIMEwtd\",\"$totANTWORTStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totANTWORTSwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totANTWORTSavgspeedTIMEwtd | $totANTWORTSavgTIMEwtd | $totANTWORTStalkTIMEwtd | $totANTWORTSwrapTIMEwtd | $totANTWORTStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totANTWORTSwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totANTWORTSavgspeedTIMEwtd\",\"$totANTWORTSavgTIMEwtd\",\"$totANTWORTStalkTIMEwtd\",\"$totANTWORTSwrapTIMEwtd\",\"$totANTWORTStotTIMEwtd\""; + for ($s=0; $s0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -1355,12 +1736,15 @@ else $mtd_graph_stats[$ma][14]=($totANTWORTSsecmtd+($totANTWORTSmtd*15)); $mtd_graph_stats[$ma][15]=$totANTWORTSsecmtd; $totANTWORTStotTIMEmtd = sprintf("%10s", floor(($totANTWORTSsecmtd+($totANTWORTSmtd*15))/3600).date(":i:s", mktime(0, 0, ($totANTWORTSsecmtd+($totANTWORTSmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totANTWORTSmtd = sprintf("%8s", $totANTWORTSmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totANTWORTSmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totANTWORTSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} @@ -1381,8 +1765,10 @@ else $mtd_graph_stats[$ma][8]=trim($totANTWORTStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totANTWORTSwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totANTWORTStotTIMEmtd); + $wtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $mtd_OFFERED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$OFFERED_graph); $mtd_ANTWORTED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ANTWORTED_graph); + $mtd_AGENTS_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE', $AGENTS_graph); $mtd_ABANDONED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONED_graph); $mtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONPCT_graph); $mtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$AVGABANDONTIME_graph); @@ -1395,6 +1781,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($mtd_graph_stats)) {$class=" last";} else {$class="";} $mtd_OFFERED_graph.=" "; $mtd_ANTWORTED_graph.=" "; + $mtd_AGENTS_graph.=" "; $mtd_ABANDONED_graph.=" "; $mtd_ABANDONPCT_graph.=" "; $mtd_AVGABANDONTIME_graph.=" "; @@ -1405,6 +1792,7 @@ else $mtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSmtd+=$mtd_graph_stats[$q][1]; $graph_totANTWORTSmtd+=$mtd_graph_stats[$q][2]; + $graph_totAGENTSmtd+=$mtd_graph_stats[$q][17]; $graph_totABANDONSmtd+=$mtd_graph_stats[$q][3]; $graph_totABANDONSpctmtd+=$mtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEmtd+=$mtd_graph_stats[$q][5]; @@ -1414,12 +1802,20 @@ else $graph_totANTWORTSwrapTIMEmtd+=$mtd_graph_stats[$q][9]; $graph_totANTWORTStotTIMEmtd+=$mtd_graph_stats[$q][10]; } + + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totANTWORTSmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totANTWORTSavgspeedTIMEmtd | $totANTWORTSavgTIMEmtd | $totANTWORTStalkTIMEmtd | $totANTWORTSwrapTIMEmtd | $totANTWORTStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totANTWORTSmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totANTWORTSavgspeedTIMEmtd\",\"$totANTWORTSavgTIMEmtd\",\"$totANTWORTStalkTIMEmtd\",\"$totANTWORTSwrapTIMEmtd\",\"$totANTWORTStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1468,12 +1865,15 @@ else $qtd_graph_stats[$qa][14]=($totANTWORTSsecqtd+($totANTWORTSqtd*15)); $qtd_graph_stats[$qa][15]=$totANTWORTSsecqtd; $totANTWORTStotTIMEqtd = sprintf("%10s", floor(($totANTWORTSsecqtd+($totANTWORTSqtd*15))/3600).date(":i:s", mktime(0, 0, ($totANTWORTSsecqtd+($totANTWORTSqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totANTWORTSqtd = sprintf("%8s", $totANTWORTSqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totANTWORTSqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totANTWORTSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_agents) {$max_qtd_agents=trim($totAGENTSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} @@ -1507,8 +1907,10 @@ else $qtd_graph_stats[$qa][8]=trim($totANTWORTStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totANTWORTSwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totANTWORTStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qtd_OFFERED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$OFFERED_graph); $qtd_ANTWORTED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ANTWORTED_graph); + $qtd_AGENTS_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AGENTS_graph); $qtd_ABANDONED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONED_graph); $qtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONPCT_graph); $qtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AVGABANDONTIME_graph); @@ -1521,6 +1923,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($qtd_graph_stats)) {$class=" last";} else {$class="";} $qtd_OFFERED_graph.=" "; $qtd_ANTWORTED_graph.=" "; + $qtd_AGENTS_graph.=" "; $qtd_ABANDONED_graph.=" "; $qtd_ABANDONPCT_graph.=" "; $qtd_AVGABANDONTIME_graph.=" "; @@ -1531,6 +1934,7 @@ else $qtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSqtd+=$qtd_graph_stats[$q][1]; $graph_totANTWORTSqtd+=$qtd_graph_stats[$q][2]; + $graph_totAGENTSqtd+=$qtd_graph_stats[$q][17]; $graph_totABANDONSqtd+=$qtd_graph_stats[$q][3]; $graph_totABANDONSpctqtd+=$qtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEqtd+=$qtd_graph_stats[$q][5]; @@ -1541,11 +1945,19 @@ else $graph_totANTWORTStotTIMEqtd+=$qtd_graph_stats[$q][10]; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| QTD | $totCALLSqtd | $totANTWORTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totANTWORTSavgspeedTIMEqtd | $totANTWORTSavgTIMEqtd | $totANTWORTStalkTIMEqtd | $totANTWORTSwrapTIMEqtd | $totANTWORTStotTIMEqtd |\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totANTWORTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totANTWORTSavgspeedTIMEqtd\",\"$totANTWORTSavgTIMEqtd\",\"$totANTWORTStalkTIMEqtd\",\"$totANTWORTSwrapTIMEqtd\",\"$totANTWORTStotTIMEqtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totANTWORTSqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totANTWORTSavgspeedTIMEqtd | $totANTWORTSavgTIMEqtd | $totANTWORTStalkTIMEqtd | $totANTWORTSwrapTIMEqtd | $totANTWORTStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totANTWORTSqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totANTWORTSavgspeedTIMEqtd\",\"$totANTWORTSavgTIMEqtd\",\"$totANTWORTStalkTIMEqtd\",\"$totANTWORTSwrapTIMEqtd\",\"$totANTWORTStotTIMEqtd\""; + for ($s=0; $s"; $ANTWORTED_graph.=" "; + $AGENTS_graph.=" "; $ABANDONED_graph.=" "; $ABANDONPCT_graph.=" "; $AVGABANDONTIME_graph.=" "; @@ -1568,6 +1981,7 @@ else } $OFFERED_graph.="
    DAILY RPT - $query_date_BEGIN to $query_date_END
    DATE/TIME RANGEGESAMTANRUFEOFFERED
    GESAMTANRUFEANTWORTED
    TOTAL AGENTS ANTWORTED
    GESAMTANRUFEABANDONED
    TOTAL ABANDON PERCENT
    AVG ABANDON TIME
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][1]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][2]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][17]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][3]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][4]."%
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][5]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][10]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][1]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][2]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][17]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][3]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][4]."%
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][5]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][10]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][1]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][2]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][17]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][3]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][4]."%
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][5]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][10]."
    ".$graph_stats[$q][1]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][2]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][17]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][3]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][4]."%
    ".$graph_stats[$q][0]."".$graph_stats[$q][5]."
    TOTAL:".trim($FtotCALLS)."
    "; $ANTWORTED_graph.="
    TOTAL:".trim($FtotANTWORTS)."
    "; + $AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1580,6 +1994,7 @@ else $JS_text.="function DrawGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$OFFERED_graph\";\n"; $JS_text.=" var ANTWORTED_graph=\"$ANTWORTED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$AVGABANDONTIME_graph\";\n"; @@ -1600,6 +2015,7 @@ else $JS_text.="}\n"; $wtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $wtd_ANTWORTED_graph.="
    TOTAL:".trim($FtotANTWORTS)."
    "; + $wtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $wtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $wtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $wtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1612,6 +2028,7 @@ else $JS_text.="function DrawWTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$wtd_OFFERED_graph\";\n"; $JS_text.=" var ANTWORTED_graph=\"$wtd_ANTWORTED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$wtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$wtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$wtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$wtd_AVGABANDONTIME_graph\";\n"; @@ -1632,6 +2049,7 @@ else $JS_text.="}\n"; $mtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $mtd_ANTWORTED_graph.="
    TOTAL:".trim($FtotANTWORTS)."
    "; + $mtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $mtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $mtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $mtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1644,6 +2062,7 @@ else $JS_text.="function DrawMTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$mtd_OFFERED_graph\";\n"; $JS_text.=" var ANTWORTED_graph=\"$mtd_ANTWORTED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$mtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$mtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$mtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$mtd_AVGABANDONTIME_graph\";\n"; @@ -1664,6 +2083,7 @@ else $JS_text.="}\n"; $qtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $qtd_ANTWORTED_graph.="
    TOTAL:".trim($FtotANTWORTS)."
    "; + $qtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $qtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $qtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $qtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1676,6 +2096,7 @@ else $JS_text.="function DrawQTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$qtd_OFFERED_graph\";\n"; $JS_text.=" var ANTWORTED_graph=\"$qtd_ANTWORTED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$qtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$qtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$qtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$qtd_AVGABANDONTIME_graph\";\n"; @@ -1694,12 +2115,41 @@ else $JS_text.=" var graph_to_display=eval(graph+\"_graph\");\n"; $JS_text.=" document.getElementById('QTD_stats_graph').innerHTML=graph_to_display;\n"; $JS_text.="}\n"; + $FtotAGENTS = sprintf("%8s", $FtotAGENTS); + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| TOTALS | $FtotCALLS | $FtotANTWORTS | $FtotAGENTS | $FtotABANDONS | $FtotABANDONSpct%| $FtotABANDONSavgTIME | $FtotANTWORTSavgspeedTIME | $FtotANTWORTSavgTIME | $FtotANTWORTStalkTIME | $FtotANTWORTSwrapTIME | $FtotANTWORTStotTIME |"; + $CSV_text.="\"TOTALS\",\"$FtotCALLS\",\"$FtotANTWORTS\",\"$FtotAGENTS\",\"$FtotABANDONS\",\"$FtotABANDONSpct%\",\"$FtotABANDONSavgTIME\",\"$FtotANTWORTSavgspeedTIME\",\"$FtotANTWORTSavgTIME\",\"$FtotANTWORTStalkTIME\",\"$FtotANTWORTSwrapTIME\",\"$FtotANTWORTStotTIME\""; + for ($s=0; $s 0) @@ -1777,18 +2228,139 @@ else flush(); echo "$CSV_text"; - - exit; } else { - echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + if ($file_download < 1) + {echo "\n";} + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + + +function HourDifference($time_BEGIN, $time_END) { + global $hpd; + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} +} + +function RecalculateEpochs($query_date_BEGIN, $query_date_END) { + global $query_date_BEGIN, $query_date_END, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + #$EQdate_ARY = explode(' ',$query_date_END); + #$EQday_ARY = explode('-',$EQdate_ARY[0]); + #$EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + #$EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + #$EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); +} + +function RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END) { + global $hpd, $query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END; + global $DURATIONday, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} + + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + $EQdate_ARY = explode(' ',$query_date_END); + $EQday_ARY = explode('-',$EQdate_ARY[0]); + $EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); + + if (!$DURATIONday) + { + $DURATIONsec = ($EQepoch - $SQepoch); + $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); + + if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) + { + $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); + $query_date_END = date("Y-m-d H:i:s", $EQepoch); + $DURATIONday++; + } + } +} ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_server_performance.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_server_performance.php index 01865e4b..6022413e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_server_performance.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_server_performance.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0157 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -59,15 +62,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -88,6 +82,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -223,10 +246,10 @@ $TOTALcalls = sprintf("%10s", $row[0]); $OFFHOOKtime = sprintf("%10s", $row[1]); -echo "Total Calls in/out on this server: $TOTALcalls\n"; +echo "Total Calls in/out on this Server: $TOTALcalls\n"; echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n"; -echo "Average/Peak channels in use for server: $AVGchannels / $HIGHchannels\n"; -echo "Average/Peak load for server: $AVGload / $HIGHload\n"; +echo "Average/Peak channels in use for Server: $AVGchannels / $HIGHchannels\n"; +echo "Average/Peak load for Server: $AVGload / $HIGHload\n"; echo "Average USER process cpu percentage: $AVGcpuUSER %\n"; echo "Average SYSTEM process cpu percentage: $AVGcpuSYSTEM %\n"; echo "Average IDLE process cpu percentage: $AVGcpuIDLE %\n"; @@ -397,6 +420,24 @@ echo ""; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_team_performance_detail.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_team_performance_detail.php index 1104d44c..c3778e4d 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_team_performance_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_team_performance_detail.php @@ -6,7 +6,7 @@ # QC statuses of QCFAIL, QCCANC and sales are defined by the Sale=Y status # flags being set on those statuses. # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 111104-1259 - Added user_group restrictions for selecting in-groups # 120224-1424 - Added new colums and PRECAL to System Time # 120307-1926 - Added additional statuses option and HTML display option +# 130414-0142 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,15 +73,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -104,6 +98,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -623,9 +646,9 @@ if ($SUBMIT=="SUBMIT") $j=0; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Kontakte | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Kontakte Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Kontakte Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; while ($user_row=mysql_fetch_array($user_rslt)) { $j++; @@ -1080,7 +1103,7 @@ if ($SUBMIT=="SUBMIT") $ASCII_text.="--- CALL CENTER TOTAL\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Team Name | Team ID | Calls | Leads | Kontakte | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Kontakte Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; $ASCII_text.=$GROUP_text; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; @@ -1186,7 +1209,7 @@ if ($SUBMIT=="SUBMIT") $ASCII_text.="\n"; $CSV_text.="\"\",\"CALL CENTER TOTAL\"\n"; - $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Kontakte Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; $CSV_text.=$GROUP_CSV_text; $CSV_text.="\"\",\"\",\"TOTALS:\",\"$total_calls\",\"$total_leads\",\"$total_contacts\",\"$total_contact_ratio %\",\"".sec_convert($total_nonpause_time,'H')."\",\"".sec_convert($total_system_time,'H')."\",\"".sec_convert($total_talk_time,'H')."\",\"$total_sales\",\"$sales_per_working_hours\",\"$total_sales_ratio\",\"$total_sale_contact_ratio\",\"$total_sales_per_hour\",\"$total_inc_sales\",\"$total_cnc_sales\",\"$total_callbacks\",\"$total_stcall\",\"$total_average_sale_time\",\"$total_average_contact_time\"$CSV_status_text\n"; for ($d=0; $d0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1327,4 +1348,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/AST_timeonVDADall.php b/agc_2-X/trunk/LANG_www/vicidial_de/AST_timeonVDADall.php index 432adc22..18d27154 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/AST_timeonVDADall.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/AST_timeonVDADall.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -76,10 +76,14 @@ # 110314-1735 - Fixed another query that was causing load spikes on systems with millions of log entries # 111103-1220 - Added admin_hide_phone_data and admin_hide_lead_data options # 120223-1934 - Added user group options +# 120612-2150 - Added percentages to counts for carrier stats and TOTAL line to carrier display stats as well +# 121222-2151 - Added email status +# 130214-1323 - Added link to in-group selected users report for in-queue inbound calls +# 130424-1357 - Fixed issue with pause codes display # -$version = '2.4-67'; -$build = '120223-1934'; +$version = '2.6-70'; +$build = '130424-1357'; header ("Content-type: text/html; charset=utf-8"); @@ -1292,6 +1296,7 @@ if ($CARRIERstats > 0) $row=mysql_fetch_row($rslt); $TFhour_status[$ctp] = $row[0]; $TFhour_count[$ctp] = $row[1]; + $TFhour_total+=$row[1]; $dialstatuses .= "'$row[0]',"; $ctp++; } @@ -1320,6 +1325,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $SIXhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1338,6 +1344,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1356,6 +1363,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FTminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1374,6 +1382,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FIVEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1392,6 +1401,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1415,16 +1425,27 @@ if ($CARRIERstats > 0) $CARRIERstatsHTML .= "
         $TFhour_status[$print_ctp] $TFhour_count[$print_ctp] $SIXhour_count[$print_ctp] $ONEhour_count[$print_ctp] $FTminute_count[$print_ctp] $FIVEminute_count[$print_ctp] $ONEminute_count[$print_ctp]     $TFhour_status[$print_ctp] $TFhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($TFhour_count[$print_ctp]/$TFhour_total)))."% $SIXhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($SIXhour_count[$print_ctp]/$SIXhour_total)))."% $ONEhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEhour_count[$print_ctp]/$ONEhour_total)))."% $FTminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FTminute_count[$print_ctp]/$FTminute_total)))."% $FIVEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FIVEminute_count[$print_ctp]/$FIVEminute_total)))."% $ONEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEminute_count[$print_ctp]/$ONEminute_total)))."%
         TOTALS ".($TFhour_total+0)." ".($SIXhour_total+0)." ".($ONEhour_total+0)." ".($FTminute_total+0)." ".($FIVEminute_total+0)." ".($ONEminute_total+0)."
    Source User:
    Quelle Benutzer: $NWB#vicidial_campaigns-user_group$NWE
    Aktiv:$NWB#vicidial_campaigns-active$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Netz-Form: $NWB#vicidial_campaigns-web_form_address$NWE
    Ortsgespräch-Zeit: $NWB#vicidial_campaigns-local_call_time$NWE
    Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
    Liste Identifikation: (nur Stellen)$NWB#vicidial_lists-list_id$NWE
    Liste Identifikation: (nur Stellen)$NWB#vicidial_lists-list_id$NWE
    Liste Name: $NWB#vicidial_lists-list_name$NWE
    Liste Beschreibung: $NWB#vicidial_lists-list_description$NWE
    \n"; echo ""; @@ -9439,6 +10029,9 @@ if ($ADD==121) if ($ADD==171) { + ### filter for Letters DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^\n0-9a-zA-Z]","",$phone_numbers); + echo "\n"; + if ($SSallow_emails>0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; + echo "
    \n"; echo ""; @@ -9593,6 +10186,75 @@ if ($ADD==1111) if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} echo "
    Erhalten Sie Anruf-Produkteinführung: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Gruppe Handhabung: $NWB#vicidial_inbound_groups-group_handling$NWE
    \n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } + +###################### +# ADD=1811 display the ADD NEW EMAIL GROUP SCREEN +###################### + +if ($ADD==1811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW EMAIL GROUP
    \n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + # echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $eswHTML=''; $cfwHTML=''; + if ($SSenable_second_webform > 0) + {$eswHTML = '';} + if ($SScustom_fields_enabled > 0) + {$cfwHTML = '';} + echo "\n"; echo "\n"; echo "
    Gruppe Identifikation: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Gruppe Identifikation: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Gruppe Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Gruppe Farbe: $NWB#vicidial_inbound_groups-group_color$NWE
    Aktiv:$NWB#vicidial_inbound_groups-active$NWE
    Admin Benutzer-Gruppe: $NWB#vicidial_inbound_groups-user_group$NWE
    Netz-Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Weiter Agenten E-Mail:$NWB#vicidial_inbound_groups-next_agent_call$NWE
    Fronter Anzeige: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Index: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Erhalten Sie Anruf-Produkteinführung: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    \n"; } @@ -9666,6 +10328,67 @@ if ($ADD==1211) } } +###################### +# ADD=1911 display the COPY EMAIL INBOUND GROUP SCREEN +###################### + +if ($ADD==1911) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    Kopieren e-GROUP\n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    E-Mail-Gruppen-ID: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    E-Mail-Gruppen-ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    $NWB#vicidial_inbound_groups-group_name$NWE
    Quelle Email Gruppen-ID: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } ###################### # ADD=1311 display the ADD NEW DID SCREEN @@ -10055,7 +10778,7 @@ if ($ADD==1111111) echo "
    Index-Text: "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -10262,6 +10986,53 @@ if ($ADD==1111111111) } +###################### +# ADD=1211111111 display the ADD NEW HOLIDAY SCREEN +###################### + +if ($ADD==1211111111) + { + if ($LOGmodify_call_times==1) + { + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -22671,7 +24244,7 @@ if ($ADD==34) $rslt=mysql_query($stmt, $link); } - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group,allow_emails,call_count_limit from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $dial_status_a = $row[3]; @@ -22709,6 +24282,8 @@ if ($ADD==34) $drop_lockout_time = $row[116]; $display_leads_count = $row[130]; $user_group = $row[131]; + $allow_emails = $row[132]; + $call_count_limit = $row[133]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -22837,6 +24412,11 @@ if ($ADD==34) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) + { + echo "\n"; + } + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -23131,7 +24711,9 @@ if ($ADD==34) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $whereLOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -23140,8 +24722,8 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; - echo "\n"; - echo ""; + echo "\n"; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -23173,6 +24755,11 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; @@ -23180,7 +24767,7 @@ if ($ADD==34) $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; + echo ""; + + echo "
    Hinzufügen neuer landesspezifischer Anrufzeiten\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    Ferien ID: (keine Räume oder Interpunktion)$NWB#vicidial_call_times-holiday_id$NWE
    Feiertags-Name: (kurze Beschreibung des Ferienhauses)$NWB#vicidial_call_times-holiday_name$NWE
    Ferien Kommentare: $NWB#vicidial_call_times-holiday_comments$NWE
    Feiertag Datum: $NWB#vicidial_call_times-holiday_date$NWE\n"; + echo "
    Admin Benutzer-Gruppe: $NWB#vicidial_call_times-user_group$NWE
    Tag und Uhrzeit Optionen wird angezeigt, sobald Sie die Ferien Definition angelegt haben
    \n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } + + ###################### # ADD=131111111 display the ADD NEW SHIFT SCREEN ###################### @@ -10873,289 +11644,295 @@ if ($ADD==11111111111111) if ($ADD=="2") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    BENUTZER NICHT ADDIERT - es gibt bereits einen Benutzer im System mitdieser Benutzerzahl\n";} else { - if (ereg('AUTOGENERA',$user)) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - $user = 'AUTOGENERA'; - } - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) - { - echo "
    BENUTZER NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    voller Name und Kennwort müssen mindestens 2 Buchstaben lang sein\n"; - echo "
    Sie müssen sich für eine Benutzergruppe\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    BENUTZER NICHT ADDIERT - es gibt bereits einen Benutzer im System mitdieser Benutzerzahl\n";} else { if (ereg('AUTOGENERA',$user)) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) + { + echo "
    BENUTZER NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    voller Name und Kennwort müssen mindestens 2 Buchstaben lang sein\n"; + echo "
    Sie müssen sich für eine Benutzergruppe\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; + echo "
    BENUTZER FÜGTE HINZU: $user\n"; - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; $rslt=mysql_query($stmt, $link); - } - echo "
    BENUTZER FÜGTE HINZU: $user\n"; - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='BENUTZER', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='BENUTZER', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Aktive'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Aktive'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### + ### END vtiger integration } - ### END vtiger integration } } - $ADD=3; } @@ -11165,292 +11942,299 @@ if ($ADD=="2") if ($ADD=="2A") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    BENUTZER NICHT ADDIERT - es gibt bereits einen Benutzer im System mitdieser Benutzerzahl\n";} else { - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    BENUTZER NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    voller Name und Kennwort müssen mindestens 2 Buchstaben lang sein\n"; - echo "\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    BENUTZER NICHT ADDIERT - es gibt bereits einen Benutzer im System mitdieser Benutzerzahl\n";} else { - if (ereg('AUTOGEN',$user)) + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + echo "
    BENUTZER NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    voller Name und Kennwort müssen mindestens 2 Buchstaben lang sein\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGEN',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; - - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); - } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; - $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='BENUTZER', event_type='COPY', record_id='$user', event_code='ADMIN COPY BENUTZER', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='BENUTZER', event_type='COPY', record_id='$user', event_code='ADMIN COPY BENUTZER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Aktive'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Aktive'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } + ### END vtiger integration - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} + echo "
    USER COPIED: $user copied from $source_user_id\n"; + echo "

    \n"; + echo "Click here to go to the user record\n"; + echo "

    \n"; - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### } - ### END vtiger integration - - echo "
    USER COPIED: $user copied from $source_user_id\n"; - echo "

    \n"; - echo "Click here to go to the user record\n"; - echo "

    \n"; - } } exit; @@ -11462,76 +12246,83 @@ if ($ADD=="2A") if ($ADD==21) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    KAMPAGNE NICHT ADDIERT - es gibt bereits eine Kampagne im System mitdieser Identifikation\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    KAMPAGNE NICHT ADDIERT - es gibt bereits eine Kampagne im System mitdieser Identifikation\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) - { - echo "
    KAMPAGNE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; - echo "
    Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; - echo "
    Kampagne Name muß zwischen 6 und 40 Buchstaben lang sein\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    KAMPAGNE ADDIERT: $campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    KAMPAGNE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
    Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
    Kampagne Name muß zwischen 6 und 40 Buchstaben lang sein\n"; + } + else + { + echo "
    KAMPAGNE ADDIERT: $campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11544,94 +12335,101 @@ if ($ADD==21) if ($ADD==20) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    KAMPAGNE NICHT ADDIERT - es gibt bereits eine Kampagne im System mitdieser Identifikation\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    KAMPAGNE NICHT ADDIERT - es gibt bereits eine Kampagne im System mitdieser Identifikation\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) - { - echo "
    KAMPAGNE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; - echo "
    Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; - echo "
    source Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    KAMPAGNE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
    Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
    source Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + } + else + { + echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_erfrischen,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_erfrischen,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_erfrischen,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_erfrischen,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11644,41 +12442,48 @@ if ($ADD==20) if ($ADD==22) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    KAMPAGNE STATUS NICHT ADDIERT - es gibt bereits einen Kampagne-Statusim System mit diesem Namen\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    KAMPAGNE STATUS NICHT ADDIERT - es gibt bereits einen Globalstatus imSystem mit diesem Namen\n";} + {echo "
    KAMPAGNE STATUS NICHT ADDIERT - es gibt bereits einen Kampagne-Statusim System mit diesem Namen\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    KAMPAGNE STATUS NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; - echo "
    Status muß zwischen 1 und 8 Buchstaben lang sein\n"; - echo "
    Statusname muß zwischen 2 und 30 Buchstaben lang sein\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    KAMPAGNE STATUS NICHT ADDIERT - es gibt bereits einen Globalstatus imSystem mit diesem Namen\n";} else { - echo "
    KAMPAGNE STATUS ADDIERT: $campaign_id - $status_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    KAMPAGNE STATUS NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
    Status muß zwischen 1 und 8 Buchstaben lang sein\n"; + echo "
    Statusname muß zwischen 2 und 30 Buchstaben lang sein\n"; + } + else + { + echo "
    KAMPAGNE STATUS ADDIERT: $campaign_id - $status_id\n"; - $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE STATUS', event_sql=\"$SQL_log\", event_notes='Status:$status_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE STATUS', event_sql=\"$SQL_log\", event_notes='Status:$status_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -11693,38 +12498,45 @@ if ($ADD==22) if ($ADD==23) { - $HKstatus_data = explode('-----',$HKstatus); - $status = $HKstatus_data[0]; - $status_name = $HKstatus_data[1]; - - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) - { - echo "
    KAMPAGNE HOT KEY NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; - echo "
    hotkey must be a single character between 1 and 9 \n"; - echo "
    Status muß zwischen 1 und 8 Buchstaben lang sein\n"; - } + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} else { - echo "
    KAMPAGNE HOT KEY FÜGTE HINZU: $campaign_id - $status - $hotkey\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    KAMPAGNE HOT KEY NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
    hotkey must be a single character between 1 and 9 \n"; + echo "
    Status muß zwischen 1 und 8 Buchstaben lang sein\n"; + } + else + { + echo "
    KAMPAGNE HOT KEY FÜGTE HINZU: $campaign_id - $status - $hotkey\n"; - $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE HOTKEY', event_sql=\"$SQL_log\", event_notes='Status:$status|HotKey: $hotkey';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE HOTKEY', event_sql=\"$SQL_log\", event_notes='Status:$status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=23; @@ -11738,36 +12550,43 @@ if ($ADD==23) if ($ADD==25) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    KAMPAGNE LEITUNG BEREITEN NICHT HINZUGEFÜGT auf - es gibt bereitseine Führenwiederverwertung für diese Kampagne mit diesem Status\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) - { - echo "
    KAMPAGNE LEITUNG BEREITEN NICHT HINZUGEFÜGT auf - gehen Sie bittezurück und betrachten Sie die Daten, die Sie eingaben\n"; - echo "
    Status muß zwischen 1 und 6 Buchstaben lang sein\n"; - echo "
    Versuch verzögert muß mindestens 120 Sekunden sein und weniger als 43.200 Sekunden oder 12 Stunden\n"; - echo "
    maximale Versuche müssen von 1 bis 10 sein\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    KAMPAGNE LEITUNG BEREITEN NICHT HINZUGEFÜGT auf - es gibt bereitseine Führenwiederverwertung für diese Kampagne mit diesem Status\n";} else { - echo "
    KAMPAGNE LEITUNG BEREITEN HINZUGEFÜGT AUF: $campaign_id - $status - $attempt_delay\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    KAMPAGNE LEITUNG BEREITEN NICHT HINZUGEFÜGT auf - gehen Sie bittezurück und betrachten Sie die Daten, die Sie eingaben\n"; + echo "
    Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + echo "
    Versuch verzögert muß mindestens 120 Sekunden sein und weniger als 43.200 Sekunden oder 12 Stunden\n"; + echo "
    maximale Versuche müssen von 1 bis 10 sein\n"; + } + else + { + echo "
    KAMPAGNE LEITUNG BEREITEN HINZUGEFÜGT AUF: $campaign_id - $status - $attempt_delay\n"; - $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Status:$status';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Status:$status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=25; @@ -11781,40 +12600,47 @@ if ($ADD==25) if ($ADD==26) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SELBSTALT VORWAHLKNOPF-STATUS NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem Status\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    SELBSTALT VORWAHLKNOPF-STATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Status muß zwischen 1 und 6 Buchstaben lang sein\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SELBSTALT VORWAHLKNOPF-STATUS NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem Status\n";} else { - echo "
    SELBSTALT VORWAHLKNOPF-STATUS FÜGTE HINZU: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    SELBSTALT VORWAHLKNOPF-STATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + } + else + { + echo "
    SELBSTALT VORWAHLKNOPF-STATUS FÜGTE HINZU: $campaign_id - $status\n"; - $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $auto_alt_dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE ALT DIAL', event_sql=\"$SQL_log\", event_notes='Status:$auto_alt_dial_statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE ALT DIAL', event_sql=\"$SQL_log\", event_notes='Status:$auto_alt_dial_statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=26; @@ -11828,34 +12654,41 @@ if ($ADD==26) if ($ADD==27) { - echo ""; - $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    MITTEL-PAUSE CODE NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem PauseCode\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) - { - echo "
    MITTEL-PAUSE CODE NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    pause code must be between 1 and 6 characters in length\n"; - echo "
    pause Code-Name muss zwischen 2 und 30 Zeichen lang sein\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    MITTEL-PAUSE CODE NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem PauseCode\n";} else { - echo "
    MITTEL-PAUSE CODE FÜGTE HINZU: $campaign_id - $pause_code - $pause_code_name\n"; + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    MITTEL-PAUSE CODE NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + echo "
    pause Code-Name muss zwischen 2 und 30 Zeichen lang sein\n"; + } + else + { + echo "
    MITTEL-PAUSE CODE FÜGTE HINZU: $campaign_id - $pause_code - $pause_code_name\n"; - $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Pause Code: $pause_code';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Pause Code: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=27; @@ -11869,40 +12702,47 @@ if ($ADD==27) if ($ADD==28) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    KAMPAGNE VORWAHLKNOPF-STATUS NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem Status\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    KAMPAGNE VORWAHLKNOPF-STATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Status muß zwischen 1 und 6 Buchstaben lang sein\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    KAMPAGNE VORWAHLKNOPF-STATUS NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem Status\n";} else { - echo "
    KAMPAGNE VORWAHLKNOPF-STATUS ADDIERT: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    KAMPAGNE VORWAHLKNOPF-STATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + } + else + { + echo "
    KAMPAGNE VORWAHLKNOPF-STATUS ADDIERT: $campaign_id - $status\n"; - $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Status:$statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Status:$statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } #$SUB=28; @@ -11915,37 +12755,44 @@ if ($ADD==28) ###################### if ($ADD==201) { - echo ""; - $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PRESET NICHT HINZUGEFÜGT - Existiert bereits ein Eintrag für diese Kampagne mit dieser voreingestellten\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) - { - echo "
    PRESET NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    preset name must be between 1 and 40 characters in length\n"; - echo "
    preset number must be between 2 and 50 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PRESET NICHT HINZUGEFÜGT - Existiert bereits ein Eintrag für diese Kampagne mit dieser voreingestellten\n";} else { - echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; + if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) + { + echo "
    PRESET NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    preset name must be between 1 and 40 characters in length\n"; + echo "
    preset number must be between 2 and 50 characters in length\n"; + } + else + { + echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; - $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; + $rslt=mysql_query($stmt, $link); - $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=201; @@ -11958,121 +12805,128 @@ if ($ADD==201) ###################### if ($ADD==202) { - echo ""; - if ($stage == 'ADD') + if ($add_copy_disabled > 0) { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CID NICHT ADDED AREACODE - Existiert bereits ein Eintrag für diese Kampagne mit diesem CID
    \n";} - else - { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    CID NICHT ADDED AREACODE - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben
    \n"; - } - else - { - echo "
    AREACODE CID ADDED: $campaign_id - $areacode - $outbound_cid
    \n"; - - $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - if ($stage == 'DELETE') + else { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    AREACODE CID NICHT GELÖSCHT - Dieser Eintrag existiert nicht
    \n";} - else + echo ""; + if ($stage == 'ADD') { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    AREACODE CID NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CID NICHT ADDED AREACODE - Existiert bereits ein Eintrag für diese Kampagne mit diesem CID
    \n";} else { - echo "
    AREACODE CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    CID NICHT ADDED AREACODE - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben
    \n"; + } + else + { + echo "
    AREACODE CID ADDED: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } - } - if ($stage == 'MODIFY') - { - $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; - $rslt=mysql_query($stmt, $link); - $accids_to_print = mysql_num_rows($rslt); - $o=0; - while ($accids_to_print > $o) + if ($stage == 'DELETE') { - $rowx=mysql_fetch_row($rslt); - $Xareacode[$o] = $rowx[0]; - $Xoutbound_cid[$o] = $rowx[1]; - $Xactive[$o] = $rowx[2]; - $Xcid_description[$o] = $rowx[3]; - $Xcall_count_today[$o] = $rowx[4]; - $o++; - } - - $o=0; - while ($accids_to_print > $o) - { - $Factive_value=''; - $Fcid_description_value=''; - $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; - $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; - - if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} - elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} - if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} - elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} - $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); - $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); - - # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; - - if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) - { - # echo "
    AREACODE CID NOT MODIFIED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    AREACODE CID NICHT GELÖSCHT - Dieser Eintrag existiert nicht
    \n";} else { - echo "AREACODE CID MODIFIZIERTE: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    AREACODE CID NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben
    \n"; + } + else + { + echo "
    AREACODE CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; - $rslt=mysql_query($stmt, $link); + $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + if ($stage == 'MODIFY') + { + $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; + $rslt=mysql_query($stmt, $link); + $accids_to_print = mysql_num_rows($rslt); + $o=0; + while ($accids_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xareacode[$o] = $rowx[0]; + $Xoutbound_cid[$o] = $rowx[1]; + $Xactive[$o] = $rowx[2]; + $Xcid_description[$o] = $rowx[3]; + $Xcall_count_today[$o] = $rowx[4]; + $o++; + } + + $o=0; + while ($accids_to_print > $o) + { + $Factive_value=''; + $Fcid_description_value=''; + $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; + $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; + + if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} + elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} + if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} + elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} + $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); + $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); + + # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; + + if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) + { + # echo "
    AREACODE CID NOT MODIFIED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben
    \n"; + } + else + { + echo "AREACODE CID MODIFIZIERTE: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + + $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + $o++; } - $o++; } } $SUB=202; @@ -12086,49 +12940,56 @@ if ($ADD==202) if ($ADD==211) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $list_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LISTE NICHT ADDIERT - es gibt bereits eine Liste im System mit dieserIdentifikation\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    LISTE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; - echo "
    Liste Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; - echo "
    Liste Name muß mindestens 2 Buchstaben lang sein\n"; - echo "
    Liste Identifikation must be greater than 100\n"; + $row=mysql_fetch_row($rslt); + $list_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LISTE NICHT ADDIERT - es gibt bereits eine Liste im System mit dieserIdentifikation\n";} else { - echo "
    LISTE ADDIERT: $list_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 19) ) + { + echo "
    LISTE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
    Liste Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
    Liste Name muß mindestens 2 Buchstaben lang sein\n"; + echo "
    Liste Identifikation must be greater than 100\n"; + } + else + { + echo "
    LISTE ADDIERT: $list_id\n"; - $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311; @@ -12142,67 +13003,148 @@ if ($ADD==211) if ($ADD==2111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; - echo "
    Gruppe Identifikation muß zwischen 2 und 20 Buchstaben lang sein undNr. enthalten ' -+'.\n"; - echo "
    Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
    Gruppe Identifikation muß zwischen 2 und 20 Buchstaben lang sein undNr. enthalten ' -+'.\n"; + echo "
    Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group','$group_handling');"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPPE FÜGTE HINZU: $group_id\n"; + echo "
    GRUPPE FÜGTE HINZU: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2811 adds the new EMAIL inbound group to the system +###################### + +if ( ($ADD==2811) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    E-MAIL GROUP nicht zugesetzt - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
    Gruppe Identifikation muß zwischen 2 und 20 Buchstaben lang sein undNr. enthalten ' -+'.\n"; + echo "
    Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','EMAIL','','','','','','$user_group','EMAIL');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    E-MAIL-Gruppe hinzugefügt: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2011 adds copied inbound group to the system @@ -12210,67 +13152,148 @@ if ($ADD==2111) if ($ADD==2011) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; - echo "
    Gruppe Identifikation muß zwischen 2 und 20 Buchstaben lang sein undNr. enthalten ' -+'.\n"; - echo "
    Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id=\"$source_group_id\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
    Gruppe Identifikation muß zwischen 2 und 20 Buchstaben lang sein undNr. enthalten ' -+'.\n"; + echo "
    Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPPE FÜGTE HINZU: $group_id\n"; + echo "
    GRUPPE FÜGTE HINZU: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPY INBOUND GRUPPE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPY INBOUND GRUPPE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2911 adds copied inbound group to the system +###################### + +if ( ($ADD==2911) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    E-MAIL GROUP nicht zugesetzt - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    EMAIL GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
    E-Mail-Gruppen-ID muss zwischen 2 und 20 Zeichen lang sein und darf keine ' -+'.\n"; + echo "E-MAIL-Gruppe hinzugefügt: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPY INBOUND GRUPPE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2311 adds the new did to the system @@ -12278,45 +13301,52 @@ if ($ADD==2011) if ($ADD==2311) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    NICHT HINZUGEFÜGT - Es gibt bereits eine DID in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { + echo ""; $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    NICHT HINZUGEFÜGT - Es gibt bereits eine DID in das System mit dieser Erweiterung\n";} + {echo "
    NICHT HINZUGEFÜGT - Es gibt bereits eine DID in das System mit dieser ID\n";} else { - if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) - { - echo "
    NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    NICHT HINZUGEFÜGT - Es gibt bereits eine DID in das System mit dieser Erweiterung\n";} else - { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + { # or (eregi("\+",$did_pattern)) + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) ) + { + echo "
    NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; + echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12330,38 +13360,45 @@ if ($ADD==2311) if ($ADD==2411) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    NICHT HINZUGEFÜGT - Es gibt bereits eine DID in das System mit dieser Erweiterung\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) - { - echo "
    NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    NICHT HINZUGEFÜGT - Es gibt bereits eine DID in das System mit dieser Erweiterung\n";} else { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
    NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern - $did_id\n"; + echo "
    DID ADDED: $did_pattern - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPY DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPY DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3311; @@ -12374,61 +13411,68 @@ if ($ADD==2411) if ($ADD==2511) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL MENU NOT ADDED - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL MENU NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Rufen Sie Menü-ID kann nicht verwendet werden reservierte Wörter: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL MENU NOT ADDED - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL MENU NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Call Menü-ID muss zwischen 2 und 50 Zeichen lang sein und enthalten keine ' '.\n"; + echo "
    Rufen Sie Menü-ID kann nicht verwendet werden reservierte Wörter: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + { + echo "
    CALL MENU NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Call Menü-ID muss zwischen 2 und 50 Zeichen lang sein und enthalten keine ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    CALL MENU ADDED: $menu_id $menu_name\n"; + echo "
    CALL MENU ADDED: $menu_id $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12441,64 +13485,71 @@ if ($ADD==2511) if ($ADD==2611) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL MENU NOT ADDED - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL MENU NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Rufen Sie Menü-ID kann nicht verwendet werden reservierte Wörter: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL MENU NOT ADDED - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL MENU NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Call Menü-ID muss zwischen 2 und 50 Zeichen lang sein und enthalten keine ' '.\n"; + echo "
    Rufen Sie Menü-ID kann nicht verwendet werden reservierte Wörter: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id=\"$source_menu\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + { + echo "
    CALL MENU NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Call Menü-ID muss zwischen 2 und 50 Zeichen lang sein und enthalten keine ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id=\"$source_menu\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; + $rslt=mysql_query($stmtA, $link); - echo "
    CALL MENU ADDED: $menu_id - $menu_name\n"; + echo "
    CALL MENU ADDED: $menu_id - $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtA"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtA"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12511,33 +13562,40 @@ if ($ADD==2611) if ($ADD==2711) { - echo ""; - $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PHONE Filter Gruppe NICHT HINZUGEFÜGT - es besteht bereits eine PHONE Filter Gruppe in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) - { - echo "
    PHONE FILTER GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; - echo "
    Telefon-Filter-Gruppen-ID muss zwischen 2 und 20 Zeichen lang sein und darf keine ' '.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE Filter Gruppe NICHT HINZUGEFÜGT - es besteht bereits eine PHONE Filter Gruppe in das System mit dieser ID\n";} else { - $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) + { + echo "
    PHONE FILTER GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
    Telefon-Filter-Gruppen-ID muss zwischen 2 und 20 Zeichen lang sein und darf keine ' '.\n"; + } + else + { + $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    PHONE Filter Gruppe ADDED: $filter_phone_group_id $filter_phone_group_name\n"; + echo "
    PHONE Filter Gruppe ADDED: $filter_phone_group_id $filter_phone_group_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN ADDIEREN SIE FILTER PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN ADDIEREN SIE FILTER PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3711; @@ -12550,50 +13608,57 @@ if ($ADD==2711) if ($ADD==21111) { - echo ""; - $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    REMOTEMITTEL NICHT ADDIERT - es gibt bereits eineRemotemitteleintragung beginnend mit diesem userID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - ### check for a valid user that will be associated with this account - $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    REMOTEMITTEL NOT ADDED - Sie müssen einen gültigen als user_start für Remote-Agenten verwenden\n";} + if ($row[0] > 0) + {echo "
    REMOTEMITTEL NICHT ADDIERT - es gibt bereits eineRemotemitteleintragung beginnend mit diesem userID\n";} else { - ### check for closest remote agents to this account to ensure no overlapping - $user_finish = ($user_start + $number_of_lines); - $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + ### check for a valid user that will be associated with this account + $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    REMOTEMITTEL NOT ADDED - Ihre Anzahl der Zeilen Überschneidungen mit anderen Remote-Agent\n";} + if ($row[0] < 1) + {echo "
    REMOTEMITTEL NOT ADDED - Sie müssen einen gültigen als user_start für Remote-Agenten verwenden\n";} else { - if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) - { - echo "
    REMOTEMITTEL NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; - echo "
    Benutzernummer Anfang und externe Verlängerung müssen mindestens 2Buchstaben lang sein\n"; - } + ### check for closest remote agents to this account to ensure no overlapping + $user_finish = ($user_start + $number_of_lines); + $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    REMOTEMITTEL NOT ADDED - Ihre Anzahl der Zeilen Überschneidungen mit anderen Remote-Agent\n";} else { - $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    REMOTEMITTEL NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
    Benutzernummer Anfang und externe Verlängerung müssen mindestens 2Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); - echo "
    REMOTEMITTEL FÜGTEN HINZU: $user_start\n"; + echo "
    REMOTEMITTEL FÜGTEN HINZU: $user_start\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12608,38 +13673,45 @@ if ($ADD==21111) if ($ADD==22111) { - echo ""; - $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Nebenstellengruppe Eintrag nicht hinzugefügt - Existiert bereits ein Eintrag Verlängerung Gruppe mit diesen Werten\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) - { - echo "
    Nebenstellengruppe Eintrag nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Nebenstellengruppe Eintrag nicht hinzugefügt - Existiert bereits ein Eintrag Verlängerung Gruppe mit diesen Werten\n";} else { - $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) + { + echo "
    Nebenstellengruppe Eintrag nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $extension_id = $row[0]; + $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension_id = $row[0]; - echo "
    Nebenstellengruppe Eintrag hinzugefügt: $extension_id - $extension_group_id - $extension\n"; + echo "
    Nebenstellengruppe Eintrag hinzugefügt: $extension_id - $extension_group_id - $extension\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=12000; @@ -12652,147 +13724,154 @@ if ($ADD==22111) if ($ADD==211111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user_group = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    BENUTZER-GRUPPE NICHT ADDIERT - es gibt bereits eine BenutzergruppeEintragung mit diesem Namen\n";} else { - if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    BENUTZER-GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; - echo "
    Gruppe Name und Beschreibung müssen mindestens 2 Buchstaben langsein\n"; + $row=mysql_fetch_row($rslt); + $user_group = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    BENUTZER-GRUPPE NICHT ADDIERT - es gibt bereits eine BenutzergruppeEintragung mit diesem Namen\n";} else { - $allowed_user_group_insert_SQL = '---ALL---'; - $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; - # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups - if ($admin_viewable_groupsALL < 1) + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) { - $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; - $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); - $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; + echo "
    BENUTZER-GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
    Gruppe Name und Beschreibung müssen mindestens 2 Buchstaben langsein\n"; + } + else + { + $allowed_user_group_insert_SQL = '---ALL---'; + $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; + # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups + if ($admin_viewable_groupsALL < 1) + { + $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; + $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); + $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; - $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + + $allowed_user_group_insert_SQL = " $user_group -"; + + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $allowed_campaign_insert_SQL = $LOGallowed_campaigns; + } + + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; $rslt=mysql_query($stmt, $link); - $allowed_user_group_insert_SQL = " $user_group -"; - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); - $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - } - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) - { - $allowed_campaign_insert_SQL = $LOGallowed_campaigns; - } + echo "
    BENUTZER-GRUPPE ADDIERT: $user_group\n"; - $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN ADDIEREN SIE BENUTZER-GRUPPE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - - echo "
    BENUTZER-GRUPPE ADDIERT: $user_group\n"; - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN ADDIEREN SIE BENUTZER-GRUPPE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} if (!$rslt) {die('Could not execute: ' . mysql_error());} $row=mysql_fetch_row($rslt); - $groupid = $row[0]; + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### } } } @@ -12805,47 +13884,54 @@ if ($ADD==211111) if ($ADD==2111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $script_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    INDEX NICHT ADDIERT - es gibt bereits eine Indexeintragung mit diesem Namen\n";} else { - if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    INDEX NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Indexname, -beschreibung und -text müssen mindestens 2 Buchstabenlang sein\n"; + $row=mysql_fetch_row($rslt); + $script_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    INDEX NICHT ADDIERT - es gibt bereits eine Indexeintragung mit diesem Namen\n";} else { - $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    INDEX FÜGTE HINZU: $script_id\n"; + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    INDEX NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Indexname, -beschreibung und -text müssen mindestens 2 Buchstabenlang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + echo "
    INDEX FÜGTE HINZU: $script_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INDEXE', event_type='ADD', record_id='$script_id', event_code='ADMIN ADDIEREN SIE INDEX', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INDEXE', event_type='ADD', record_id='$script_id', event_code='ADMIN ADDIEREN SIE INDEX', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=1000000; @@ -12858,48 +13944,55 @@ if ($ADD==2111111) if ($ADD==21111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $lead_filter_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    FILTER NICHT ADDIERT - es gibt bereits eine Filtereintragung mitdieser Identifikation\n";} else { - if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    FILTER NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Filtern Sie Identifikation, Namen und SQL muß mindestens 2 Buchstabenlang sein\n"; + $row=mysql_fetch_row($rslt); + $lead_filter_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    FILTER NICHT ADDIERT - es gibt bereits eine Filtereintragung mitdieser Identifikation\n";} else { - $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    FILTER NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Filtern Sie Identifikation, Namen und SQL muß mindestens 2 Buchstabenlang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; + $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    FILTER ADDIERT: $lead_filter_id\n"; + if ($DB > 0) {echo "|$stmt|";} + echo "
    FILTER ADDIERT: $lead_filter_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTER', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN ADDIEREN SIE FILTER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTER', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN ADDIEREN SIE FILTER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=10000000; @@ -12912,34 +14005,41 @@ if ($ADD==21111111) if ($ADD==211111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Anrufzeit Definition nicht hinzugefügt - Es existiert bereits ein Anrufzeiteintrag mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) - { - echo "
    Anrufzeit Definition nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Anrufzeit ID und Name müssen mindestens 2 Zeichen Länge haben\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Anrufzeit Definition nicht hinzugefügt - Es existiert bereits ein Anrufzeiteintrag mit dieser ID\n";} else { - $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    Anrufzeit Definition nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Anrufzeit ID und Name müssen mindestens 2 Zeichen Länge haben\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group',ct_state_call_times='',ct_holidays='';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    Anrufzeit hinzugefügt: $call_time_id\n"; + echo "
    Anrufzeit hinzugefügt: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111; @@ -12952,98 +14052,159 @@ if ($ADD==211111111) if ($ADD==2111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Landesspezifische Anrufzeitdefinition nicht hinzugefügt - Es existiert bereits ein Anrufzeiteintrag mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) - { - echo "
    Landesspezifische Anrufzeitdefinition nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Landesspezifische Anrufzeit ID, Name und Land müssen mindestens 2 Zeichen Länge haben\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Landesspezifische Anrufzeitdefinition nicht hinzugefügt - Es existiert bereits ein Anrufzeiteintrag mit dieser ID\n";} else { - $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    Landesspezifische Anrufzeitdefinition nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Landesspezifische Anrufzeit ID, Name und Land müssen mindestens 2 Zeichen Länge haben\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    landesspezifische Anrufzeiten hinzugefügt: $call_time_id\n"; + echo "
    landesspezifische Anrufzeiten hinzugefügt: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111; } +###################### +# ADD=2211111111 adds new holiday definition to the system +###################### + +if ($ADD==2211111111) + { + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_call_time_holidays where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    HOLIDAY DEFINITION nicht zugesetzt - es ist schon ein Urlaub Eintrag mit dieser ID\n";} + else + { + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    HOLIDAY DEFINITION nicht zugesetzt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Ferien-ID, Name und Datum müssen aufgefüllt werden\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_time_holidays SET holiday_id='$holiday_id',holiday_name='$holiday_name',holiday_comments='$holiday_comments',holiday_date='$holiday_date',holiday_status='INACTIVE',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + + echo "
    HOLIDAY NEU: $holiday_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='ADD', record_id='$holiday_id', event_code='ADMIN ADD HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3211111111; + } + + ###################### # ADD=231111111 adds new shift definition to the system ###################### if ($ADD==231111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $shift_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    UMSCHALT DEFINITION NICHT HINZUGEFÜGT - Es gibt bereits eine Verschiebung Eintrag mit dieser ID\n";} else { - $shift_length_test = eregi_replace(':','',$shift_length); - if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    UMSCHALT DEFINITION NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Shift-ID und Name muss mindestens 2 Zeichen lang sein\n"; - echo "
    Start Time Shift muss aus 4 Ziffern in der Länge und eine gültige Uhrzeit\n"; - echo "
    Shift Länge muss mindestens 5 Zeichen lang sein und 24 Stunden oder weniger\n"; + $row=mysql_fetch_row($rslt); + $shift_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    UMSCHALT DEFINITION NICHT HINZUGEFÜGT - Es gibt bereits eine Verschiebung Eintrag mit dieser ID\n";} else { - $p=0; - $shift_weekdays_ct = count($shift_weekdays); - while ($p <= $shift_weekdays_ct) + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) { - $SHIFT_weekdays .= "$shift_weekdays[$p]"; - $p++; + echo "
    UMSCHALT DEFINITION NICHT HINZUGEFÜGT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Shift-ID und Name muss mindestens 2 Zeichen lang sein\n"; + echo "
    Start Time Shift muss aus 4 Ziffern in der Länge und eine gültige Uhrzeit\n"; + echo "
    Shift Länge muss mindestens 5 Zeichen lang sein und 24 Stunden oder weniger\n"; } - $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    UMSCHALT ANGEFÜGT:$shift_id\n"; + echo "
    UMSCHALT ANGEFÜGT:$shift_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111; @@ -13056,71 +14217,78 @@ if ($ADD==231111111) if ($ADD==21111111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $extension = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TELEFON NICHT ADDIERT - es gibt bereits ein Telefon im System mitdiesem extension/server\n";} else { - $stmt="SELECT count(*) from phones where login='$login';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $extension = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - Es gibt bereits eine Telefonnummer in das System mit diesem Login\n";} + {echo "
    TELEFON NICHT ADDIERT - es gibt bereits ein Telefon im System mitdiesem extension/server\n";} else { - $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $stmt="SELECT count(*) from phones where login='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - Es gibt bereits eine Telefon-Alias in das System mit diesem Login\n";} + {echo "
    PHONE NOT ADDED - Es gibt bereits eine Telefonnummer in das System mit diesem Login\n";} else { - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - there is already a Voicemail-ID in the system with this ID\n";} + {echo "
    PHONE NOT ADDED - Es gibt bereits eine Telefon-Alias in das System mit diesem Login\n";} else { - if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) - { - echo "
    TELEFON NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; - echo "
    Die folgenden Felder müssen Daten: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; - } + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a Voicemail-ID in the system with this ID\n";} else { - echo "
    TELEFON FÜGTE HINZU\n"; + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + { + echo "
    TELEFON NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
    Die folgenden Felder müssen Daten: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; + } + else + { + echo "
    TELEFON FÜGTE HINZU\n"; - $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13136,37 +14304,44 @@ if ($ADD==21111111111) if ($ADD==22111111111) { - echo ""; - $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TEL ALIAS NOT ADDED - Es gibt bereits eine Telefon-Alias in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where login='$alias_id';"; + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    TEL ALIAS NOT ADDED - Es gibt bereits eine Telefon-Login in das System mit dieser ID\n";} + {echo "
    TEL ALIAS NOT ADDED - Es gibt bereits eine Telefon-Alias in das System mit dieser ID\n";} else { - if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) - {echo "
    TEL ALIAS NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TEL ALIAS NOT ADDED - Es gibt bereits eine Telefon-Login in das System mit dieser ID\n";} else { - echo "
    TEL ALIAS ADDED\n"; + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    TEL ALIAS NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    TEL ALIAS ADDED\n"; - $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD TEL ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD TEL ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13180,34 +14355,41 @@ if ($ADD==22111111111) if ($ADD==23111111111) { - echo ""; - $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GROUP ALIAS NOT ADDED - Es gibt bereits eine Telefon-Alias in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) - {echo "
    GROUP ALIAS NOT ADDED - Sie können keine reservierten Wörter in der Gruppe Aliase\n";} + echo ""; + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP ALIAS NOT ADDED - Es gibt bereits eine Telefon-Alias in das System mit dieser ID\n";} else { - if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) - {echo "
    GROUP ALIAS NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) + {echo "
    GROUP ALIAS NOT ADDED - Sie können keine reservierten Wörter in der Gruppe Aliase\n";} else { - echo "
    GROUP ALIAS ADDED\n"; + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    GROUP ALIAS NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    GROUP ALIAS ADDED\n"; - $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13221,33 +14403,40 @@ if ($ADD==23111111111) if ($ADD==211111111111) { - echo ""; - $stmt="SELECT count(*) from servers where server_id='$server_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    BEDIENERNOT ADDED - there is already a server in the system with this ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) - {echo "
    BEDIENERNOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    BEDIENERNOT ADDED - there is already a server in the system with this ID\n";} else { - echo "
    BEDIENERADDED\n"; + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    BEDIENERNOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    BEDIENERADDED\n"; - $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111111; @@ -13260,51 +14449,58 @@ if ($ADD==211111111111) if ($ADD==221111111111) { - echo ""; - $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $MAXvicidial_trunks = $rowx[0]; - - $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); - - if ($SUMvicidial_trunks > $MAXvicidial_trunks) + if ($add_copy_disabled > 0) { - echo "
    VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - die Zahl vicidial Stämmen ist zu hoch: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - es gibt bereits eine Bediener-Stamm Aufzeichnung für diese Kampagne\n";} + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - die Zahl vicidial Stämmen ist zu hoch: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) - { - echo "
    VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Kampagne muß zwischen 3 und 8 Buchstaben lang sein\n"; - echo "
    server_ip verzögert muß mindestens 7 Buchstaben sein\n"; - echo "
    Stämme müssen eine Stelle von 0 bis 9999 sein\n"; - } + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - es gibt bereits eine Bediener-Stamm Aufzeichnung für diese Kampagne\n";} else { - echo "
    VICIDIAL BEDIENER-STAMM-SATZ ADDIERT: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Kampagne muß zwischen 3 und 8 Buchstaben lang sein\n"; + echo "
    server_ip verzögert muß mindestens 7 Buchstaben sein\n"; + echo "
    Stämme müssen eine Stelle von 0 bis 9999 sein\n"; + } + else + { + echo "
    VICIDIAL BEDIENER-STAMM-SATZ ADDIERT: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; - $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD BEDIENERTRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD BEDIENERTRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13318,30 +14514,37 @@ if ($ADD==221111111111) if ($ADD==231111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONF-Vorlagen nicht ADDED - Es gibt bereits eine Vorlage in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if (strlen($template_id) < 2) - {echo "
    CONF-Vorlagen nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONF-Vorlagen nicht ADDED - Es gibt bereits eine Vorlage in das System mit dieser ID\n";} else { - echo "
    CONF TEMPLATE ADDED\n"; + if (strlen($template_id) < 2) + {echo "
    CONF-Vorlagen nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    CONF TEMPLATE ADDED\n"; - $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111; @@ -13354,33 +14557,40 @@ if ($ADD==231111111111) if ($ADD==241111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CARRIER NOT ADDED - Es gibt bereits ein Luftfahrtunternehmen in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    CARRIER NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CARRIER NOT ADDED - Es gibt bereits ein Luftfahrtunternehmen in das System mit dieser ID\n";} else { - echo "
    CARRIER ADDED\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    CARRIER NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    CARRIER ADDED\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13393,33 +14603,40 @@ if ($ADD==241111111111) if ($ADD==240111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CARRIER NOT ADDED - Es gibt bereits ein Luftfahrtunternehmen in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    CARRIER NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CARRIER NOT ADDED - Es gibt bereits ein Luftfahrtunternehmen in das System mit dieser ID\n";} else { - echo "
    KOPIERT Träger zugesetzt\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    CARRIER NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    KOPIERT Träger zugesetzt\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13432,30 +14649,37 @@ if ($ADD==240111111111) if ($ADD==251111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TTS Eintrag nicht ADDED - Es gibt bereits eine tts Eintrag in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) - {echo "
    TTS Eintrag nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TTS Eintrag nicht ADDED - Es gibt bereits eine tts Eintrag in das System mit dieser ID\n";} else { - echo "
    TTS Entry Hinzugefügt\n"; + if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) + {echo "
    TTS Eintrag nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    TTS Entry Hinzugefügt\n"; - $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=351111111111; @@ -13468,30 +14692,37 @@ if ($ADD==251111111111) if ($ADD==261111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    MUSIC ON HOLD Eintrag nicht ADDED - Es gibt bereits eine moh Eintrag in das System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) - {echo "
    MUSIC ON HOLD Eintrag nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    MUSIC ON HOLD Eintrag nicht ADDED - Es gibt bereits eine moh Eintrag in das System mit dieser ID\n";} else { - echo "
    MUSIC ON HOLD Entry Hinzugefügt\n"; + if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) + {echo "
    MUSIC ON HOLD Eintrag nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    MUSIC ON HOLD Entry Hinzugefügt\n"; - $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=361111111111; @@ -13504,45 +14735,52 @@ if ($ADD==261111111111) if ($ADD==271111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Voicemail-Box NOT ADDED - Es gibt bereits eine Voicemail-Box im System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    Voicemail-Box NOT ADDED - gibt es bereits eine Telefonnummer in das System mit dieser Voicemail-ID\n";} + {echo "
    Voicemail-Box NOT ADDED - Es gibt bereits eine Voicemail-Box im System mit dieser ID\n";} else { - if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) - {echo "
    Voicemail-Box NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Voicemail-Box NOT ADDED - gibt es bereits eine Telefonnummer in das System mit dieser Voicemail-ID\n";} else { - echo "
    Voicemail-Box ADDED\n"; + if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) + {echo "
    Voicemail-Box NOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    Voicemail-Box ADDED\n"; - $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT active_voicemail_server from system_settings;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $active_voicemail_server = $row[0]; + $stmt="SELECT active_voicemail_server from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13556,30 +14794,37 @@ if ($ADD==271111111111) if ($ADD==281111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SCREEN Label nicht ADDED - Es ist bereits ein Etikett in dem System mit dieser ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) - {echo "
    SCREEN Label nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SCREEN Label nicht ADDED - Es ist bereits ein Etikett in dem System mit dieser ID\n";} else { - echo "
    SCREEN Etikett hinzugefügt\n"; + if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) + {echo "
    SCREEN Label nicht ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    SCREEN Etikett hinzugefügt\n"; - $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=381111111111; @@ -13592,38 +14837,45 @@ if ($ADD==281111111111) if ($ADD==291111111111) { - if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + if ($add_copy_disabled > 0) { - $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); - mysql_select_db("$SSalt_log_dbname", $linkALT); + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } - else - {$linkALT = $link;} - echo ""; - $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; - $rslt=mysql_query($stmt, $linkALT); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    NICHT hinzugefügten Kontakt - Ist bereits ein Kontakt in das System mit diesem Namen und die Nummer\n";} else { - if (strlen($last_name) < 2) - {echo "
    NICHT hinzugefügten Kontakt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + { + $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); + mysql_select_db("$SSalt_log_dbname", $linkALT); + } + else + {$linkALT = $link;} + echo ""; + $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; + $rslt=mysql_query($stmt, $linkALT); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    NICHT hinzugefügten Kontakt - Ist bereits ein Kontakt in das System mit diesem Namen und die Nummer\n";} else { - echo "
    Kontakt hinzugefügt\n"; + if (strlen($last_name) < 2) + {echo "
    NICHT hinzugefügten Kontakt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
    Kontakt hinzugefügt\n"; - $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; - $rslt=mysql_query($stmt, $linkALT); - $contact_id = mysql_insert_id($linkALT); + $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; + $rslt=mysql_query($stmt, $linkALT); + $contact_id = mysql_insert_id($linkALT); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=391111111111; @@ -13636,22 +14888,29 @@ if ($ADD==291111111111) if ($ADD==2111111111111) { - echo ""; - $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    KONFERENZ NICHT ADDIERT - es gibt bereits eine Konferenz im System mitdieser Identifikation und Bediener\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    KONFERENZ NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    KONFERENZ NICHT ADDIERT - es gibt bereits eine Konferenz im System mitdieser Identifikation und Bediener\n";} else { - echo "
    KONFERENZ FÜGTE HINZU\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    KONFERENZ NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
    KONFERENZ FÜGTE HINZU\n"; - $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111111; @@ -13664,22 +14923,29 @@ if ($ADD==2111111111111) if ($ADD==21111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    VICIDIAL KONFERENZ NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} else { - echo "
    VICIDIAL KONFERENZ FÜGTE HINZU\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL KONFERENZ NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
    VICIDIAL KONFERENZ FÜGTE HINZU\n"; - $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=31111111111111; @@ -13692,41 +14958,48 @@ if ($ADD==21111111111111) if ($ADD==221111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SYSTEMSTATUS NICHT ADDIERT - there is already a campaign-status in the system with this name: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    SYSTEMSTATUS NICHT ADDIERT - there is already a global-status in the system with this name\n";} + {echo "
    SYSTEMSTATUS NICHT ADDIERT - there is already a campaign-status in the system with this name: $row[0]\n";} else { - if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    SYSTEMSTATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Status muß zwischen 1 und 8 Buchstaben lang sein\n"; - echo "
    Statusname muß zwischen 2 und 30 Buchstaben lang sein\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SYSTEMSTATUS NICHT ADDIERT - there is already a global-status in the system with this name\n";} else { - echo "
    SYSTEMSTATUS ADDIERT: $status_name - $status_id\n"; + if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    SYSTEMSTATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Status muß zwischen 1 und 8 Buchstaben lang sein\n"; + echo "
    Statusname muß zwischen 2 und 30 Buchstaben lang sein\n"; + } + else + { + echo "
    SYSTEMSTATUS ADDIERT: $status_name - $status_id\n"; - $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13740,43 +15013,50 @@ if ($ADD==221111111111111) if ($ADD==231111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUS-KATEGORIE NICHT ADDIERT - es gibt bereits eine Statuskategorie im System mit dieserIdentifikation: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } else { - if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) - { - echo "
    STATUS-KATEGORIE NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Identifikation muß zwischen 2 und 20 Buchstaben lang sein\n"; - echo "
    Namensname muß zwischen 2 und 50 Buchstaben lang sein\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUS-KATEGORIE NICHT ADDIERT - es gibt bereits eine Statuskategorie im System mit dieserIdentifikation: $row[0]\n";} else { - echo "
    STATUS KATEGORIE ADDED: $vsc_id - $vsc_name\n"; - - $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) { - $tovdad_display = 'N'; - echo "
    STÖRUNG: Es gibt bereits 4 den Status-Kategorienkatalog zurTimeOnVDAD Anzeige\n"; + echo "
    STATUS-KATEGORIE NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Identifikation muß zwischen 2 und 20 Buchstaben lang sein\n"; + echo "
    Namensname muß zwischen 2 und 50 Buchstaben lang sein\n"; } + else + { + echo "
    STATUS KATEGORIE ADDED: $vsc_id - $vsc_name\n"; - $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; - $rslt=mysql_query($stmt, $link); + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    STÖRUNG: Es gibt bereits 4 den Status-Kategorienkatalog zurTimeOnVDAD Anzeige\n"; + } - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS KATEGORIE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS KATEGORIE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111111; @@ -13787,41 +15067,7 @@ if ($ADD==231111111111111) ###################### # ADD=241111111111111 adds the new qc status code to the system ###################### - -if ($ADD==241111111111111) - { - echo ""; - $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    QK-Status-Code nicht ADDED- Es gibt bereits eine qc Status Code in das System mit diesem Namen: $row[0]\n";} - else - { - if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) - { - echo "
    QK-Status-Code nicht ADDED- Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    Code muss zwischen 1 und 8 Zeichen lang sein\n"; - echo "
    Code-Name muss zwischen 2 und 30 Zeichen lang sein\n"; - } - else - { - echo "
    QK-Status-Code hinzuzufügen:$code_name - $code\n"; - - $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $ADD=341111111111111; - } +//Moved to qc/QC_status_codes_include.php include file @@ -13858,7 +15104,7 @@ if ($ADD=="4A") } echo "
    BENUTZER ÄNDERTE - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data' where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts' where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -14598,9 +15844,11 @@ if ($ADD==41) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $survey_camp_record_dir = '/home/survey'; $survey_dtmf_digits = '1238'; + $survey_wait_sec = '10'; $survey_first_audio_file = 'US_pol_survey_hello'; $survey_method = 'AGENT_XFER'; $survey_ni_audio_file = ''; @@ -14617,6 +15865,8 @@ if ($ADD==41) $call_count_target = '0'; $lead_order_randomize = 'N'; $lead_order_secondary = 'LEAD_ASCEND'; + $amd_inbound_group = ''; + $amd_callmenu = ''; } if ( (ereg('list_activation',$stage)) or (ereg('test_call',$stage)) ) { @@ -14683,13 +15933,17 @@ if ($ADD==41) else {$CIDstring = "$VqueryCID";} ### insert a NEW record to the vicidial_manager table to be processed - $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$SSactive_voicemail_server','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; + $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$old_server_ip','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; $rslt=mysql_query($stmtB, $link); ### insert a SENT record to the vicidial_auto_calls table - $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$SSactive_voicemail_server','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; + $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$old_server_ip','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; $rslt=mysql_query($stmtC, $link); + ### insert a record in the vicidial_dial_log table + $stmtD = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$old_server_ip',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $rslt=mysql_query($stmtD, $link); + ### LOG INSERTION Admin Log Table, for campaign ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -14830,7 +16084,7 @@ if ($ADD==41) if (strlen($groups_value)>2) {$groups_value .= " -";} } - $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_erfrischen='$campaign_stats_erfrischen',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check' where campaign_id='$campaign_id';"; + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_erfrischen='$campaign_stats_erfrischen',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check',in_group_dial='$in_group_dial',in_group_dial_select='$in_group_dial_select',safe_harbor_audio_field='$safe_harbor_audio_field',pause_after_next_call='$pause_after_next_call',owner_populate='$owner_populate',use_other_campaign_dnc='$use_other_campaign_dnc',allow_emails='$allow_emails',amd_inbound_group='$amd_inbound_group',amd_callmenu='$amd_callmenu' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmtA, $link); if ($reset_hopper == 'Y') @@ -15017,6 +16271,7 @@ if ($ADD==44) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $voicemail_ext = ''; } @@ -15280,7 +16535,7 @@ if ($ADD=='40A') { echo "
    UMFRAGE EINSTELLUNGEN MODIFIZIERT: $campaign_id\n"; - $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording' where campaign_id='$campaign_id';"; + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording',survey_wait_sec='$survey_wait_sec' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15464,37 +16719,44 @@ if ($ADD==49) ##### ADD a NEW list mix ##### if ($stage=='NEWMIX') { - echo ""; - - if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + if ($add_copy_disabled > 0) { - echo "
    LISTE MISCHUNG NICHT ADDIERT- Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; - echo "
    vcl_id must be between 1 and 20 characters in length\n"; - echo "
    vcl_name must be at least 2 characters in length\n"; + echo "
    Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) { - echo "
    LISTE MISCHUNG NICHT ADDIERT- Es gibt bereits eine Liste Mischung mit dieser Identifikation imSystem\n"; + echo "
    LISTE MISCHUNG NICHT ADDIERT- Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name must be at least 2 characters in length\n"; } else { - $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    LISTE MISCHUNG NICHT ADDIERT- Es gibt bereits eine Liste Mischung mit dieser Identifikation imSystem\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE LIST MIX', event_sql=\"$SQL_log\", event_notes='US-Mix: $vcl_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADDIEREN SIE KAMPAGNE LIST MIX', event_sql=\"$SQL_log\", event_notes='US-Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - echo "
    LISTE MISCHUNG ADDIERT:$campaign_id - $vcl_id - $vcl_name\n"; + echo "
    LISTE MISCHUNG ADDIERT:$campaign_id - $vcl_id - $vcl_name\n"; + } } } } @@ -15588,7 +16850,6 @@ if ($ADD==401) $stmt="UPDATE vicidial_xfer_presets SET preset_dtmf='$preset_dtmf',preset_number='$preset_number',preset_hide_number='$preset_hide_number' where campaign_id='$campaign_id' and preset_name='$preset_name';"; $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15655,12 +16916,19 @@ if ($ADD==411) else { if (strlen($reset_time) < 4) {$reset_time='';} + if (strlen($expiration_date) < 10) {$expiration_date='2099-12-31';} echo "
    LISTE ÄNDERTE: $list_id\n"; - $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report' where list_id='$list_id';"; + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date' where list_id='$list_id';"; $rslt=mysql_query($stmt, $link); +## BEGIN QC Addition for Audited Comments + $stmt="INSERT INTO vicidial_lists_custom (audit_comments, list_id) VALUES ('" . mysql_real_escape_string($audit_comments) . "','$list_id') ON DUPLICATE KEY UPDATE audit_comments='" . mysql_real_escape_string($audit_comments) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} +## END QC Addition for Audited Comments + ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15705,7 +16973,7 @@ if ($ADD==411) # ADD=4111 modify in-group info in the system ###################### -if ($ADD==4111) +if ($ADD==4111 || $ADD==4811) { if ($SUB=='agents_select') { @@ -15867,7 +17135,7 @@ if ($ADD==4111) echo "
    GRUPPE GEÄNDERT: $group_id\n"; - $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action' where group_id='$group_id';"; + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid' where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15886,7 +17154,7 @@ if ($ADD==4111) exit; } } - $ADD=3111; # go to in-group modification form below + $ADD-=1000; #$ADD=3111; # go to in-group modification form below } @@ -15949,7 +17217,7 @@ if ($ADD==4511) { echo "
    CALL MENU MODIFIED: $menu_id\n"; - $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group' where menu_id='$menu_id';"; + $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group',qualify_sql='$qualify_sql' where menu_id='$menu_id';"; $rslt=mysql_query($stmt, $link); $h=0; @@ -16289,6 +17557,39 @@ if ($ADD==411111) } $allowed_reports = preg_replace("/,$/","",$new_field_value); + # update allowed_camapigns with values that the editor cant see http://www.vicidial.org/VICIDIALforum/viewtopic.php?f=5&t=26101 + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $changer_allowed_campaigns = preg_replace("/ -/",'',$LOGallowed_campaigns); + $changer_allowed_campaigns = explode(" ", $changer_allowed_campaigns); + + $stmt="SELECT allowed_campaigns FROM vicidial_user_groups WHERE user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $old_allowed_rows = mysql_num_rows($rslt); + if ($old_allowed_rows > 0) + { + $row=mysql_fetch_row($rslt); + $old_allowed = $row[0]; + } + if ( (!eregi("-ALL",$old_allowed)) ) + { + $invis_campaigns=""; + $campaigns_value = preg_replace("/ -/",'',$campaigns_value); + $old_allowed = preg_replace("/ -/",'',$old_allowed); + $old_allowed = explode(" ", $old_allowed); + + foreach ($old_allowed as $oac) + { + if (!in_array($oac, $changer_allowed_campaigns)) + { + $invis_campaigns .= "$oac "; + } + } + $campaigns_value .= " $invis_campaigns-"; + } + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement',agent_status_viewable_groups='$VGROUP_vgroups',agent_status_view_time='$agent_status_view_time',agent_call_log_view='$agent_call_log_view',agent_xfer_consultative='$agent_xfer_consultative',agent_xfer_dial_override='$agent_xfer_dial_override',agent_xfer_vm_transfer='$agent_xfer_vm_transfer',agent_xfer_blind_transfer='$agent_xfer_blind_transfer',agent_xfer_dial_with_customer='$agent_xfer_dial_with_customer',agent_xfer_park_customer_dial='$agent_xfer_park_customer_dial',agent_fullscreen='$agent_fullscreen',allowed_reports='$allowed_reports',webphone_url_override='" . mysql_real_escape_string($webphone_url_override) . "',webphone_systemkey_override='$webphone_systemkey_override',webphone_dialpad_override='$webphone_dialpad_override',admin_viewable_groups='$Vadmin_viewable_groups',admin_viewable_call_times='$Vadmin_viewable_call_times' where user_group='$OLDuser_group';"; $rslt=mysql_query($stmt, $link); @@ -16576,7 +17877,7 @@ if ($ADD==4111111111) $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } @@ -16590,6 +17891,48 @@ if ($ADD==4111111111) } +###################### +# ADD=4211111111 modify holiday in the system +###################### + +if ($ADD==4211111111) + { + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    HOLIDAY nicht geändert - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Ferien-ID, Name und Datum müssen aufgefüllt werden\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $stmt="UPDATE vicidial_call_time_holidays set holiday_name='$holiday_name', holiday_comments='$holiday_comments', holiday_date='$holiday_date', holiday_status='$holiday_status', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop',user_group='$user_group', default_afterhours_filename_override='$default_afterhours_filename_override' where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    HOLIDAY MODIFIZIERTES\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='MODIFY', record_id='$holiday_id', event_code='ADMIN MODIFY HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + $ADD=3211111111; # go to holiday modification form below + } + + ###################### # ADD=431111111 modify shift in the system ###################### @@ -16664,7 +18007,7 @@ if ($ADD==41111111111) { echo "
    TELEFON GEÄNDERT: $extension\n"; - $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_erfrischen='$enable_fast_erfrischen', fast_erfrischen_rate='$fast_erfrischen_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where extension='$old_extension' and server_ip='$old_server_ip';"; + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_erfrischen='$enable_fast_erfrischen', fast_erfrischen_rate='$fast_erfrischen_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where extension='$old_extension' and server_ip='$old_server_ip';"; $rslt=mysql_query($stmt, $link); $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; @@ -17115,15 +18458,18 @@ if ($ADD==471111111111) {echo "
    Voicemail-Box NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} else { - $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where voicemail_id='$voicemail_id';"; + $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|";} $stmt="SELECT active_voicemail_server from system_settings;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $sounds_updateSQL=''; + if ($SSallow_voicemail_greeting > 0) {$sounds_updateSQL = ",sounds_update='Y'";} + $stmtA="UPDATE servers SET rebuild_conf_files='Y'$sounds_updateSQL where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; $rslt=mysql_query($stmtA, $link); echo "
    Voicemail-Box MODIFIED: $voicemail_id\n"; @@ -17334,7 +18680,7 @@ if ($ADD==411111111111111) } $tables_use_alt_log_db = preg_replace("/,$/","",$new_altlog_value); - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_erfrischen='$admin_modify_erfrischen',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled';"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_erfrischen='$admin_modify_erfrischen',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add';"; $rslt=mysql_query($stmt, $link); if ($reload_dialplan_on_servers > 0) @@ -17934,6 +19280,30 @@ if ($ADD==5111111111) $ADD='3111111111'; # go to state call time modification below } + +###################### +# ADD=5211111111 confirmation before deletion of holiday record +###################### + +if ($ADD==5211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    URLAUB NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Ferien ID muss mindestens 2 Zeichen lang sein\n"; + } + else + { + echo "
    HOLIDAY Löschbestätigung: $holiday_id\n"; + echo "

    Klicken Sie hier, um Urlaub zu löschen $holiday_id


    \n"; + } + + $ADD='3211111111'; # go to holiday modification below + } + + ###################### # ADD=531111111 confirmation before deletion of shift record ###################### @@ -19413,6 +20783,64 @@ if ($ADD==6111111111) } +###################### +# ADD=6211111111 delete holiday record +###################### + +if ($ADD==6211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    URLAUB NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Ferien ID muss mindestens 2 Zeichen lang sein\n"; + } + else + { + $stmtA="DELETE from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="SELECT call_time_id,ct_holidays from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_ids[$o] = "$rowx[0]"; + $hct_holidays[$o] = "$rowx[1]"; + $o++; + } + $o=0; + while ($hct_to_print > $o) + { + $hct_holidays[$o] = eregi_replace("\|$holiday_id\|",'|',$hct_holidays[$o]); + $stmt="UPDATE vicidial_call_times set ct_holidays='$hct_holidays[$o]' where call_time_id='$hct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} + echo "Ferien Regel entfernt: $hct_ids[$o]
    \n"; + $o++; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='DELETE', record_id='$holiday_id', event_code='ADMIN DELETE HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    HOLIDAY DELETION ABGESCHLOSSEN: $holiday_id\n"; + echo "

    \n"; + } + + $ADD='1200000000'; # go to holidays list + } + + ###################### # ADD=631111111 delete shift record ###################### @@ -19988,7 +21416,7 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -20181,6 +21611,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -20193,7 +21630,7 @@ if ($ADD==3) echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -20291,6 +21728,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -20388,7 +21832,7 @@ if ($ADD==31) $enable_vtiger_integration_LU = $row[0]; $vtiger_url_LU = $row[1]; - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $campaign_name = $row[1]; @@ -20595,6 +22039,16 @@ if ($ADD==31) $callback_list_calltime = $row[202]; $user_group = $row[203]; $hopper_vlc_dup_check = $row[204]; + $in_group_dial = $row[205]; + $in_group_dial_select = $row[206]; + $safe_harbor_audio_field = $row[207]; + $pause_after_next_call = $row[208]; + $owner_populate = $row[209]; + $use_other_campaign_dnc = $row[210]; + $allow_emails = $row[211]; + $amd_inbound_group = $row[212]; + $amd_callmenu = $row[213]; + $survey_wait_sec = $row[214]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -20748,6 +22202,7 @@ if ($ADD==31) $nxLOGadmin_viewable_groupsSQL = $LOGadmin_viewable_groupsSQL; if (strlen($xfer_groupsSQL) < 6) {$nxLOGadmin_viewable_groupsSQL = $whereLOGadmin_viewable_groupsSQL;} + ##### get in-groups listings for dynamic transfer group pulldown list menu $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL $nxLOGadmin_viewable_groupsSQL order by group_id;"; $rslt=mysql_query($stmt, $link); @@ -20772,6 +22227,54 @@ if ($ADD==31) else {$Xgroups_menu .= "\n";} + ##### get in-groups listings for dynamic AMD inbound group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $AMDgroups_to_print = mysql_num_rows($rslt); + $AMDgroups_menu=''; + $AMDgroups_selected=0; + $o=0; + while ($AMDgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDgroups_menu .= "\n"; + $o++; + } + if ($AMDgroups_selected < 1) + {$AMDgroups_menu .= "\n";} + else + {$AMDgroups_menu .= "\n";} + + ##### get callmenus listings for dynamic AMD callmenu pulldown list menu + $stmt="SELECT menu_id from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $AMDmenus_to_print = mysql_num_rows($rslt); + $AMDmenus_menu=''; + $AMDmenus_selected=0; + $o=0; + while ($AMDmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDmenus_menu .= "\n"; + $o++; + } + if ($AMDmenus_selected < 1) + {$AMDmenus_menu .= "\n";} + else + {$AMDmenus_menu .= "\n";} + ##### get agent screen label listings for dynamic pulldown list menu $stmt="SELECT label_id,label_name from vicidial_screen_labels where active='Y' $LOGadmin_viewable_groupsSQL order by label_id;"; $rslt=mysql_query($stmt, $link); @@ -20829,7 +22332,7 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -20872,10 +22375,10 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -20884,7 +22387,7 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-user_group$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSenable_second_webform > 0) { @@ -20892,7 +22395,14 @@ if ($ADD==31) } echo "\n"; echo "\n"; - + if ($SSallow_emails > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -21296,9 +22806,26 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-local_call_time$NWE\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) { - echo "\n"; + echo "\n"; } echo "\n"; @@ -21326,11 +22853,11 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21352,7 +22879,7 @@ if ($ADD==31) {$cfwHTML = '';} echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; } echo "\n"; @@ -21430,11 +22967,13 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -21479,7 +23020,9 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; if ($SSuser_territories_active > 0) { @@ -21491,9 +23034,9 @@ if ($ADD==31) else {$ASLlink = "$PHP_SELF?ADD=381111111111&label_id=$screen_labels";} echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21505,11 +23048,13 @@ if ($ADD==31) echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21521,6 +23066,10 @@ if ($ADD==31) echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -21630,7 +23179,7 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; if ($campaign_allow_inbound == 'Y') { @@ -21691,7 +23240,9 @@ if ($ADD==31) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -21700,8 +23251,8 @@ if ($ADD==31) echo ""; echo ""; echo "\n"; - echo "\n"; - echo ""; + echo "\n"; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -21733,21 +23284,27 @@ if ($ADD==31) echo ""; + echo ""; echo "\n"; $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $user_id = $row[0]; @@ -20087,6 +21515,8 @@ if ($ADD==3) $modify_same_user_level = $row[95]; $admin_hide_lead_data = $row[96]; $admin_hide_phone_data = $row[97]; + $agentcall_email = $row[98]; + $modify_email_accounts = $row[99]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -20147,7 +21577,7 @@ if ($ADD==3) echo "
    Telefon-LOGON: $NWB#vicidial_users-phone_login$NWE
    Telefon-Durchlauf: $NWB#vicidial_users-phone_pass$NWE
    Aktiv:$NWB#vicidial_users-active$NWE
    Voicemail-ID: voicemail chooser$NWB#vicidial_users-voicemail_id$NWE
    Voicemail-ID: Voicemail-Wahlmenü$NWB#vicidial_users-voicemail_id$NWE
    E-Mail:$NWB#vicidial_users-optional$NWE
    User Code: $NWB#vicidial_users-optional$NWE
    Main Territory: $NWB#vicidial_users-optional$NWE
    Zeitlich geplante Wiederholungsbesuche: $NWB#vicidial_users-scheduled_callbacks$NWE
    Mittel-Nur Wiederholungsbesuche: $NWB#vicidial_users-agentonly_callbacks$NWE
    Vertreter-Anruf-Handbuch: $NWB#vicidial_users-agentcall_manual$NWE
    Agent Call E-Mail:$NWB#vicidial_users-agentcall_email$NWE
    Vicidial Aufnahme: $NWB#vicidial_users-vicidial_recording$NWE
    Vicidial Übertragungen: $NWB#vicidial_users-vicidial_transfers$NWE
    Agent Shift Vollstreckung Override: $NWB#vicidial_users-agent_shift_enforcement_override$NWE
    Agent-Call Log anzeigen Override: $NWB#vicidial_users-agent_call_log_view_override$NWE
    Agent-Lead-Suche Override: $NWB#vicidial_users-agent_lead_search_override$NWE
    Agent-Lead-Suche Override: $NWB#vicidial_users-agent_lead_search_override$NWE
    Alarm aktiv: $alert_enabled $NWB#vicidial_users-alert_enabled$NWE
    Ändern Verschiebungen: $NWB#vicidial_users-modify_sections$NWE
    ÄndernHandys: $NWB#vicidial_users-modify_sections$NWE
    ÄndernTräger: $NWB#vicidial_users-modify_sections$NWE
    Ändern E-Mail-Konten: $NWB#vicidial_users-modify_email_accounts$NWE
    ÄndernLabels: $NWB#vicidial_users-modify_sections$NWE
    ÄndernStatus: $NWB#vicidial_users-modify_sections$NWE
    ÄndernVoicemail: $NWB#vicidial_users-modify_sections$NWE
    Lead RecyclingBlei-RecyclingAuto Alt DialUS-MixUmfrage
    Kampagne Beschreibung: $NWB#vicidial_campaigns-campaign_description$NWE
    Kampagne Datum ändern: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Kampagne Login Datum: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Kampagne Call Date: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    Kampagne Kündigungstag: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    \n"; - horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1); + horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1,'',''); echo "
    Aktiv:$NWB#vicidial_campaigns-active$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Park Music-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Netz-Form: $NWB#vicidial_campaigns-web_form_address$NWE
    Netz-Form-Target: $NWB#vicidial_campaigns-web_form_target$NWE
    Erlauben Sie Closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Erlauben Sie E-Mails: $NWB#vicidial_campaigns-allow_emails$NWE
    Erlauben Sie Inbound und gemischt:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    \n"; + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$local_call_time';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_state_call_times = $rowx[0]; + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + if ($ct_srs < 0) {$ct_hrs=0;} + echo "Staatliche Regeln für dieses Gespräch Zeit definiert: $ct_srs\n"; + } + else + {echo "Call time not found!: $local_call_time\n";} + echo "
    Vorwahlknopf-Abschaltung: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
    Vorwahlknopf-Abschaltung: in Sekunden$NWB#vicidial_campaigns-dial_timeout$NWE
    Vorwahlknopf-Präfix: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
    Kampagne Rec Dateiname: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
    Das Notieren Verzögert: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
    Das Notieren Verzögert: in Sekunden$NWB#vicidial_campaigns-allcalls_delay$NWE
    Rufen Sie Noten pro Anruf: $NWB#vicidial_campaigns-per_call_notes$NWE
    Agent-Lead-Suche: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Agent-Lead-Suche: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Agent-Lead-Suchmethode: $NWB#vicidial_campaigns-agent_lead_search_method$NWE
    Erhalten Sie Anruf-Produkteinführung: $NWB#vicidial_campaigns-get_call_launch$NWE
    Antwortende Maschine Anzeige: audio chooser $NWB#vicidial_campaigns-am_message_exten$NWE\n"; + echo "
    Antwortende Maschine Anzeige: Audio-Wahlmenü $NWB#vicidial_campaigns-am_message_exten$NWE\n"; $stmt="SELECT count(*) from vicidial_lists where campaign_id='$campaign_id' and am_message_exten_override != '' and active='Y' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $rowx=mysql_fetch_row($rslt); @@ -21364,9 +22891,19 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo "
    AMD senden zu VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    AMD to Action senden: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    CPD AMD Aktion: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    CPD AMD Aktion: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    AMD Inbound-Gruppe: $NWB#vicidial_campaigns-amd_inbound_group$NWE\n"; + echo "
    AMD Aufruf Menü: $NWB#vicidial_campaigns-amd_callmenu$NWE\n"; + echo "
    BringenSie DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Sicherheitsnebenstelle: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
    Safe-Harbor-Audio: audio chooser $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe-Harbor-Audio: Audio-Wahlmenü $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe-Harbor-Audio-Bereich: $NWB#vicidial_campaigns-safe_harbor_audio_field$NWE
    Safe-Harbor-Call-Menü: $NWB#vicidial_campaigns-safe_harbor_menu_id$NWE
    Voicemail: voicemail chooser$NWB#vicidial_campaigns-voicemail_ext$NWE
    Voicemail: Voicemail-Wahlmenü$NWB#vicidial_campaigns-voicemail_ext$NWE
    Drop-Transfer-Gruppe:
    Verwenden Sie Kampagne DNC Liste: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
    Andere Kampagne DNC: $NWB#vicidial_campaigns-use_other_campaign_dnc$NWE
    AgentPause CodesAktiv:$NWB#vicidial_campaigns-agent_pause_codes_active$NWE
    Auto Pause Pre-Call Work: $NWB#vicidial_campaigns-auto_pause_precall$NWE
    Nr. Hopper Dialing: $NWB#vicidial_campaigns-no_hopper_dialing$NWE
    Eigentümer nur Dialing: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Eigentümer nur Dialing: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Besitzer Auffüllen: $NWB#vicidial_campaigns-owner_populate$NWE
    Agent-Bildschirm Labels: $NWB#vicidial_campaigns-screen_labels$NWE
    Status Anzeige-Felder: $NWB#vicidial_campaigns-status_display_fields$NWE
    Status Anzeige-Felder: $NWB#vicidial_campaigns-status_display_fields$NWE
    Agent Anzeige Queue Count:$NWB#vicidial_campaigns-display_queue_count$NWE
    Maklers Queue Count:$NWB#vicidial_campaigns-display_queue_count$NWE
    Agent Profil Anrufe in der Warteschlange: $NWB#vicidial_campaigns-view_calls_in_queue$NWE
    Agent Pause nach jedem Anruf: $NWB#vicidial_campaigns-pause_after_each_call$NWE
    Agenten Pause After Next Link Anruf: $NWB#vicidial_campaigns-pause_after_next_call$NWE
    Manuelle Wahl Override: $NWB#vicidial_campaigns-manual_dial_override$NWE
    Manuelle Vorwahlknopf-Liste Identifikation:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Manuelle Vorwahlknopf-Liste Identifikation:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Manual Dial Filter:$NWB#vicidial_campaigns-manual_dial_filter$NWE
    Manuelle Wahl Filter:$NWB#vicidial_campaigns-manual_dial_filter$NWE
    Manuelle Vorschau Dial: $NWB#vicidial_campaigns-manual_preview_dial$NWE
    Telefon Post Time Difference-Alert: $NWB#vicidial_campaigns-post_phone_time_diff_alert$NWE
    In-Gruppe Manuelle Wahl: $NWB#vicidial_campaigns-in_group_dial$NWE
    In-Gruppe Manuelle Wahl Select: $NWB#vicidial_campaigns-in_group_dial_select$NWE
    Agent Screen Zwischenablage kopieren: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
    Blinden-Monitor und Datenschutz: $NWB#vicidial_campaigns-blind_monitor_message$NWE
    Blinden-Monitor Dateiname: audio chooser $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    Blinden-Monitor Dateiname: Audio-Wahlmenü $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    LISTE IDENTIFIKATIONLISTE NAMEBESCHREIBUNGLEADS COUNTAKTIVFÜHRT COUNTAKTIVLAST CALL DATUMÄNDERN Sie
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]ÄNDERN Sie

    \n"; $filterSQL = $filtersql_list[$lead_filter_id]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -21806,7 +23363,7 @@ if ($ADD==31) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -21964,6 +23521,18 @@ if ($ADD==31) { if ( ($SStest_campaign_calls > 0) and ($campaign_active == 'Y') ) { + ##### get list of active asterisk server for dynamic pulldown list menu + $stmt="SELECT server_id,server_ip from servers where active='Y' and active_asterisk_server='Y' $LOGadmin_viewable_groupsSQL order by server_id;"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_menu="\n"; + $os=0; + while ($servers_to_print > $os) + { + $rowx=mysql_fetch_row($rslt); + $servers_menu .= "\n"; + $os++; + } echo "
    \n"; echo "\n"; echo "\n"; @@ -21976,8 +23545,9 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "Testen Sie Outbound Call: "; - echo "code:   "; - echo "number:   "; + echo "code:   "; + echo "Anzahl:   "; + echo "Server:   "; echo "   $NWB#settings-test_campaign_calls$NWE


    \n"; } else @@ -22169,8 +23739,10 @@ if ($ADD==31) echo "   \n"; echo "Status:   \n"; echo "
    \n"; echo "
    \n"; @@ -22446,29 +24018,30 @@ if ($ADD==31) echo "
    \n"; echo "\n"; - echo "
    Umfrage Erste Audio-Datei: audio chooser $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Umfrage Erste Audio-Datei: Audio-Wahlmenü $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Umfrage DTMF Digits: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
    Umfrage nicht interessiert Digit: $NWB#vicidial_campaigns-survey_ni_digit$NWE
    Umfrage Opt-in Audio-Datei: audio chooser $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Umfrage nicht interessiert Audio-Datei: audio chooser $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Umfrage Warten Sekunden: $NWB#vicidial_campaigns-survey_wait_sec$NWE
    Umfrage Opt-in Audio-Datei: Audio-Wahlmenü $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Umfrage nicht interessiert Audio-Datei: Audio-Wahlmenü $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Umfrage-Methode: $NWB#vicidial_campaigns-survey_method$NWE
    Umfrage Nr. Response-Aktion: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Umfrage Nr. Response-Aktion: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Umfrage kein Interesse Status: $NWB#vicidial_campaigns-survey_ni_status$NWE
    Umfrage dritte Ziffer: $NWB#vicidial_campaigns-survey_third_digit$NWE
    Umfrage Dritten Audio-Datei: audio chooser $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Umfrage Dritten Audio-Datei: Audio-Wahlmenü $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Umfrage Dritten Status: $NWB#vicidial_campaigns-survey_third_status$NWE
    Umfrage dritte Erweiterung: $NWB#vicidial_campaigns-survey_third_exten$NWE
    Umfrage vierte Stelle: $NWB#vicidial_campaigns-survey_fourth_digit$NWE
    Umfrage Vierte Audio-Datei: audio chooser $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Umfrage Vierte Audio-Datei: Audio-Wahlmenü $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Umfrage Vierte Status: $NWB#vicidial_campaigns-survey_fourth_status$NWE
    Umfrage Vierte Verlängerung: $NWB#vicidial_campaigns-survey_fourth_exten$NWE
    Antworten Digit Karte: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
    Umfrage Umfrage XFER Erweiterung: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
    Umfrage Kampagne Aufnahme Directory: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
    Voicemail: voicemail chooser $NWB#vicidial_campaigns-voicemail_ext$NWE
    Voicemail: Voicemail-Wahlmenü $NWB#vicidial_campaigns-voicemail_ext$NWE
    Umfrage Call-Menü: $NWB#vicidial_campaigns-survey_menu_id$NWE
    Umfrage Recording: $NWB#vicidial_campaigns-survey_recording$NWE
    Netz-Form: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
    Erlauben Sie Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
    Rückstellung Übergangsgruppe:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
    Erlauben Sie E-Mails: $allow_emails $NWB#vicidial_campaigns-allow_emails$NWE
    Erlauben Sie Inbound und gemischt:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    LISTE IDENTIFIKATIONLISTE NAMEBESCHREIBUNGLEADS COUNTAKTIVFÜHRT COUNTAKTIVLAST CALL DATUMÄNDERN Sie
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]ÄNDERN Sie

    \n"; echo "
    \n"; @@ -23188,7 +24775,7 @@ if ($ADD==34) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -24156,8 +25743,9 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + + echo "\n"; + + if($audit_comments=='1') { + echo "\n"; + } else { + echo "\n"; + } echo "\n"; echo "\n"; @@ -24284,7 +25904,7 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report from vicidial_lists where list_id='$list_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} $row=mysql_fetch_row($rslt); $list_name = $row[1]; $campaign_id = $row[2]; @@ -24179,6 +25767,9 @@ if ($ADD==311) $web_form_address_two = $row[18]; $time_zone_setting = $row[19]; $inventory_report = $row[20]; + $audit_comments = $row[21]; + $expiration_date = $row[22]; + $expiration_dateINT = $row[23]; # grab names of global statuses and statuses in the selected campaign $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; @@ -24247,7 +25838,7 @@ if ($ADD==311) {$Dgroups_menu .= "\n";} - echo "
    ÄNDERN Sie Einen LISTEN SATZ: $list_id
    \n"; + echo "
    ÄNDERN Sie Einen LISTEN SATZ: $list_id\n"; echo "\n"; echo "\n"; echo "\n"; @@ -24271,9 +25862,38 @@ if ($ADD==311) echo "$campaigns_list"; echo "\n"; echo "$NWB#vicidial_lists-campaign_id$NWE
    Aktiv:$NWB#vicidial_lists-active$NWE
    Aktiv:$NWB#vicidial_lists-active$NWE \n"; + if ( ($expiration_dateINT < $EXPtestdate) and ($active == 'Y') ) + {echo "     LIST abgelaufen ist und aktiv gesetzt";} + echo "
    Stellen Sie Führen-Benennen-Status für diese Liste zurück: $NWB#vicidial_lists-reset_list$NWE
    Reset Times: $NWB#vicidial_lists-reset_time$NWE
    Fälligkeitsdatum: \n"; + echo " $NWB#vicidial_lists-expiration_date$NWE \n"; + if ($expiration_dateINT < $EXPtestdate) + { + if ($active == 'Y') + {echo "     LIST abgelaufen ist und aktiv gesetzt";} + else + {echo "     LIST EXPIRED";} + } + echo "
    Audit Kommentare: $NWB#vicidial_lists-audit_comments$NWE
    Audit Kommentare: $NWB#vicidial_lists-audit_comments$NWE
    Liste Änderung Datum: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    US-Last Call Date: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    Kampagne CID Override: $NWB#vicidial_lists-campaign_cid_override$NWE
    Anrufbeantworter Nachricht Override: audio chooser $NWB#vicidial_lists-am_message_exten_override$NWE
    Anrufbeantworter Nachricht Override: Audio-Wahlmenü $NWB#vicidial_lists-am_message_exten_override$NWE
    Drop Inbound-Fraktion Override: \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25361,7 +27000,7 @@ if ($ADD==3111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25381,21 +27020,21 @@ if ($ADD==3111) echo "$Wmenuslist"; echo "$NWB#vicidial_inbound_groups-wait_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25415,23 +27054,23 @@ if ($ADD==3111) echo "$Xmenuslist"; echo "$NWB#vicidial_inbound_groups-hold_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25464,6 +27103,8 @@ if ($ADD==3111) echo "$group_alias_menu"; echo "$NWB#vicidial_inbound_groups-default_group_alias$NWE\n"; + echo "\n"; + echo "\n"; @@ -25890,6 +27531,708 @@ if ($ADD==3111) +###################### +# ADD=3811 modify in-group info in the system +###################### + +if ($ADD==3811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + if ( ($SSadmin_modify_erfrischen > 1) and ($modify_erfrischen_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3811&group_id=$group_id"; + $modify_footer_erfrischen=1; + } + echo "
    \n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -25016,6 +26636,8 @@ if ($ADD==3111) $max_calls_method = $row[109]; $max_calls_count = $row[110]; $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; ##### get callmenu listings for dynamic pulldown $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; @@ -25155,7 +26777,7 @@ if ($ADD==3111) echo "
    In-Group Calldate: $group_calldate$NWB#vicidial_inbound_groups-group_calldate$NWE
    \n"; - horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1,'',''); echo "
    Admin Benutzer-Gruppe:
    Verbindungsaufbaunebenstelle: $NWB#vicidial_inbound_groups-drop_exten$NWE
    Voicemail: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Voicemail: Voicemail-Wahlmenü$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Drop Transfer Group: $NWB#vicidial_inbound_groups-call_time_id$NWE
    \n"; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "Feiertage defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!: $call_time_id\n";} + echo "
    Aktion Transfer-CID: $NWB#vicidial_inbound_groups-action_xfer_cid$NWE
    Nach Stunden Tätigkeit:$NWB#vicidial_inbound_groups-after_hours_action$NWE
    Nach Stunden Anzeige Dateinamen: audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Nach Stunden Anzeige Dateinamen: Audio-Wahlmenü $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Nach Stunden Verlängerung:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
    Nach Stunden Voicemail: voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Nach Stunden Voicemail: Voicemail-Wahlmenü$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    After Hours Transfer Group: \n"; echo "
    Suchmethode: \n"; - echo "   Liste Identifikation: "; + echo "   Liste Identifikation: "; echo "
    Kampagne Identifikation: \n"; echo "   Phone Code: "; @@ -25316,7 +26955,7 @@ if ($ADD==3111) { if (strlen($no_agent_action_value) < 3) {$no_agent_action_value = 'nbdy-avail-to-take-call|vm-goodbye';} - echo "Audio-Datei: audio chooser\n"; + echo "Audio-Datei: Audio-Wahlmenü\n"; } if ($no_agent_action=='EXTENSION') { @@ -25329,7 +26968,7 @@ if ($ADD==3111) } if ($no_agent_action=='VOICEMAIL') { - echo "Voicemail-Box: voicemail chooser\n"; + echo "Voicemail-Box: Voicemail-Wahlmenü\n"; } echo " @@ -25341,13 +26980,13 @@ if ($ADD==3111) echo "
    Max ruft Aktion: $NWB#vicidial_inbound_groups-max_calls_action$NWE
    Willkommener Anzeige Dateiname: audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Willkommener Anzeige Dateiname: Audio-Wahlmenü $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Jetzt Grußwort:$NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Musik Auf Einfluß-Kontext: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Musik Auf Einfluß-Kontext: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Auf Einfluß-Aufforderung Dateinamen: audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Auf Einfluß-Aufforderung Dateinamen: Audio-Wahlmenü $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Auf Einfluß-Aufforderung Abstand:$NWB#vicidial_inbound_groups-prompt_interval$NWE
    Berechnen Sie Geschätzte Hold-Sekunden: $NWB#vicidial_inbound_groups-calculate_estimated_hold_seconds$NWE
    Geschätzte Mindest-Haltezeit Dateiname: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Geschätzte Mindest-Haltezeit Dateiname: Audio-Wahlmenü $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Geschätzte Mindest-Haltezeit Prompt keine Block: $NWB#vicidial_inbound_groups-eht_minimum_prompt_no_block$NWE
    Wait Time Option Voicemail: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Wait Time Option Voicemail: Voicemail-Wahlmenü $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Wait Time Option Transfer-In-Gruppe:$NWB#vicidial_inbound_groups-wait_time_option_xfer_group$NWE
    Wait Time Option Drücken Dateiname: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Wait Time Option Drücken Dateiname: Audio-Wahlmenü $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Wait Time Option Presse keine Block: $NWB#vicidial_inbound_groups-wait_time_option_no_block$NWE
    Wait Time Option Drücken Dateiname Sekunden: $NWB#vicidial_inbound_groups-wait_time_option_prompt_seconds$NWE
    Wait Time Option Nach dem Drücken Dateiname: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Wait Time Option Nach dem Drücken Dateiname: Audio-Wahlmenü $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Wait Time Option Rückruf-Liste-ID: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Wait Time Option Rückruf-Liste-ID: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Warten Halten Sie die Wahltaste Priorität: $NWB#vicidial_inbound_groups-wait_hold_option_priority$NWE
    Hold Time Option Voicemail: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Hold Time Option Voicemail: Voicemail-Wahlmenü $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Hold Time Option Transfer In-Group:$NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Hold Time Option Drücken Dateiname: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Hold Time Option Drücken Dateiname: Audio-Wahlmenü $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Hold Time Option Presse keine Block: $NWB#vicidial_inbound_groups-hold_time_option_no_block$NWE
    Hold Time Option Drücken Dateiname Sekunden: $NWB#vicidial_inbound_groups-hold_time_option_prompt_seconds$NWE
    Hold Time Option Nach dem Drücken Dateiname: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Hold Time Option Nach dem Drücken Dateiname: Audio-Wahlmenü $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Hold Time Option Liste Rückruf-ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Hold Time Option Liste Rückruf-ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Agent Alert Dateiname: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agent Alert Dateiname: Audio-Wahlmenü $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Mittel-Alarm Verzögert:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Dial-In-Gruppe CID: $NWB#vicidial_inbound_groups-dial_ingroup_cid$NWE
    Hold Recall Transfer In-Group:$NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = stripslashes($row[4]); + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = stripslashes($row[39]); + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + $default_group_alias = $row[55]; + $no_agent_no_queue = $row[56]; + $no_agent_action = $row[57]; + $no_agent_action_value = $row[58]; + $web_form_address_two = stripslashes($row[59]); + $timer_action = $row[60]; + $timer_action_message = $row[61]; + $timer_action_seconds = $row[62]; + $start_call_url = $row[63]; + $dispo_call_url = $row[64]; + $ignore_list_script_override = $row[68]; + $extension_appended_cidname = $row[69]; + $uniqueid_status_display = $row[70]; + $uniqueid_status_prefix = $row[71]; + $hold_time_option_minimum = $row[72]; + $hold_time_option_press_filename = $row[73]; + $hold_time_option_callmenu = $row[74]; + $onhold_prompt_no_block = $row[75]; + $onhold_prompt_seconds = $row[76]; + $hold_time_option_no_block = $row[77]; + $hold_time_option_prompt_seconds = $row[78]; + $hold_time_second_option = $row[79]; + $hold_time_third_option = $row[80]; + $wait_hold_option_priority = $row[81]; + $wait_time_option = $row[82]; + $wait_time_second_option = $row[83]; + $wait_time_third_option = $row[84]; + $wait_time_option_seconds = $row[85]; + $wait_time_option_exten = $row[86]; + $wait_time_option_voicemail = $row[87]; + $wait_time_option_xfer_group = $row[88]; + $wait_time_option_callmenu = $row[89]; + $wait_time_option_callback_filename = $row[90]; + $wait_time_option_callback_list_id = $row[91]; + $wait_time_option_press_filename = $row[92]; + $wait_time_option_no_block = $row[93]; + $wait_time_option_prompt_seconds = $row[94]; + $timer_action_destination = $row[95]; + $calculate_estimated_hold_seconds = $row[96]; + $add_lead_url = $row[97]; + $eht_minimum_prompt_filename = $row[98]; + $eht_minimum_prompt_no_block = $row[99]; + $eht_minimum_prompt_seconds = $row[100]; + $na_call_url = $row[102]; + $group_calldate = $row[104]; + $action_xfer_cid = $row[105]; + $drop_callmenu = $row[106]; + $after_hours_callmenu = $row[107]; + $user_group = $row[108]; + $max_calls_method = $row[109]; + $max_calls_count = $row[110]; + $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; + + ##### get callmenu listings for dynamic pulldown + $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $Xmenus_to_print = mysql_num_rows($rslt); + $o=0; + $Xmenuslist=''; + $Wmenuslist=''; + while ($Xmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xmenuslist .= "\n"; + $Wmenuslist .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $o++; + } + if ($Xmenus_selected < 1) + {$Xmenuslist .= "\n";} + if ($Wmenus_selected < 1) + {$Wmenuslist .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Wgroups_menu=''; + $Wgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Wgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Wgroups_selected < 1) + {$Wgroups_menu .= "\n";} + else + {$Wgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
    MODIFY AN EMAIL GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + if ($SSenable_second_webform > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + +/* Commenting this out because it is handled by the Email Account section and is redundant here + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +*/ + + + echo "\n"; + + echo "\n"; + + # echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts $whereLOGadmin_viewable_groupsSQL order by shift_id;"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    Gruppe Identifikation: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Gruppe Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Gruppe Farbe: $NWB#vicidial_inbound_groups-group_color$NWE
    Aktiv:$NWB#vicidial_inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#vicidial_inbound_groups-group_emaildate$NWE
    \n"; + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + echo "
    Admin Benutzer-Gruppe: $NWB#vicidial_inbound_groups-user_group$NWE
    Netz-Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Netz-Form Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Weiter Agenten E-Mail:$NWB#vicidial_inbound_groups-next_agent_email$NWE
    Queue-Priorität: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Fronter Anzeige: $NWB#vicidial_inbound_groups-fronter_display$NWE
    In-Group Call Griff Methode:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    In-Group-Agent Suche Methode:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    In-Group US-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    In-Group Kampagnen-ID:$NWB#vicidial_inbound_dids-campaign_id$NWE
    Starten Sie E-Mail URL: $NWB#vicidial_inbound_groups-start_email_url$NWE
    Dispo Email URL: $NWB#vicidial_inbound_groups-dispo_email_url$NWE
    Fügen Sie führen zur URL: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    Kein Agent-E-Mail URL: $NWB#vicidial_inbound_groups-na_email_url$NWE
    Erweiterung anhängen CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    UniqueId Statusanzeige: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    UniqueId Status-Prefix: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
     
    Inbound-Fraktion QC Einstellungen:
    QC aktiv: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    QK-Status:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC-Webformular:$NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    QC-Script: $NWB#vicidial_inbound_groups-qc_script$NWE
    QC-Shift: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    QC Get Record Launch: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    QC Show-Aufnahme: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    \n"; + echo "


    \n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
    \n"; + echo "
    MITTELRANKS FOR THIS INBOUND GROUP:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,full_name,closer_campaigns,user_group from vicidial_users where active='Y' $LOGadmin_viewable_groupsSQL order by user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_name[$o] = $rowx[1]; + $ARIG_close[$o] = $rowx[2]; + $ARIG_group[$o] = $rowx[3]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + + $o=0; + $ARIG_changenotes=''; + $stmtDlog=''; + while ($users_to_print > $o) + { + $o++; + $stmt="SELECT group_rank,calls_today,group_grade from vicidial_inbound_group_agents where group_id='$group_id' and user='$ARIG_user[$o]';"; + $rsltx=mysql_query($stmt, $link); + $viga_to_print = mysql_num_rows($rsltx); + if ($viga_to_print > 0) + { + $rowx=mysql_fetch_row($rsltx); + $ARIG_rank[$o] = $rowx[0]; + $ARIG_calls[$o] = $rowx[1]; + $ARIG_grade[$o] = $rowx[2]; + } + else + { + $stmtD="INSERT INTO vicidial_inbound_group_agents set calls_today='0',group_rank='0',group_weight='0',user='$ARIG_user[$o]',group_id='$group_id',group_grade='1';"; + $rslt=mysql_query($stmtD, $link); + if ($DB > 0) {echo "|$stmtD|";} + $stmtDlog .= "$stmtD|"; + $ARIG_changenotes .= "added missing user to viga table $ARIG_user[$o]|"; + $ARIG_rank[$o] = '0'; + $ARIG_calls[$o] = '0'; + $ARIG_grade[$o] = '1'; + } + } + if (strlen($ARIG_changenotes) > 10) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtDlog|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + if ($stage=='SUBMIT') + { + $o=0; + while ($users_to_print > $o) + { + $o++; + + $ARIG_checked=''; + $ARIG_ranked=''; + $ARIG_graded=''; + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + + if (isset($_GET["$checkbox_field"])) {$ARIG_checked=$_GET["$checkbox_field"];} + elseif (isset($_POST["$checkbox_field"])) {$ARIG_checked=$_POST["$checkbox_field"];} + if (isset($_GET["$rank_field"])) {$ARIG_ranked=$_GET["$rank_field"];} + elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} + if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} + elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} + $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); + $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); + $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + + $stmtA=''; + $stmtB=''; + $stmtC=''; + $ARIG_updated=0; + $ARIG_changenotes=''; + if ( ($ARIG_check[$o]=='') and ($ARIG_checked=='YES') ) + { + if (strlen($ARIG_close[$o]) < 4) {$ARIG_close[$o]=' - ';} + $stmtA="UPDATE vicidial_users set closer_campaigns=' $group_id$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtA, $link); + if ($DB > 0) {echo "|$stmtA|";} + $ARIG_updated++; + $ARIG_changenotes .= "added $group_id to selected in-groups|"; + } + if ( ($ARIG_check[$o]==' CHECKED') and ($ARIG_checked=='') ) + { + $ARIG_close[$o] = preg_replace("/ $group_id /",' ',$ARIG_close[$o]); + $stmtB="UPDATE vicidial_users set closer_campaigns='$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtB, $link); + if ($DB > 0) {echo "|$stmtB|";} + $ARIG_updated++; + $ARIG_changenotes .= "removed $group_id from selected in-groups|"; + } + if ( ($ARIG_ranked < $ARIG_rank[$o]) or ($ARIG_ranked > $ARIG_rank[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_rank='$ARIG_ranked',group_weight='$ARIG_ranked' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed rank from $ARIG_rank[$o] to $ARIG_ranked|"; + } + if ( ($ARIG_graded < $ARIG_grade[$o]) or ($ARIG_graded > $ARIG_grade[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_grade='$ARIG_graded' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed grade from $ARIG_grade[$o] to $ARIG_graded|"; + } + if ($ARIG_updated > 0) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='BENUTZER', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + + $stmt="SELECT vu.user,viga.group_rank,calls_today,full_name,closer_campaigns,viga.group_grade from vicidial_inbound_group_agents viga, vicidial_users vu where group_id='$group_id' and active='Y' and vu.user=viga.user $LOGadmin_viewable_groupsSQL order by vu.user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_rank[$o] = $rowx[1]; + $ARIG_calls[$o] = $rowx[2]; + $ARIG_name[$o] = $rowx[3]; + $ARIG_close[$o] = $rowx[4]; + $ARIG_grade[$o] = $rowx[5]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + } + + $checkbox_count=0; + $o=0; + while ($users_to_print > $o) + { + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + $checkbox_list .= "|$checkbox_field"; + $checkbox_count++; + + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + + echo "$users_output"; + + echo "\n"; + + echo "
    USERGROUPSELECTED     RANK     GRADE     CALLS TODAY
    $ARIG_user[$o] - $ARIG_name[$o]$ARIG_group[$o]     select all  

    \n"; + + echo "
    Klicken Sie hier, um zu sehen, einen Bericht für diese Gruppe ein -

    \n"; + + echo "Klicken Sie hier, um die angemeldeten Agenten in dieser Gruppe sehen Inbound

    \n"; + + echo "
    \n"; + + echo "E-Mail Konten mit dieser in-GROUP:
    \n"; + echo "\n"; + + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $emails_to_print = mysql_num_rows($rslt); + $o=0; + while ($emails_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]

    \n"; + echo "KAMPAGNEN, diese Erlaubnis in-group:
    \n"; + echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where closer_campaigns LIKE \"% $group_id %\" $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $campin_to_print = mysql_num_rows($rslt); + $o=0; + while ($campin_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + + if ($LOGdelete_ingroups > 0) + { + # echo "

    EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

    \n"; + echo "

    LÖSCHEN SIE DIESES IN-GROUP\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Klicken Sie hier um Admin Änderungen an diesem In-Group sehen
    \n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + + } + + + ###################### # ADD=3311 modify did info in the system ###################### @@ -26053,8 +28396,10 @@ if ($ADD==3311) echo "
    MODIFY eine DID RECORD:$row[0]
    \n"; echo "\n"; echo "\n"; + echo "\n"; echo "
    \n"; - echo "\n"; + # echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "
    DID-Erweiterung:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID-Erweiterung:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID-Erweiterung:$did_pattern $NWB#vicidial_inbound_dids-did_pattern$NWE
    DID-Beschreibung:$NWB#vicidial_inbound_dids-did_description$NWE
    Aktiv:$NWB#vicidial_inbound_dids-did_active$NWE
    Admin Benutzer-Gruppe:
    Anruf aufzeichnen: $NWB#vicidial_inbound_dids-record_call$NWE
    Erweiterung:$NWB#vicidial_inbound_dids-extension$NWE
    Erweiterung Kontext:$NWB#vicidial_inbound_dids-exten_context$NWE
    Voicemail-Box: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Voicemail-Box: Voicemail-Wahlmenü$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Tel. Durchwahl:$NWB#vicidial_inbound_dids-phone$NWE
    Bediener IP:
    User-Einstellungen In Route-Gruppe:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    In-Gruppe Identifikation:
    In-Gruppen-ID: $NWB#vicidial_inbound_dids-group_id$NWE
    In-Group Call Griff Methode:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    In-Group-Agent Suche Methode:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    In-Group US-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    In-Group US-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    In-Group Kampagnen-ID:
    Filter Erweiterung:$NWB#vicidial_inbound_dids-extension$NWE
    Filter Erweiterung Kontext:$NWB#vicidial_inbound_dids-exten_context$NWE
    Filter Voicemail-Box: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Voicemail-Box: Voicemail-Wahlmenü$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Tel. Durchwahl:$NWB#vicidial_inbound_dids-phone$NWE
    Filter Bediener IP:
    Filter User-Einstellungen In Route-Gruppe:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    Filter In-Gruppe Identifikation:
    Filter In-Gruppen-ID: $NWB#vicidial_inbound_dids-group_id$NWE
    Filter In-Group Call Griff Methode:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Filter In-Group-Agent Suche Methode:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Filter In-Group US-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter In-Group US-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter In-Group Kampagnen-ID:\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-call_time_id$NWE "; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "   Feiertage defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!\n";} + echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-dtmf_field$NWE\n"; echo "\n"; echo "\n"; @@ -26603,7 +28980,7 @@ if ($ADD==3511) $j=0; while ($menus_to_print > $j) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $option_value = $Aoption_value[$j]; $option_description = $Aoption_description[$j]; $option_route = $Aoption_route[$j]; @@ -26677,13 +29054,13 @@ if ($ADD==3511) echo "$IGhandle_method_list $NWB#vicidial_call_menu-ingroup_settings$NWE\n"; echo "
    Suchmethode: \n"; - echo "   Liste Identifikation: "; + echo "   Liste Identifikation: "; echo "
    Kampagne Identifikation: \n"; echo "   Phone Code: "; - echo "
      VID Geben Sie Dateiname: audio chooser"; - echo "
      VID-ID-Nummer Dateiname: audio chooser"; - echo "
      VID bestätigen Dateiname: audio chooser"; + echo "
      VID Geben Sie Dateiname: Audio-Wahlmenü"; + echo "
      VID-ID-Nummer Dateiname: Audio-Wahlmenü"; + echo "
      VID bestätigen Dateiname: Audio-Wahlmenü"; echo "   VID Digits: "; } if ($option_route=='DID') @@ -26700,7 +29077,7 @@ if ($ADD==3511) } if ($option_route=='HANGUP') { - echo "Audio-Datei: audio chooser\n"; + echo "Audio-Datei: Audio-Wahlmenü\n"; } if ($option_route=='EXTENSION') { @@ -26712,7 +29089,7 @@ if ($ADD==3511) } if ($option_route=='VOICEMAIL') { - echo "Voicemail-Box:voicemail chooser\n"; + echo "Voicemail-Box:Voicemail-Wahlmenü\n"; } if ($option_route=='AGI') { @@ -26726,7 +29103,7 @@ if ($ADD==3511) while ($j <= 20) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $dtmf_list = "\n"; } + if ($SScall_menu_qualify_enabled > 0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $menu_name = $row[0]; @@ -26521,6 +28873,7 @@ if ($ADD==3511) $dtmf_log = $row[11]; $dtmf_field = $row[12]; $user_group = $row[13]; + $qualify_sql = $row[14]; echo "
    Ändern einer CALL MENU RECORD: $menu_id\n"; @@ -26533,10 +28886,10 @@ if ($ADD==3511) echo "$UUgroups_list"; echo "\n"; echo "$NWB#vicidial_call_menu-user_group$NWE
    Prompt Menu: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Prompt Menu: Audio-Wahlmenü $NWB#vicidial_call_menu-menu_prompt$NWE
    Menü-Timeout: $NWB#vicidial_call_menu-menu_timeout$NWE
    Menü-Timeout Prompt: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Prompt Menu Ungültige: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menü-Timeout Prompt: Audio-Wahlmenü $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Prompt Menu Ungültige: Audio-Wahlmenü $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menü wiederholen: $NWB#vicidial_call_menu-menu_repeat$NWE
    Menü Time Check:
    Anruf-Zeit:$NWB#vicidial_call_menu-call_time_id$NWE
    Track fordert in Real-Time-Report: $NWB#vicidial_call_menu-dtmf_log$NWE     Protokollfeld: \n"; - echo "$NWB#vicidial_call_menu-dtmf_field$NWE
    Call-Optionen-Menü:
    Benutzerdefinierte Dialplan Eintrag: Disabled $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Qualifizieren SQL:
    $NWB#vicidial_call_menu-qualify_sql$NWE
    \n"; echo "

    \n"; @@ -26904,7 +29288,7 @@ if ($ADD==31111) echo "
    On-Hakenring Zeit: $NWB#vicidial_remote_agents-on_hook_ring_time$NWE
    \n"; - horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1); + horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1,'',''); echo "
    Inbound Gruppen: \n"; @@ -27474,7 +29858,7 @@ if ($ADD==3111111) echo "
    Index-Text:

    Vorbetrachtung-Index
    "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -27714,6 +30099,7 @@ if ($ADD==321111111) $modify_url = "$PHP_SELF?ADD=311111111&call_time_id=$call_time_id"; $modify_footer_erfrischen=1; } + ### add-remove state rule if ( ($stage=="ADD") and (strlen($state_rule)>0) ) { $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; @@ -27727,6 +30113,15 @@ if ($ADD==321111111) {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD STATE RULE', event_sql=\"$SQL_log\", event_notes='Landesrichtlinie hinzugefügt: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Landesrichtlinie hinzugefügt: $state_rule
    \n"; } if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) @@ -27739,8 +30134,63 @@ if ($ADD==321111111) $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE STATE RULE', event_sql=\"$SQL_log\", event_notes='Landesrichlinie gelöscht: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Landesrichlinie gelöscht: $state_rule
    \n"; } + ### add-remove holiday rule + if ( ($stage=="ADD") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + if (eregi("\|$",$ct_holidays)) + {$ct_holidays = "$ct_holidays$holiday_rule\|";} + else + {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Ferien Regel am: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Ferien Regel am: $holiday_rule
    \n"; + } + if ( ($stage=="REMOVE") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Ferien Regel entfernt: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Ferien Regel entfernt: $holiday_rule
    \n"; + } $ADD=311111111; } @@ -27767,7 +30217,7 @@ if ($ADD==311111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; $ct_srs=1; @@ -27875,6 +30326,60 @@ if ($ADD==311111111) echo "\n"; echo "\n"; + + $ct_hrs=1; + $b=0; + $hrs_SQL =''; + if (strlen($ct_holidays)>2) + { + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 1); + } + echo "\n"; + echo "\n"; + while($ct_hrs >= $b) + { + if (strlen($holiday_rules[$b])>0) + { + $stmt="SELECT holiday_date,holiday_name from vicidial_call_time_holidays where holiday_id='$holiday_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $hrs_SQL .= "'$holiday_rules[$b]',"; + $hrs_holiday_SQL .= "'$row[0]',"; + } + $b++; + } + if (strlen($hrs_SQL)>2) + { + $hrs_SQL = "$hrs_SQL''"; + $hrs_holiday_SQL = "$hrs_holiday_SQL''"; + $hrs_SQL = "where holiday_id NOT IN($hrs_SQL) and holiday_date NOT IN($hrs_holiday_SQL) $LOGadmin_viewable_groupsSQL"; + } + else + {$hrs_SQL="$whereLOGadmin_viewable_groupsSQL";} + $stmt="SELECT holiday_id,holiday_date from vicidial_call_time_holidays $hrs_SQL order by holiday_date;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_list .= "\n"; + $o++; + } + echo "\n"; + echo "\n"; + + echo "
    \n"; echo ""; - $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group,ct_holidays from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $call_time_name = $row[1]; @@ -27798,6 +30248,7 @@ if ($ADD==311111111) $friday_afterhours_filename_override = $row[26]; $saturday_afterhours_filename_override = $row[27]; $user_group = $row[28]; + $ct_holidays = $row[29]; echo ""; @@ -27809,18 +30260,18 @@ if ($ADD==311111111) echo "
    Anrufzeit ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Anrufzeit Name: (Kurze Beschreibung der Anrufzeit)$NWB#vicidial_call_times-call_time_name$NWE
    Anrufzeit Kommentare: $NWB#vicidial_call_times-call_time_comments$NWE
    Admin Benutzer-Gruppe:
    Admin Benutzer-Gruppe: $NWB#vicidial_call_times-user_group$NWE
    Standard Start Standard Stop $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Sonntag Start Sonntag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Montag Start Montag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Dienstag Start Dienstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Mittwoch Start Mittwoch Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Donnerstag Start Donnerstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Freitag Start Freitag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Sonnabend Start Sonnabend Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Standard Start Standard Stop $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Sonntag Start Sonntag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Montag Start Montag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Dienstag Start Dienstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Mittwoch Start Mittwoch Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Donnerstag Start Donnerstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Freitag Start Freitag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Sonnabend Start Sonnabend Stop $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Aktive Ferien Inbound Definitionen für diese Bilanz:  
    $holiday_rules[$b] - REMOVE $row[0] - $row[1]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "In eingehenden Urlaub Regel:


    \n"; echo "Kampagnen, die diese Anrufzeit nutzen:
    \n"; echo "\n"; @@ -27976,7 +30481,7 @@ if ($ADD==3111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; @@ -28012,6 +30517,105 @@ if ($ADD==3111111111) { echo "

    Diese landesspezifische Anrufzeitdefinition löschen\n"; } + if ($LOGuser_level >= 9) + { + echo "

    Klicken Sie hier, um die Änderungen zu sehen Admin to this call time\n"; + } + } + else + { + echo "Sie haben nicht die Rechte, um diese Seite anzusehen. Bitte zurück gehen."; + } + } + + +###################### +# ADD=3211111111 modify holiday definition info in the system +###################### + +if ($ADD==3211111111) + { + if ($LOGmodify_call_times==1) + { + if ( ($SSadmin_modify_erfrischen > 1) and ($modify_erfrischen_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3211111111&holiday_id=$holiday_id"; + $modify_footer_erfrischen=1; + } + echo "
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    Landesspezifischer Anrufzeiten Name: (Kurze Beschreibung der Anrufzeit)$NWB#vicidial_call_times-call_time_name$NWE
    Landesspezifischer Anrufzeiten Kommentar: $NWB#vicidial_call_times-call_time_comments$NWE
    Admin Benutzer-Gruppe:
    Admin Benutzer-Gruppe: $NWB#vicidial_call_times-user_group$NWE
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_comments,holiday_status,ct_default_start,ct_default_stop,user_group,default_afterhours_filename_override from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $holiday_date = $row[1]; + $holiday_name = $row[2]; + $holiday_comments = $row[3]; + $holiday_status = $row[4]; + $ct_default_start = $row[5]; + $ct_default_stop = $row[6]; + $user_group = $row[7]; + $default_afterhours_filename_override = $row[8]; + + echo ""; + + echo "
    Ändern einer HOLIDAY
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Ferien ID: $holiday_id$NWB#vicidial_call_times-holiday_id$NWE
    Feiertags-Name: (kurze Beschreibung des Ferienhauses)$NWB#vicidial_call_times-holiday_name$NWE
    Ferien Kommentare: $NWB#vicidial_call_times-holiday_comments$NWE
    Admin Benutzer-Gruppe: $NWB#vicidial_call_times-user_group$NWE
    Standard Start Standard Stop $NWB#vicidial_call_times-ct_default_start$NWE
    AH Override: Audio-Wahlmenü $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Feiertag Datum: \n"; + echo " $NWB#vicidial_call_times-holiday_date$NWE
    Ferien-Status:$NWB#vicidial_call_times-holiday_status$NWE


    \n"; + echo "CALL-mal mit dieser Feiertag:
    \n"; + echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" $whereLOGadmin_viewable_call_timesSQL;"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + echo "


    \n"; + + if ($LOGdelete_call_times > 0) + { + echo "

    DELETE THIS HOLIDAY DEFINITION\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Klicken Sie hier, um Admin Änderungen an diesem Urlaub zu sehen
    \n"; + } } else { @@ -28171,7 +30775,7 @@ if ($ADD==31111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -28229,6 +30833,12 @@ if ($ADD==31111111111) } echo " $NWB#phones-voicemail_timezone$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "\n"; echo "\n"; echo "\n"; @@ -29140,7 +31750,7 @@ if ($ADD==361111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -28201,7 +30805,7 @@ if ($ADD==31111111111) echo "
    Agent-Bildschirm Anmelden: $NWB#phones-login$NWE
    Login Passwort: $NWB#phones-pass$NWE
    Anmeldung Passwort: $NWB#phones-conf_secret$NWE     Stärke:
    Set As Webphone: $NWB#phones-is_webphone$NWE
    Set As Webphone: $NWB#phones-is_webphone$NWE
    Webphone Dialpad: $NWB#phones-webphone_dialpad$NWE
    Webphone Auto-Antwort: $NWB#phones-webphone_auto_answer$NWE
    Mit externen Bediener IP: $NWB#phones-use_external_server_ip$NWE
    Voicemail-Optionen: $NWB#phones-voicemail_options$NWE
    Voicemail-Gruß: Audio-Wahlmenü $NWB#phones-voicemail_greeting$NWE
    Firma:$NWB#phones-company$NWE
    Abbildung:$NWB#phones-picture$NWE
    Neue Anzeigen: $row[14]$NWB#phones-messages$NWE
    Fügen Sie eine Audio-Datei: audio chooser $NWB#vicidial_music_on_hold-filename$NWE
    Fügen Sie eine Audio-Datei: Audio-Wahlmenü $NWB#vicidial_music_on_hold-filename$NWE
    \n"; @@ -29179,7 +31789,7 @@ if ($ADD==371111111111) echo "
    \n"; echo ""; - $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $voicemail_id = $row[0]; @@ -29193,9 +31803,11 @@ if ($ADD==371111111111) $voicemail_timezone = $row[8]; $voicemail_options = $row[9]; $user_group = $row[10]; + $voicemail_greeting = $row[11]; echo "
    Ändern einer Voicemail-Box: $tts_id\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; @@ -29209,6 +31821,13 @@ if ($ADD==371111111111) echo "\n"; echo "$NWB#vicidial_voicemail-user_group$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "
    Löschen Voicemail Nach E-Mail: $NWB#vicidial_voicemail-delete_vm_after_email$NWE
    Voicemail-Gruß: Audio-Wahlmenü $NWB#vicidial_voicemail-voicemail_greeting$NWE
    Voicemail-Zone: \n"; echo "\n"; echo "
    \n"; echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -29838,7 +32467,12 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; - echo "\n"; + + $admin_web_dir=''; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} + + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; echo "\n"; @@ -29938,7 +32584,7 @@ if ($ADD==311111111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; } @@ -30063,6 +32709,8 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo ""; -$MAIN.=""; +$MAIN.=""; +$MAIN.=""; + +$MAIN.=""; $MAIN.="
    Version: $version
    SVN Version: $svn_revision
    DB Schema Version: $db_schema_version
    DB Schema Update Date: $db_schema_update_date
    Auto User-add Value: $auto_user_add_value
    Central Sound Control Aktiv:$NWB#settings-sounds_central_control_active$NWE
    Sounds Web Server: $NWB#settings-sounds_web_server$NWE
    Sounds Web-Verzeichnis: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Sounds Web-Verzeichnis: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Admin Web Directory: $NWB#settings-admin_web_directory$NWE
    Aktive Voicemail-Server: $NWB#settings-active_voicemail_server$NWE
    Erlauben Voicemail Gruß Chooser: $NWB#settings-allow_voicemail_greeting$NWE
    Auto Dial Limit:
    Aktivieren Sie Erweiterte Liste Stats: $NWB#settings-expanded_list_stats$NWE
    Verbesserte Disconnect Logging: $NWB#settings-enhanced_disconnect_logging$NWE
    Aktivieren Kampagne Vorwahl CID: $NWB#settings-campaign_cid_areacodes_enabled$NWE
    Aktivieren Sie Remote Agent Erweiterung Overrides: $NWB#settings-did_ra_extensions_enabled$NWE
    Enable Contacts: $NWB#settings-contacts_enabled$NWE
    Aufruf Menü Qualifizieren Aktiviert: $NWB#settings-call_menu_qualify_enabled$NWE
    Level 8 Deaktivieren hinzufügen: $NWB#settings-level_8_disable_add$NWE
    Admin Liste Grafen: $NWB#settings-admin_list_counts$NWE
    Erlauben Sie E-Mails: $NWB#settings-allow_emails$NWE
    Erster Login-Trigger: $first_login_trigger   $NWB#settings-first_login_trigger$NWE
    Standard-Telefon-Anmeldung Passwort: $NWB#settings-default_phone_registration_password$NWE     Stärke:
    Slave Database Server: $NWB#settings-slave_db_server$NWE
    Berichte auf Slave DB verwenden:
    Berichte auf Slave DB verwenden:
    Benutzerdefinierte Dialplan Eintrag: $NWB#settings-custom_dialplan_entry$NWE
    Benutzerdefinierte Dialplan Eintrag: $NWB#settings-custom_dialplan_entry$NWE
    Auf Servern neu laden Dialplan: $NWB#settings-reload_dialplan_on_servers$NWE
    QueueMetrics AddMember Aktiviert: $NWB#settings-queuemetrics_addmember_enabled$NWE
    QueueMetrics Dispo Pausecode: $NWB#settings-queuemetrics_dispo_pause$NWE
    QueueMetrics Telefon Umwelt Telefon anhängen: $NWB#settings-queuemetrics_pe_phone_append$NWE
    QueueMetrics Sockel senden: $NWB#settings-queuemetrics_socket$NWE
    QueueMetrics Sockel senden URL: $NWB#settings-queuemetrics_socket_url$NWE
    Aktivieren vtiger Integration: $NWB#settings-enable_vtiger_integration$NWE\n"; echo "   Klicken Sie hier, um synchronisieren Sie Benutzer mit vtiger\n"; @@ -30339,89 +32987,12 @@ if ($ADD==331111111111111) +##QC +require_once('qc/QC_status_codes_include.php'); ###################### # ADD=341111111111111 modify vicidial QC status code ###################### - -if ($ADD==341111111111111) - { - if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) - { - if ( ($SSadmin_modify_erfrischen > 1) and ($modify_erfrischen_set < 1) ) - { - $modify_url = "$PHP_SELF?ADD=341111111111111"; - $modify_footer_erfrischen=1; - } - echo ""; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo ""; echo ""; echo "\n"; @@ -30876,7 +33449,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30884,7 +33460,7 @@ if ($ADD==100) $o++; } - $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; + $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); $o=0; @@ -30900,7 +33476,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30958,6 +33537,61 @@ if ($ADD==1000) echo "
    \n"; - echo ""; - - echo "
    \n"; - echo "VICIDIAL QC-Status-Codes mit Hilfe dieses Systems:  $NWB#vicidial_qc_status_codes$NWE
    \n"; - echo "\n"; - echo "\n"; - - ##### go through each QC status code - $stmt="SELECT count(*) from vicidial_qc_codes;"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - if ($rowx[0] > 0) - { - $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; - $rslt=mysql_query($stmt, $link); - $statuses_to_print = mysql_num_rows($rslt); - $o=0; - while ($statuses_to_print > $o) - { - $rowx=mysql_fetch_row($rslt); - $o++; - - if (eregi("1$|3$|5$|7$|9$", $o)) - {$bgcolor='bgcolor="#B9CBFD"';} - else - {$bgcolor='bgcolor="#9BB9FB"';} - - echo "\n"; - echo "\n"; - echo "\n"; - } - } - echo "
    STATUS CODEBESCHREIBUNGMODIFY/DELETE
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "$rowx[0]         \n"; - echo "   \n"; - - if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) - { - echo "LÖSCHUNG\n"; - } - else - { - echo "LÖSCHUNG\n"; - } - echo "
    \n"; - - echo "
    Neue QC-Statuscode
    \n"; - echo "\n"; - echo "Status:   \n"; - echo "Beschreibung:
    \n"; - echo "
    \n"; - - echo "

    \n"; - - } - else - { - echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; - exit; - } - } - - - - - +//This section moved to include file as part of QC ###################### # ADD=550 user search form @@ -30844,7 +33415,9 @@ if ($ADD==100) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists $whereLOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -30855,7 +33428,7 @@ if ($ADD==100) echo "
    LISTE NAMEBESCHREIBUNGRTIMELEADS COUNTFÜHRT COUNTAKTIVLAST CALL DATUMCAMPAIGN $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]ÄNDERN Sie
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]ÄNDERN Sie
    \n"; } +###################### +# ADD=1800 display all email groups +###################### +if ( ($ADD==1800) and ($SSallow_emails>0) ) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,queue_priority,active,call_time_id,group_color,user_group from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $ingroups_to_print = mysql_num_rows($rslt); + + echo "
    EMAIL GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($ingroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and group_id='$row[0]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IN-GROUPNAMEPRIORITYAKTIVUNREAD EMAILADMIN-GruppeTIMECOLORÄNDERN Sie
    $row[0] $row[1] $row[2] $row[3] $unhandled_emails $row[6] $row[4]  ÄNDERN Sie
    \n"; + } ###################### # ADD=1300 display all inbound dids @@ -31346,7 +33980,7 @@ if ($ADD==10000000) echo "
    \n"; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo "\n"; @@ -31458,6 +34092,52 @@ if ($ADD==1000000000) echo "
    FILTER IDFILTER NAMEFilter NameADMIN-GruppeÄNDERN Sie
    \n"; } +###################### +# ADD=1200000000 display all holidays +###################### +if ($ADD==1200000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_status,ct_default_start,ct_default_stop,user_group from vicidial_call_time_holidays $whereLOGadmin_viewable_groupsSQL order by holiday_date,holiday_id;"; + $rslt=mysql_query($stmt, $link); + $holidays_to_print = mysql_num_rows($rslt); + + echo "
    HOLIDAY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($holidays_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    HOLIDAY IDDATENAMESTATUSSTARTSTOPADMIN-GruppeÄNDERN Sie
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] ÄNDERN Sie
    \n"; + } + ###################### # ADD=130000000 display all shifts ###################### @@ -32103,7 +34783,10 @@ if ($ADD==10000000000000) } - +###################### +# ADD=100000000000000 display all qc campaigns +###################### +require_once('qc/QC_admin_include01.php'); ###################### @@ -32115,22 +34798,22 @@ if ($ADD==700000000000000) echo ""; $DURATION_graph.=" "; $HANDLETIME_graph.=" "; - } + } $CALLS_graph.="
    \n"; echo ""; - if ($stage > 9999) + if ($stage > 4999) { - $next_limit = ($stage + 10000); - $limitSQL = "10000 offset $stage"; + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; } else { - $next_limit = "10000"; - $limitSQL = "10000"; + $next_limit = "5000"; + $limitSQL = "5000"; } $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log $whereLOGadmin_viewable_groupsSQL order by event_date desc limit $limitSQL;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); - echo "
    Änderung der Registrierung ADMIN: (Letzte 10.000 Datensätze)\n"; + echo "
    Änderung der Registrierung ADMIN: (Last 5000 records)\n"; echo "
    \n"; echo ""; echo ""; @@ -32212,7 +34895,7 @@ if ($ADD==710000000000000) $user_name = $row[0]; } - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32298,7 +34981,7 @@ if ($ADD==720000000000000) if (preg_match("/DIDS/",$category)) {$sectionSQL = "event_section IN('DIDS','DID_RA-EXTEN')";} - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32334,6 +35017,8 @@ if ($ADD==720000000000000) if (eregi('REMOTEAGENT',$row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} if (eregi('PHONE',$row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} if (eregi('CALLTIME',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} + if (eregi('CALLTIMES_STATE',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} + if (eregi('HOLIDAY',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} if (eregi('SHIFT',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} if (eregi('CARRIER',$row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} @@ -32343,6 +35028,7 @@ if ($ADD==720000000000000) if (eregi('CATEGOR',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} if (eregi('GROUPALIAS',$row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} if (eregi('LEADS',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} + if (eregi('EMAIL',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} if (eregi("1$|3$|5$|7$|9$", $o)) {$bgcolor='bgcolor="#B9CBFD"';} @@ -32444,6 +35130,214 @@ if ($ADD==730000000000000) } +###################### +# ADD=800000000000000 view all activity in the admin report log +###################### + +if ($ADD==800000000000000) + { + echo "
    ID
    \n"; + echo ""; + + if ($stage > 4999) + { + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; + } + else + { + $next_limit = "5000"; + $limitSQL = "5000"; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log order by event_date desc limit $limitSQL;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + + echo "
    Admin zu melden LOG: (Last 5000 records)\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "NEXT\n"; + echo "
    \n"; + } + + +###################### +# ADD=810000000000000 view all activity in the report log made by one user +###################### + +if ($ADD==810000000000000) + { + echo "\n"; echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT full_name from vicidial_users where user='$stage' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $names_to_print = mysql_num_rows($rslt); + if ($names_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $user_name = $row[0]; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log where user='$stage' order by event_date desc limit 5000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    Admin zu melden LOG: Änderungen $stage - $user_name\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=830000000000000 detail view of one report log entry +###################### + +if ($ADD==830000000000000) + { + if ($LOGuser_level >= 9) + { + echo ""; - echo "\n"; + echo "\n"; } else { @@ -32644,6 +35546,7 @@ if ($ADD==999999) } $o=0; + $web_u_time = date('U'); while ($servers_to_print > $o) { $cpu = (100 - $cpu_idle_percent[$o]); @@ -32662,7 +35565,23 @@ if ($ADD==999999) $k++; } $disk = "$disk%"; - echo "\n"; + $s_time=' '; + $s_ver=' '; + $u_time=$web_u_time; + $stmt="SELECT last_update,UNIX_TIMESTAMP(last_update) from server_updater where server_ip='$server_ip[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servertime_to_print = mysql_num_rows($rslt); + if ($servertime_to_print) + { + $row=mysql_fetch_row($rslt); + $s_time = $row[0]; + $u_time = ($row[1] + 10); + } + $server_bgcolor=''; + if ($web_u_time > $u_time) + {$server_bgcolor=' bgcolor=red';} + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32672,15 +35591,16 @@ if ($ADD==999999) echo "\n"; if ($stage == 'TIME') { - $stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';"; + $stmt="SELECT svn_revision from servers where server_ip='$server_ip[$o]';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $servertime_to_print = mysql_num_rows($rslt); - if ($servertime_to_print) + $serverver_to_print = mysql_num_rows($rslt); + if ($serverver_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + $s_ver = $row[0]; } + echo ""; } else { @@ -32701,7 +35621,7 @@ if ($ADD==999999) if ($stage == 'TIME') { - echo ""; + echo ""; $stmt="SELECT NOW();"; $rslt=mysql_query($stmt, $link); @@ -32710,7 +35630,7 @@ if ($ADD==999999) if ($dbtime_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + echo ""; } } echo "
    \n"; + echo ""; + + $stmt="SELECT report_log_id,event_date,vrl.user,ip_address,report_name,browser,referer,notes,url,full_name,val.user_group,run_time from vicidial_report_log vrl, vicidial_users val where report_log_id='$stage' and val.user=vrl.user $valLOGadmin_viewable_groupsSQL;"; + if ($DB > 0) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + if ($logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + + $run_color='color=blue'; + if ($row[11] > 5) {$run_color='color=black';} + if ($row[11] > 10) {$run_color='color=purple';} + if ($row[11] > 30) {$run_color='color=red';} + + echo "
    Admin zu melden LOG: Record Detail - $stage

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "
    ID: $row[0]
    DATE TIME: $row[1]
    RUN TIME: $row[11] seconds
    USER: $row[2] - $row[9]
    IP: $row[3]
    REPORT: $row[4]
    BROWSER: $row[5]
    NOTES: $row[7]
    REFERER:

    $row[6]

    URL:

    $row[8]



    \n"; + echo "\n"; + echo "
    \n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } + + ###################### # ADD=999999 display reports section ###################### @@ -32551,7 +35445,13 @@ if ($ADD==999999) # echo "
  • MITTELSPREADSHEETLEISTUNG\n"; if ( ( (preg_match("/Dialer Inventory Report/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) and ($inventory_report_count > 0) ) {echo "
  • Dialer Inventory Report\n";} - + if ($SSemail_enabled > 0) + { + if ( ( (preg_match("/Inbound Report/",$LOGallowed_reports)) and (preg_match("/Inbound Email Report/",$LOGallowed_reports)) ) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) + {echo "
  • Inbound Email Report\n";} + if ( (preg_match("/Email Log Report/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) + {echo "
  • \n";} + } if ($LOGexport_reports >= 1) { if ( (preg_match("/Export fordert Bericht/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) @@ -32575,6 +35475,8 @@ if ($ADD==999999) {echo "
  • Team Performance Detail\n";} if ( (preg_match("/Single Agent Daily/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) {echo "
  • Single Agent Daily\n";} + if ( (preg_match("/Benutzer-Gruppe Login Report/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) + {echo "
  • Benutzer-Gruppe Login Report\n";} if ( (preg_match("/User-Statistiken/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) {echo "
  • User-Statistiken\n";} if ( (preg_match("/User Time Sheet/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) @@ -32635,7 +35537,7 @@ if ($ADD==999999) if ($stage == 'TIME') { echo "
  • BEDIENER-BESCHREIBUNGIPACTLOADCHANDISKTIME
    BESCHREIBUNGIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$disk$row[0]$s_time$s_ver
      PHP Time   " . date("Y-m-d H:i:s") . "
      PHP Time   " . date("Y-m-d H:i:s") . "  
      DB Time   $row[0]
      DB Time   $row[0]  
    \n"; @@ -32759,6 +35679,10 @@ if ($ADD==999998) echo "
  • Systemstatus\n"; echo "
  • Voicemail \n"; + if ($SSemail_enabled > 0) + { + echo "
  • E-Mail-Konten \n"; + } if ( ($sounds_central_control_active > 0) or ($SSsounds_central_control_active > 0) ) { echo "
  • Audio-Store \n"; @@ -32774,7 +35698,7 @@ if ($ADD==999998) } if ($SScontacts_enabled > 0) { - echo "
  • Contacts \n"; + echo "
  •  Kontakte \n"; } echo "\n"; @@ -32980,7 +35904,7 @@ if ($ADD==999995) echo "
    Willkommen bei jeder leisten: Urheber-, Marken-und Lizenz-Seite

    \n"; echo "
    \n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -33014,9 +35938,13 @@ if ($ADD==999994) echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } } @@ -33128,11 +36056,47 @@ if ($ADD==999993) ###################### if ($ADD==999992) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + echo "
    Copyright:   Das sich jeder leisten Call Center-Suite wird von beibehalten ViciDial Group, © 2012
    Copyright:   Das sich jeder leisten Call Center-Suite wird von beibehalten ViciDial Group, © 2013
    Trademark:   \"VICIDIAL\" ist ein eingetragenes Warenzeichen der ViciDial Group. Hier ist unsere Marke Use Policy
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0,'',''); echo "
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; } } $k++; @@ -700,7 +748,7 @@ if ($function == 'sounds_list') ################################################################################ if ($function == 'moh_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -866,7 +914,7 @@ if ($function == 'moh_list') ################################################################################ if ($function == 'vm_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1018,7 +1066,7 @@ if ($function == 'agent_ingroup_info') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1114,12 +1162,12 @@ if ($function == 'agent_ingroup_info') $row=mysql_fetch_row($rslt); $allowed_campaign_autodial=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_change_ingroups=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_modify_user=$row[0]; @@ -1344,7 +1392,7 @@ if ($function == 'blind_monitor') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1441,6 +1489,21 @@ if ($function == 'blind_monitor') { $man_id = mysql_insert_id($link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$BMquery',lead_id='0',server_ip='$monitor_server_ip',call_date='$NOW_TIME',extension='$dialplan_number',channel='Local/$monitor_dialstring$stage$session_id@default',timeout='0',outbound_cid='\"VC Blind Monitor\" <$outbound_cid>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ##### BEGIN log visit to the vicidial_report_log table ##### + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$user', ip_address='1.1.1.1', report_name='API Blind Monitor', browser='API', referer='realtime_report.php', notes='$user, $monitor_server_ip, $dialplan_number, $session_id, $phone_login', url='REALTIME BLIND MONITOR',run_time='$TOTALrun';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + ##### END log visit to the vicidial_report_log table ##### + $result = 'SUCCESS'; $result_reason = "blind_monitor HAS BEEN LAUNCHED"; echo "$result: $result_reason - $phone_login|$monitor_dialstring$stage$session_id|$dialplan_number|$session_id|$man_id|$user\n"; @@ -1500,7 +1563,7 @@ if ($function == 'add_user') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1660,6 +1723,97 @@ if ($function == 'add_user') +################################################################################ +### add_group_alias - adds group alias to the system +################################################################################ +if ($function == 'add_group_alias') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "add_group_alias USER DOES NOT HAVE PERMISSION TO ADD GROUP ALIASES"; + $data = "$allowed_user"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($caller_id_number)<6) + { + $result = 'ERROR'; + $result_reason = "add_group_alias YOU MUST USE ALL REQUIRED FIELDS"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($group_alias_id)<2) {$group_alias_id = $caller_id_number;} + if (strlen($group_alias_name)<2) {$group_alias_name = $caller_id_number;} + if (strlen($active)<1) {$active = 'Y';} + if (strlen($admin_user_group)<1) {$admin_user_group = '---ALL---';} + $group_alias_name = preg_replace("/\+/",' ',$group_alias_name); + $caller_id_name = preg_replace("/\+/",' ',$caller_id_name); + + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $alias_exists=$row[0]; + if ($alias_exists > 0) + { + $result = 'ERROR'; + $result_reason = "add_group_alias GROUP ALIAS ALREADY EXISTS"; + $data = "$group_alias_id|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$admin_user_group');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN API ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $result = 'SUCCESS'; + $result_reason = "add_group_alias GROUP ALIAS HAS BEEN ADDED"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + } + exit; + } +################################################################################ +### END add_group_alias +################################################################################ + + ################################################################################ ### add_phone - adds phone to the phones table @@ -1677,7 +1831,7 @@ if ($function == 'add_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1815,7 +1969,7 @@ if ($function == 'update_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1896,7 +2050,7 @@ if ($function == 'update_phone') { if ($delete_phone == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2210,8 +2364,6 @@ if ($function == 'update_phone') - - ################################################################################ ### add_phone_alias - adds phone alias to the system ################################################################################ @@ -2228,7 +2380,7 @@ if ($function == 'add_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2337,7 +2489,7 @@ if ($function == 'update_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2380,7 +2532,7 @@ if ($function == 'update_phone_alias') { if ($delete_alias == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2522,7 +2674,7 @@ if ($function == 'update_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2609,6 +2761,7 @@ if ($function == 'update_list') $webformSQL=''; $webformtwoSQL=''; $resettimeSQL=''; + $expiration_dateSQL=''; if (strlen($campaign_id) > 0) { $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; @@ -2758,6 +2911,25 @@ if ($function == 'update_list') {$resettimeSQL = " ,reset_time='$reset_time'";} } } + if (strlen($expiration_date) > 9) + { + if ($expiration_date == '--BLANK--') + {$expiration_dateSQL = " ,expiration_date='2099-12-31'";} + else + { + if (strlen($expiration_date) < 10) + { + $result = 'ERROR'; + $result_reason = "update_list EXPIRATION DATE IS NOT VALID, THIS IS AN OPTIONAL FIELD"; + $data = "$expiration_date"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + {$resettimeSQL = " ,expiration_date='$expiration_date'";} + } + } if (strlen($web_form_address) > 0) { if ($web_form_address == '--BLANK--') @@ -2773,7 +2945,7 @@ if ($function == 'update_list') {$webformtwoSQL = " ,web_form_address_two='$web_form_address_two'";} } - $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL"; + $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL$expiration_dateSQL"; if (strlen($updateSQL)< 3) { @@ -2846,7 +3018,7 @@ if ($function == 'update_list') if ($delete_list == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2884,7 +3056,7 @@ if ($function == 'update_list') if ($delete_leads == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2950,7 +3122,7 @@ if ($function == 'add_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3086,8 +3258,9 @@ if ($function == 'add_list') exit; } if (strlen($active)<1) {$active='N';} + if (strlen($expiration_date)<10) {$expiration_date='2099-12-31';} - $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time';"; + $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time', expiration_date='$expiration_date';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "|$stmt|\n";} @@ -3136,7 +3309,7 @@ if ($function == 'recording_lookup') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3308,7 +3481,7 @@ if ($function == 'did_log_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3448,7 +3621,7 @@ if ($function == 'agent_stats_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3596,6 +3769,7 @@ if ($function == 'agent_stats_export') if ($AScalls[$k] < 1) { $cust_sec = 0; + $wait_sec = 0; $avg_cust_sec = 0; $avg_wait_sec = 0; $pct_of_queue = 0; @@ -3603,6 +3777,7 @@ if ($function == 'agent_stats_export') else { $cust_sec = ($AStalk_sec[$k] - $ASdead_sec[$k]); + $wait_sec = $ASwait_sec[$k]; $avg_cust_sec = ($cust_sec / $AScalls[$k]); $avg_wait_sec = ($ASwait_sec[$k] / $AScalls[$k]); $pct_of_queue = ( ($AScalls[$k] / $total_calls) * 100); @@ -3618,10 +3793,11 @@ if ($function == 'agent_stats_export') $avg_session_sec = sec_convert($avg_session_sec,$time_format); $avg_pause_sec = sec_convert($avg_pause_sec,$time_format); $cust_sec = sec_convert($cust_sec,$time_format); + $wait_sec = sec_convert($wait_sec,$time_format); $avg_cust_sec = sec_convert($avg_cust_sec,$time_format); $avg_wait_sec = sec_convert($avg_wait_sec,$time_format); - $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session\n"; + $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session$DL$wait_sec\n"; $k++; } @@ -3647,6 +3823,737 @@ if ($function == 'agent_stats_export') +################################################################################ +### user_group_status - exports user group real-time stats +################################################################################ +if ($function == 'user_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status USER DOES NOT HAVE PERMISSION TO GET USER GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($user_groups)>0) and (strlen($user_groups)<10000) ) + { + $user_groupsOUTPUT = preg_replace("/\|/",' ',$user_groups); + $user_groupsSQL = preg_replace("/\|/","','",$user_groups); + $search_SQL .= "and user_group IN('$user_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$user_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $whereLOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $whereLOGallowed_callsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'usergroups' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dead_calls' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $whereLOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $i++; + } + } + + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $search_SQL $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: user_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + + if (eregi("INCALL",$row[1])) + { + $stmtP="select count(*) from parked_channels where channel_group='$row[5]';"; + $rsltP=mysql_query($stmtP,$link); + $rowP=mysql_fetch_row($rsltP); + $parked_channel = $rowP[0]; + + if ($parked_channel > 0) + {$row[1] = 'PARK';} + else + { + if (!ereg("$row[5]\|",$callerids)) + {$row[1] = 'DEAD';} + } + } + + if ($row[1]=='DEAD') + {$total_agents_dead++;} + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$user_groupsOUTPUT$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dead$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$user_groups|$stage"; + $result_reason = "user_group_status AGENTS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END user_group_status +################################################################################ + + + + + +################################################################################ +### in_group_status - exports in-group real-time stats +################################################################################ +if ($function == 'in_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status USER DOES NOT HAVE PERMISSION TO GET IN-GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($in_groups)>0) and (strlen($in_groups)<10000) ) + { + $in_groupsOUTPUT = preg_replace("/\|/",' ',$in_groups); + $in_groupsSQL = preg_replace("/\|/","','",$in_groups); + $search_SQL .= "where campaign_id IN('$in_groupsSQL')"; + $agent_search_SQL .= "where group_id IN('$in_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$in_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $LOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $LOGallowed_callsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'ingroups' . $DL . 'total_calls' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $search_SQL $LOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $total_calls++; + $i++; + } + } + + $users=''; + $stmt="SELECT distinct user from vicidial_live_inbound_agents where group_id IN('$in_groupsSQL');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $IG_users = mysql_num_rows($rslt); + if ($IG_users > 0) + { + $i=0; + while ($i < $IG_users) + { + $row=mysql_fetch_row($rslt); + $users .= "$row[0]','"; + $i++; + } + } + + $k=0; + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and vicidial_live_agents.user IN('$users') $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: in_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$in_groupsOUTPUT$DL$total_calls$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$in_groups|$stage"; + $result_reason = "in_group_status CALLS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END in_group_status +################################################################################ + + + + +################################################################################ +### agent_status - exports agent user real-time stats +################################################################################ +if ($function == 'agent_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status USER DOES NOT HAVE PERMISSION TO GET AGENT INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $agent_search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($agent_user)>0) and (strlen($agent_user)<100) ) + { + $agent_search_SQL .= "where user='$agent_user'"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status INVALID SEARCH PARAMETERS"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGadmin_viewable_groups = $row[0]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'status' . $DL . 'callerid' . $DL . 'lead_id' . $DL . 'campaign_id' . $DL . 'calls_today' . $DL . 'full_name' . $DL . 'user_group' . $DL . 'user_level' . "\n";} + + $stmt="select full_name,user_group,user_level from vicidial_users $agent_search_SQL $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $user_to_list = mysql_num_rows($rslt); + if ($user_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + $user_level = $row[2]; + + $stmt="select status,callerid,lead_id,campaign_id,calls_today from vicidial_live_agents $agent_search_SQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agent_to_list = mysql_num_rows($rslt); + if ($agent_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $callerid = $row[1]; + $lead_id = $row[2]; + $campaign_id = $row[3]; + $calls_today = $row[4]; + + $output .= "$status$DL$callerid$DL$lead_id$DL$campaign_id$DL$calls_today$DL$full_name$DL$user_group$DL$user_level\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$agent_user|$stage"; + $result_reason = "agent_status $output"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT LOGGED IN"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT FOUND"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + } + exit; + } +################################################################################ +### END agent_status +################################################################################ + + + +################################################################################ +### update_log_entry - updates the status of a log entry +################################################################################ +if ($function == 'update_log_entry') + { + if (strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "update_log_entry USER DOES NOT HAVE PERMISSION TO UPDATE LOGS"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + if ( (strlen($group)<2) or (strlen($call_id)<8) or (strlen($status)<8) ) + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $inbound_call=$row[0]; + + if ($inbound_call < 1) + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $outbound_call=$row[0]; + } + + if ( ($inbound_call < 1) and ($outbound_call < 1) ) + { + $result = 'ERROR'; + $result_reason = "update_log_entry GROUP NOT FOUND"; + $data = "$user|$group"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (preg_match("/\./",$call_id)) + { + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and uniqueid='$call_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and uniqueid='$call_id';";} + } + else + { + $lead_id = substr($call_id, -10); + $lead_id = ($lead_id + 0); + + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + } + $rslt=mysql_query($stmt, $link); + $found_recs = mysql_num_rows($rslt); + if ($found_recs > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id = $row[0]; + $old_status = $row[1]; + $uniqueid = $row[2]; + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS FOUND"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + + if ($inbound_call > 0) + {$stmt="UPDATE vicidial_closer_log SET status='$status' where campaign_id='$group' and closecallid='$uniqueid' order by call_date desc limit 1;";} + else + {$stmt="UPDATE vicidial_log SET status='$status' where campaign_id='$group' and uniqueid='$uniqueid';";} + $rslt=mysql_query($stmt, $link); + $update_count = mysql_affected_rows($link); + if ($update_count > 0) + { + $result = 'SUCCESS'; + $result_reason = "update_log_entry RECORD HAS BEEN UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid|$affected_rows"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry INVALID SEARCH PARAMETERS"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + exit; + } +################################################################################ +### END update_log_entry +################################################################################ + + + + + ################################################################################ ### add_lead - inserts a lead into the vicidial_list table ################################################################################ @@ -3663,7 +4570,7 @@ if ($function == 'add_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -3683,6 +4590,24 @@ if ($function == 'add_lead') if (strlen($rank)<1) {$rank='0';} if (strlen($list_id)<3) {$list_id='999';} if (strlen($phone_code)<1) {$phone_code='1';} + if ( ($nanpa_ac_prefix_check == 'Y') or (eregi("NANPA",$tz_method)) ) + { + $stmt="SELECT count(*) from vicidial_nanpa_prefix_codes;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vicidial_nanpa_prefix_codes_count = $row[0]; + if ($vicidial_nanpa_prefix_codes_count < 10) + { + $nanpa_ac_prefix_check='N'; + $tz_method = preg_replace("/NANPA/",'',$tz_method); + + $result = 'NOTICE'; + $result_reason = "add_lead NANPA options disabled, NANPA prefix data not loaded"; + echo "$result: $result_reason - $vicidial_nanpa_prefix_codes_count|$user\n"; + $data = "$inserted_alt_phones|$lead_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } $valid_number=1; if ( (strlen($phone_number)<6) || (strlen($phone_number)>16) ) @@ -3713,6 +4638,20 @@ if ($function == 'add_lead') $result_reason = "add_lead INVALID PHONE NUMBER AREACODE"; } } + if ( ($nanpa_ac_prefix_check=='Y') and ($valid_number > 0) ) + { + $phone_areacode = substr($phone_number, 0, 3); + $phone_prefix = substr($phone_number, 3, 3); + $stmt = "SELECT count(*) from vicidial_nanpa_prefix_codes where areacode='$phone_areacode' and prefix='$phone_prefix';"; + if ($DB>0) {echo "DEBUG: add_lead areacode check query - $stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $valid_number=$row[0]; + if ($valid_number < 1) + { + $result_reason = "add_lead INVALID PHONE NUMBER NANPA AREACODE PREFIX"; + } + } if ($valid_number < 1) { $result = 'ERROR'; @@ -3753,14 +4692,22 @@ if ($function == 'add_lead') if ( ($campaign_dnc_check == 'Y') or ($campaign_dnc_check == 'AREACODE') ) { if ($DB>0) {echo "DEBUG: Checking for campaign DNC\n";} + + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign_id; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if ($campaign_dnc_check == 'AREACODE') { $phone_areacode = substr($phone_number, 0, 3); $phone_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$campaign_id';"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign_id';";} + {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -4035,7 +4982,7 @@ if ($function == 'add_lead') ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); $new_status='NEW'; if ($callback == 'Y') @@ -4225,13 +5172,11 @@ if ($function == 'add_lead') $result = 'NOTICE'; $result_reason = "add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME"; echo "$result: $result_reason - $phone_number|$lead_id|$gmt_offset|$dialable|$user\n"; - $data = "$phone_number|$lead_id|$gmt_offset|$dialable"; + $data = "$phone_number|$lead_id|$gmt_offset|$dialable|$state"; api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); } else { - ### code to insert into hopper goes here - ### insert record into vicidial_hopper for alt_phone call attempt $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$list_id',gmt_offset_now='$gmt_offset',state='$state',user='',priority='$hopper_priority',source='P',vendor_lead_code='$vendor_lead_code';"; if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} @@ -4366,7 +5311,7 @@ if ($function == 'update_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -4561,6 +5506,7 @@ if ($function == 'update_lead') if (strlen($owner)>0) {$VL_update_SQL .= "owner='$owner',";} if (strlen($called_count)>0) {$VL_update_SQL .= "called_count='$called_count',";} if ( (strlen($reset_lead) > 0 && $reset_lead == 'Y') ) {$VL_update_SQL .= "called_since_last_reset='N',";} + if ( (strlen($update_phone_number)>0 && $update_phone_number=='Y' && strlen($phone_number)>0) ) {$VL_update_SQL .= "phone_number='$phone_number',";} $VL_update_SQL = preg_replace("/,$/","",$VL_update_SQL); $VL_update_SQL = preg_replace("/'--BLANK--'/","''",$VL_update_SQL); $VL_update_SQL = preg_replace("/\n/","!N",$VL_update_SQL); @@ -4900,7 +5846,7 @@ if ($function == 'update_lead') else { ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); if (strlen($status)<1) {$status='NEW';} @@ -5094,11 +6040,6 @@ api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$resul - - - - - if ($format=='debug') { $ENDtime = date("U"); @@ -5119,7 +6060,7 @@ exit; ##### LOOKUP GMT, FINDS THE CURRENT GMT OFFSET FOR A PHONE NUMBER ##### -function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner) +function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix) { require("dbconnect.php"); @@ -5171,6 +6112,24 @@ if ( ($tz_method=="TZCODE") && (strlen($owner)>1) ) if (strlen($dst_range)>2) {$dst = 'Y';} } } +if ( (eregi("NANPA",$tz_method)) && (strlen($USarea)>2) && (strlen($USprefix)>2) ) + { + $stmt="select GMT_offset,DST from vicidial_nanpa_prefix_codes where areacode='$USarea' and prefix='$USprefix';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[0]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[1]; + $dst_range = ''; + if ($dst == 'Y') + {$dst_range = 'SSM-FSN';} + $PC_processed++; + $postalgmt_found++; + $post++; + } + } if ($postalgmt_found < 1) { $PC_processed=0; @@ -5924,273 +6883,160 @@ function dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state) $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times FROM vicidial_call_times where call_time_id='$local_call_time';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; - if ($GMT_day==0) #### Sunday local time - { - if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + if ( (strlen($Gct_state_call_times) > 2) and (strlen($state)>0) ) { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==1) #### Monday local time - { - if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==2) #### Tuesday local time - { - if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==3) #### Wednesday local time - { - if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==4) #### Thursday local time - { - if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==5) #### Friday local time - { - if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==6) #### Saturday local time - { - if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) - {$dialable=1;} - } - } + $Gct_state_call_timesSQL = $Gct_state_call_times; + $Gct_state_call_timesSQL = preg_replace("/\|/","','",$Gct_state_call_timesSQL); + $Gct_state_call_timesSQL = preg_replace("/^',|,'$/",'',$Gct_state_call_timesSQL); - return $dialable; - } - -/* - $ct_states = ''; - $ct_state_gmt_SQL = ''; - $ct_srs=0; - $b=0; - if (strlen($Gct_state_call_times)>2) - { - $state_rules = explode('|',$Gct_state_call_times); - $ct_srs = ((count($state_rules)) - 2); - } - while($ct_srs >= $b) - { - if ( (strlen($state_rules[$b])>1) and (strlen($state)>1) ) - { - $stmt="SELECT STAR from vicidial_state_call_times where state_call_time_id='$state_rules[$b]' and state_call_time_state='$state';"; + $stmt="SELECT sct_default_start,sct_default_stop,sct_sunday_start,sct_sunday_stop,sct_monday_start,sct_monday_stop,sct_tuesday_start,sct_tuesday_stop,sct_wednesday_start,sct_wednesday_stop,sct_thursday_start,sct_thursday_stop,sct_friday_start,sct_friday_stop,sct_saturday_start,sct_saturday_stop FROM vicidial_state_call_times where state_call_time_id IN($Gct_state_call_timesSQL) and state_call_time_state='$state';"; + if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; - - $ct_states .="'$Gstate_call_time_state',"; - - $r=0; - $state_gmt=''; - while($r < $g) + $state_times_to_print = mysql_num_rows($rslt); + if ($state_times_to_print > 0) { - if ($GMT_day[$r]==0) #### Sunday local time - { - if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==1) #### Monday local time - { - if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==2) #### Tuesday local time - { - if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==3) #### Wednesday local time - { - if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==4) #### Thursday local time - { - if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==5) #### Friday local time - { - if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==6) #### Saturday local time - { - if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - $r++; + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[0]; + $Gct_default_stop = $rowx[1]; + $Gct_sunday_start = $rowx[2]; + $Gct_sunday_stop = $rowx[3]; + $Gct_monday_start = $rowx[4]; + $Gct_monday_stop = $rowx[5]; + $Gct_tuesday_start = $rowx[6]; + $Gct_tuesday_stop = $rowx[7]; + $Gct_wednesday_start = $rowx[8]; + $Gct_wednesday_stop = $rowx[9]; + $Gct_thursday_start = $rowx[10]; + $Gct_thursday_stop = $rowx[11]; + $Gct_friday_start = $rowx[12]; + $Gct_friday_stop = $rowx[13]; + $Gct_saturday_start = $rowx[14]; + $Gct_saturday_stop = $rowx[15]; } - $state_gmt = "$state_gmt'99'"; - $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; } - $b++; - } - if (strlen($ct_states)>2) - { - $ct_states = eregi_replace(",$",'',$ct_states); - $ct_statesSQL = "and state NOT IN($ct_states)"; + ### go through each day to determine dialability + if ($GMT_day==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) + {$dialable=1;} + } + } + + return $dialable; } else { - $ct_statesSQL = ""; + return 0; } - -*/ - + } @@ -6208,7 +7054,6 @@ function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$val $TOTALrun = ($runS + $runM); $NOW_TIME = date("Y-m-d H:i:s"); - # api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script',run_time='$TOTALrun';"; $rslt=mysql_query($stmt, $link); } diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include01.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include01.php new file mode 100644 index 00000000..9de01922 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include01.php @@ -0,0 +1,105 @@ +
    \n"; echo ""; echo "
    Administration: Maximum System Stats   $NWB#vicidial_max_stats$NWE

    \n"; - echo "
    \n"; + echo ""; + + echo "\n"; + + echo " to "; + + echo "    
    \n"; + echo "
    [DOWNLOAD ALL]
    \n"; if ( (preg_match("/Maximum System Stats/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) { @@ -33149,31 +36113,38 @@ if ($ADD==999992) } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } else @@ -33182,8 +36153,128 @@ if ($ADD==999992) } ##### END max system stats report ##### +##### If report run, update the time in the vicidial_report_log table ##### +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } +###################### +# ADD=999991 display server version info +###################### +if ($ADD==999991) + { + echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls','total call count in and out',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls','total call count in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_inbound_all','total inbound call count',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_inbound_all','total inbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_outbound_all','total outbound call count',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_outbound_all','total outbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_inbound','most concurrent calls inbound total',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_inbound','most concurrent calls inbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_outbound','most concurrent calls outbound total',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_outbound','most concurrent calls outbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_agents','most concurrent agents',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_agents','most concurrent agents',0,$end_date,$download_link); echo "
    \n"; + echo ""; + + echo "
    Administration: Server Version Information

    \n"; + + if ($LOGview_reports==1) + { + if ($reports_only_user < 1) + { + echo "
    \n";
    +
    +			echo "";
    +			echo "\n";
    +
    +			$stmt="SELECT server_id,server_description,server_ip,active,sysload,channels_total,cpu_idle_percent,disk_usage from servers order by server_id;";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$servers_to_print = mysql_num_rows($rslt);
    +			$i=0;
    +			while ($i < $servers_to_print)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$server_id[$i] =			$row[0];
    +				$server_description[$i] =	$row[1];
    +				$server_ip[$i] =			$row[2];
    +				$active[$i] =				$row[3];
    +				$sysload[$i] =				$row[4];
    +				$channels_total[$i] =		$row[5];
    +				$cpu_idle_percent[$i] =		$row[6];
    +				$disk_usage[$i] =			$row[7];
    +				$i++;
    +				}
    +
    +			$o=0;
    +			while ($servers_to_print > $o)
    +				{
    +				$cpu = (100 - $cpu_idle_percent[$o]);
    +				$disk = '';
    +				$disk_ary = explode('|',$disk_usage[$o]);
    +				$disk_ary_ct = count($disk_ary);
    +				$k=0;
    +				while ($k < $disk_ary_ct)
    +					{
    +					$disk_ary[$k] = preg_replace("/^\d* /","",$disk_ary[$k]);
    +					if ($k<1) {$disk = "$disk_ary[$k]";}
    +					else
    +						{
    +						if ($disk_ary[$k] > $disk) {$disk = "$disk_ary[$k]";}
    +						}
    +					$k++;
    +					}
    +				$disk = "$disk%";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +
    +				$s_time=' ';
    +				$s_ver=' ';
    +				$s_info_print='no svn information';
    +				$stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$servertime_to_print = mysql_num_rows($rslt);
    +				if ($servertime_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_time = $row[0];
    +					}
    +				$stmt="SELECT svn_revision,svn_info from servers where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$serverver_to_print = mysql_num_rows($rslt);
    +				if ($serverver_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_ver = $row[0];
    +					$s_info = $row[1];
    +					$s_info_print = preg_replace("/\n/",'
    ',$s_info); + } + if (strlen($s_info_print) < 1) {$s_info_print='no svn information';} + echo ""; + echo ""; + + echo "\n"; + $o++; + } + echo "
    SERVERBESCHREIBUNGIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]$sysload[$o] - $cpu%$channels_total[$o]$disk$s_time$s_ver
     $s_info_print
    \n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } +##### END server version info ##### echo "
    \n"; @@ -33199,7 +36290,7 @@ echo "

    "; echo "VERSION: $admin_version
    "; echo "BAU: $build\n"; if (!preg_match("/_BAU_/",$SShosted_settings)) - {echo "
    © 2012 ViciDial Group
    ";} + {echo "
    © 2013 ViciDial Group
    ";} echo "
    \n"; ?> @@ -33646,7 +36737,27 @@ if (isset($camp_lists)) $CCLsql = "and (called_count < $call_count_limit)"; } - $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL"; + $EXPsql=''; + $expired_lists=''; + $REPORTdate = date("Y-m-d"); + $stmt="SELECT list_id FROM vicidial_lists where list_id IN($camp_lists) and (active='Y') and (expiration_date < \"$REPORTdate\");"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + $f=0; + while ($rslt_rows > $f) + { + $rowx=mysql_fetch_row($rslt); + $expired_lists .= "'$rowx[0]',"; + $f++; + } + $expired_lists = preg_replace("/,$/",'',$expired_lists); + if (strlen($expired_lists) < 2) {$expired_lists = "''";} + $EXPsql = "and list_id NOT IN($expired_lists)"; + + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $EXPsql"; #$DB=1; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/admin_email_accounts.php b/agc_2-X/trunk/LANG_www/vicidial_de/admin_email_accounts.php new file mode 100644 index 00000000..f209d140 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/admin_email_accounts.php @@ -0,0 +1,884 @@ + LICENSE: AGPLv2 +# +# This page manages the inbound email accounts in ViciDial +# +# changes: +# 121214-2245 - First Build +# 130102-1131 - Small admin log change +# 130221-1754 - Added level 8 disable add feature +# + +$admin_version = '2.6-3'; +$build = '130221-1754'; + +$sh="emails"; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["action"])) {$action=$_GET["action"];} + elseif (isset($_POST["action"])) {$action=$_POST["action"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["eact"])) {$eact=$_GET["eact"];} + elseif (isset($_POST["eact"])) {$eact=$_POST["eact"];} +if (isset($_GET["email_account_id"])) {$email_account_id=$_GET["email_account_id"];} + elseif (isset($_POST["email_account_id"])) {$email_account_id=$_POST["email_account_id"];} +if (isset($_GET["email_account_name"])) {$email_account_name=$_GET["email_account_name"];} + elseif (isset($_POST["email_account_name"])) {$email_account_name=$_POST["email_account_name"];} +if (isset($_GET["email_account_description"])) {$email_account_description=$_GET["email_account_description"];} + elseif (isset($_POST["email_account_description"])) {$email_account_description=$_POST["email_account_description"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["email_account_server"])) {$email_account_server=$_GET["email_account_server"];} + elseif (isset($_POST["email_account_server"])) {$email_account_server=$_POST["email_account_server"];} +if (isset($_GET["email_account_user"])) {$email_account_user=$_GET["email_account_user"];} + elseif (isset($_POST["email_account_user"])) {$email_account_user=$_POST["email_account_user"];} +if (isset($_GET["email_account_pass"])) {$email_account_pass=$_GET["email_account_pass"];} + elseif (isset($_POST["email_account_pass"])) {$email_account_pass=$_POST["email_account_pass"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["email_frequency_check_mins"])) {$email_frequency_check_mins=$_GET["email_frequency_check_mins"];} + elseif (isset($_POST["email_frequency_check_mins"])) {$email_frequency_check_mins=$_POST["email_frequency_check_mins"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["default_list_id"])) {$default_list_id=$_GET["default_list_id"];} + elseif (isset($_POST["default_list_id"])) {$default_list_id=$_POST["default_list_id"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["new_account_id"])) {$new_account_id=$_GET["new_account_id"];} + elseif (isset($_POST["new_account_id"])) {$new_account_id=$_POST["new_account_id"];} +if (isset($_GET["source_email_account"])) {$source_email_account=$_GET["source_email_account"];} + elseif (isset($_POST["source_email_account"])) {$source_email_account=$_POST["source_email_account"];} +if (isset($_GET["confirm_deletion"])) {$confirm_deletion=$_GET["confirm_deletion"];} + elseif (isset($_POST["confirm_deletion"])) {$confirm_deletion=$_POST["confirm_deletion"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_account_type"])) {$email_account_type=$_GET["email_account_type"];} + elseif (isset($_POST["email_account_type"])) {$email_account_type=$_POST["email_account_type"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,allow_emails,allow_emails,level_8_disable_add FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_queuemetrics_logging = $row[1]; + $SSenable_vtiger_integration = $row[2]; + $SSqc_features_active = $row[3]; + $SSoutbound_autodial_active = $row[4]; + $SSsounds_central_control_active = $row[5]; + $SSenable_second_webform = $row[6]; + $SSuser_territories_active = $row[7]; + $SScustom_fields_enabled = $row[8]; + $SSadmin_web_directory = $row[9]; + $SSwebphone_url = $row[10]; + $SSfirst_login_trigger = $row[11]; + $SShosted_settings = $row[12]; + $SSdefault_phone_registration_password =$row[13]; + $SSdefault_phone_login_password = $row[14]; + $SSdefault_server_password = $row[15]; + $SStest_campaign_calls = $row[16]; + $SSactive_voicemail_server = $row[17]; + $SSvoicemail_timezones = $row[18]; + $SSdefault_voicemail_timezone = $row[19]; + $SSdefault_local_gmt = $row[20]; + $SScampaign_cid_areacodes_enabled = $row[21]; + $SSpllb_grouping_limit = $row[22]; + $SSdid_ra_extensions_enabled = $row[23]; + $SSexpanded_list_stats = $row[24]; + $SScontacts_enabled = $row[25]; + $SSalt_log_server_ip = $row[26]; + $SSalt_log_dbname = $row[27]; + $SSalt_log_login = $row[28]; + $SSalt_log_pass = $row[29]; + $SStables_use_alt_log_db = $row[30]; + $SSallow_emails = $row[31]; + $SSemail_enabled = $row[32]; + $SSlevel_8_disable_add = $row[33]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $email_account_id = ereg_replace("[^_0-9a-zA-Z]","",$email_account_id); + $email_account_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_name); + $email_account_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_description); + $user_group = ereg_replace("[^_0-9a-zA-Z]","",$user_group); + $protocol = ereg_replace("[^_0-9a-zA-Z]","",$protocol); + $email_account_server = ereg_replace("[^\.\-\_0-9a-zA-Z]","",$email_account_server); + $active = ereg_replace("[^_0-9a-zA-Z]","",$active); + $email_frequency_check_mins = preg_replace("/^0-9/","",$email_frequency_check_mins); + $list_id = ereg_replace("[^0-9]","",$list_id); + + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$add_copy_disabled=0; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_email_accounts='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($webroot_writable > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$user = $PHP_AUTH_USER; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + if ($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,user_level,user_group,modify_email_accounts from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $LOGuser_level = $row[1]; + $LOGuser_group = $row[2]; + $LOGemails_modify = $row[3]; + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} + + $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGallowed_reports = $row[1]; + $LOGadmin_viewable_groups = $row[2]; + $LOGadmin_viewable_call_times = $row[3]; + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} + $regexLOGadmin_viewable_groups = " $LOGadmin_viewable_groups "; + + $UUgroups_list=''; + if ($admin_viewable_groupsALL > 0) + {$UUgroups_list .= "\n";} + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + $UUgroups_to_print = mysql_num_rows($rslt); + $o=0; + while ($UUgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $UUgroups_list .= "\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + # $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ADMINISTRATION: Dialer Email Konto Felder +<?php + +##### BEGIN Set variables to make header show properly ##### +$ADD = '0'; +$hh = 'admin'; +$sh = 'emails'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$admin_color = '#FFFF99'; +$admin_font = 'BLACK'; +$admin_color = '#E6E6E6'; +$emails_color = '#FFFF99'; +$emails_font = 'BLACK'; +$emails_color = '#C6C6C6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +if ( ($LOGemails_modify < 1) or ($LOGuser_level < 8) ) + { + echo "You are not authorized to view this section\n"; + exit; + } + +if ($SSemail_enabled < 1) + { + echo "ERROR: Inbound E-Mails sind auf diesem System nicht aktiv\n"; + exit; + } + + +$NWB = "   <a href=\"javascript:openNewWindow('admin.php?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"HILFE\" ALIGN=TOP></A>"; + + +if ($DB > 0) +{ +echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_email_account,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order"; +} + +if ($eact=="DELETE" && $confirm_deletion=="yes" && $email_account_id) + { + $del_stmt="delete from vicidial_email_accounts where email_account_id='$email_account_id'"; + $del_rslt=mysql_query($del_stmt, $link); + $message="ACCOUNT $email_account_id DELETED<BR/>"; + $eact=""; + } + + + +if (($SUBMIT=="SUBMIT" || $SUBMIT=="UPDATE") && $email_account_id) + { + $error_msg=""; + if (!$list_id) {$error_msg.="- Default list ID is unwirksam oder null<BR/>";} + if (!$email_account_id) {$error_msg.="- Email account ID is unwirksam oder null<BR/>";} + if (!$email_account_name) {$error_msg.="- Email account name is unwirksam oder null<BR/>";} + if (!$email_account_server) {$error_msg.="- Email account server is unwirksam oder null<BR/>";} + if (!$email_account_user) {$error_msg.="- Email account user is unwirksam oder null<BR/>";} + if (!$email_account_pass) {$error_msg.="- Email account password is unwirksam oder null<BR/>";} + if (!filter_var($email_replyto_address, FILTER_VALIDATE_EMAIL)) {$error_msg.="- Email reply-to address is unwirksam oder null<BR/>";} + + if (!$error_msg) + { + if ($SUBMIT=="SUBMIT") + { + if ($add_copy_disabled > 0) + { + echo "<br>Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } + else + { + $ins_stmt="INSERT INTO vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, email_replyto_address, protocol, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$email_account_id', '$email_account_name', '$email_account_description', '$user_group', '$email_replyto_address', '$protocol', '$email_account_server', '$email_account_user', '$email_account_pass', '$active', '$email_frequency_check_mins', '$group_id', '$default_list_id', '$email_account_type', '$call_handle_method', '$agent_search_method', '$list_id', '$campaign_id')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to create the new account<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NEUES KONTO $email_account_id Erfolgreich erstellt"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $upd_stmt="update vicidial_email_accounts set email_account_name='$email_account_name', email_account_description='$email_account_description', user_group='$user_group', protocol='$protocol', email_replyto_address='$email_replyto_address', email_account_server='$email_account_server', email_account_user='$email_account_user', email_account_pass='$email_account_pass', active='$active', email_frequency_check_mins='$email_frequency_check_mins', group_id='$group_id', default_list_id='$default_list_id', email_account_type='$email_account_type', call_handle_method='$call_handle_method', agent_search_method='$agent_search_method', campaign_id='$campaign_id', list_id='$list_id' WHERE email_account_id='$email_account_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to update account $email_account_id<BR/>"; + if($DB>0) {$error_msg.="<B>$upd_stmt</B><BR>";} + } + else + { + $message="ACCOUNT $email_account_id ERFOLGREICH VERÄNDERTER"; + # $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$upd_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='MODIFY', record_id='$email_account_id', event_code='EMAIL ACCOUNT MODIFIED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } +else if ($SUBMIT=="COPY") + { + $stmt="select * from vicidial_email_accounts where email_account_id='$source_email_account'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) + { + if ($add_copy_disabled > 0) + { + echo "<br>Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen -system_settings-\n"; + } + else + { + $row=mysql_fetch_array($rslt); + $ins_stmt="insert into vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, protocol, email_replyto_address, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$new_account_id', '$email_account_name', '$row[email_account_description]', '$row[user_group]', '$row[protocol]', '$row[email_replyto_address]', '$row[email_account_server]', '$row[email_account_user]', '$row[email_account_pass]', '$row[active]', '$row[email_frequency_check_mins]', '$row[group_id]','$row[default_list_id]', '$row[email_account_type]', '$row[call_handle_method]','$row[agent_search_method]', '$row[list_id]', '$row[campaign_id]')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- Es war ein unbekannter Fehler beim Versuch, das neue Konto kopieren<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NEUES KONTO $new_account_id Erfolgreich von KOPIERT $source_email_account<BR/>"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $error_msg="- Error - Quelle E-Mail existiert nicht<BR/>"; + if($DB>0) {$error_msg.="<B>$stmt</B><BR>";} + } + } + + +################################################################################ +##### BEGIN copy fields to a list form +if ($eact == "COPY") + { + ##### get lists listing for dynamic pulldown + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts order by email_account_id"; + $rsltx=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rsltx); + $accounts_list=''; + $o=0; + if ($accounts_to_print>0) + { + while ($accounts_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $accounts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Konto NICHT KOPIERT<BR/>Die Daten, die Sie eingereicht hat folgende Fehler:<BR/>$error_msg";} + echo "<br>Kopieren New Account aus bestehenden Konto<form action='$PHP_SELF' method='GET'>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=action value=COPY_EMAIL_SUBMIT>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Konto-ID zu kopierenden: </td><td align=left><select size=1 name=source_email_account>\n"; + echo "$accounts_list"; + echo "</select></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>New Account ID: </td><td align=left><input type=text name=new_account_id value='$new_account_id' size=10 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>New Account Name: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100>$NWB#vicidial_email_accounts-carrier_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=SUBMIT value='COPY'></td></tr>\n"; + echo "</TABLE></center>\n"; + echo "</TD></TR></TABLE>\n"; + } + else + { + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><br>*** Es sind keine bestehende Konten zu kopierenden ***\n"; + echo "</TD></TR></TABLE>\n"; + } + } +### END copy fields to a list form +else if ($eact == "ADD") + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Account not INSERTED<BR/>Die Daten, die Sie eingereicht hat folgende Fehler:<BR/>$error_msg";} + echo "<br>ADD NEW INBOUND-Mail-Konto<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail-Konto-ID: </td><td align=left><input type=text name=email_account_id size=15 maxlength=20 value='$email_account_id'>$NWB#vicidial_email_accounts-email_account_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail Account Name: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Aktiv:</td><td align=left><select size=1 name=active><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailKonto Beschreibung: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail Account: </td><td align=left><select size=1 name=email_account_type><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Admin Benutzer-Gruppe: </td><td align=left><select size=1 name=user_group>\n"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Alle Admin Benutzer-Gruppen</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail-Konto-Protokoll: </td><td align=left><select size=1 name=protocol><option SELECTED>IMAP</option><option>POP3</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailReply-to Adresse: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail-Konto Server: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailKonto Benutzername: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail Konto Passwort: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailFrequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">In-Gruppen-ID</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "</select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Standard Liste ID</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group Call Griff Methode:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group-Agent Suche Methode:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group US-ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group Kampagnen-ID:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=SUBMIT VALUE=SUBMIT><input type=hidden name='eact' value='ADD'></td></tr>\n"; + echo "</TABLE></center></form>\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } +else if (($eact=="DELETE" || $eact=="UPDATE") && $email_account_id) + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT * from vicidial_email_accounts where email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_array($rslt); + + $email_account_id=$row["email_account_id"]; + $email_account_name=$row["email_account_name"]; + $email_account_description=$row["email_account_description"]; + $user_group=$row["user_group"]; + $protocol=$row["protocol"]; + $email_replyto_address=$row["email_replyto_address"]; + $email_account_server=$row["email_account_server"]; + $email_account_user=$row["email_account_user"]; + $email_account_pass=$row["email_account_pass"]; + $active=$row["active"]; + $email_frequency_check_mins=$row["email_frequency_check_mins"]; + $group_id=$row["group_id"]; + $call_handle_method=$row["call_handle_method"]; + $agent_search_method=$row["agent_search_method"]; + $campaign_id=$row["campaign_id"]; + $list_id=$row["list_id"]; + $default_list_id=$row["default_list_id"]; + $email_account_type=$row["email_account_type"]; + + if ($eact=="DELETE" && $email_account_id) + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><B>Bestätigen Sie das Löschen der eingehenden E-Mail Konto $email_account_id</B><BR>\n"; + echo "<a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id&confirm_deletion=yes'>Klicken Sie auf Konto löschen $email_account_id</a>\n"; + echo "</font>"; + } + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + ## Get unhandled count + $stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $unhandled_emails=$row[0]; + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + if ($error_msg) {echo "Konto nicht aktualisiert<BR/>Die Daten, die Sie eingereicht hat folgende Fehler:<BR/>$error_msg";} + echo "<br>Update einer bestehenden INBOUND-Mail-Konto<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail-Konto-ID: </td><td align=left><input type=hidden name=email_account_id value='$email_account_id'><B>$email_account_id$NWB#vicidial_email_accounts-email_account_id$NWE</B></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail Account Name: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Aktiv:</td><td align=left><select size=1 name=active>"; + echo "<option value='$active' selected>$active</option>"; + echo "<option>Y</option><option>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailKonto Beschreibung: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail Account: </td><td align=left><select size=1 name=email_account_type><option value='$email_account_type' selected>$email_account_type</option><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Admin Benutzer-Gruppe: </td><td align=left><select size=1 name=user_group>\n"; + echo "<option value='$user_group' selected>$user_group</option>"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Alle Admin Benutzer-Gruppen</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail-Konto-Protokoll: </td><td align=left><select size=1 name=protocol><option>IMAP</option><option>POP3</option><option SELECTED>$protocol</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailReply-to Adresse: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail-Konto Server: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailKonto Benutzername: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-Mail Konto Passwort: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightEmailFrequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + echo "<option value='$email_frequency_check_mins' selected>$email_frequency_check_mins</option>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=3811&group_id=$group_id\">In-Gruppen-ID</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "<option value='$group_id' selected>$group_id</option></select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Standard Liste ID</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + +############### + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group Call Griff Methode:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group-Agent Suche Methode:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group US-ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Group Kampagnen-ID:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Un-E-Mails behandelt: </td><td align=left><B>$unhandled_emails</B></td></tr>\n"; +################ + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=SUBMIT VALUE=UPDATE><input type=hidden name='eact' value='UPDATE'></td></tr>\n"; + echo "</TABLE><BR><BR>"; + if ($LOGuser_level >= 9) + { + echo "<br><br><a href=\"admin.php?ADD=720000000000000&category=EMAIL&stage=$email_account_id\">Klicken Sie hier um Admin Änderungen an diesem Datensatz zu sehen</FONT>\n"; + } + echo "<BR><BR><a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id'>DELETE EMAIL ACCOUNT</a></center></form>\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } +else + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + echo "<br>Eingehende E-Mails Kontoeinträge:\n"; + echo "<center><TABLE width=750 cellspacing=0 cellpadding=1>\n"; + echo "<TR BGCOLOR=BLACK>\n"; + echo "<TD><font size=1 color=white>ACCOUNT ID</TD>\n"; + echo "<TD><font size=1 color=white>ACCOUNT NAME</TD>\n"; + echo "<TD><font size=1 color=white>BESCHREIBUNG</TD>\n"; + echo "<TD><font size=1 color=white>REPLY-TO ADDRESS</TD>\n"; + echo "<TD><font size=1 color=white>PROTOCOL</TD>\n"; + echo "<TD><font size=1 color=white>SERVER</TD>\n"; + echo "<TD><font size=1 color=white>FREQUENCY</TD>\n"; + echo "<TD><font size=1 color=white>AKTIV</TD>\n"; + echo "<TD><font size=1 color=white>UNREAD EMAIL</TD>\n"; + echo "<TD><font size=1 color=white>ÄNDERN Sie</TD></tr>\n"; + + $stmt="SELECT email_account_id, email_account_name, email_account_description, email_replyto_address, protocol, email_account_server, email_frequency_check_mins, active from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $rslt=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rslt); + $o=0; + while ($accounts_to_print > $o) + { + $row=mysql_fetch_array($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$row[email_account_id]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<tr $bgcolor><td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">$row[email_account_id]</a></font></td>"; + echo "<td><font size=1> $row[email_account_name]</font></td>"; + echo "<td><font size=1> $row[email_account_description]</font></td>"; + echo "<td><font size=1> $row[email_replyto_address]</font></td>"; + echo "<td><font size=1> $row[protocol]</font></td>"; + echo "<td><font size=1> $row[email_account_server]</font></td>"; + echo "<td><font size=1> $row[email_frequency_check_mins] mins</font></td>"; + echo "<td><font size=1> $row[active]</font></td>"; + echo "<td><font size=1> $unhandled_emails</font></td>"; + echo "<td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">ÄNDERN Sie</a></font></td></tr>\n"; + $o++; + } + + echo "</table></font>"; + } + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $STARTtime); +echo "\n\n\n<br><br><br>\n<font size=1> runtime: $RUNtime seconds         Version: $admin_version     Build: $build</font>"; + +?> + +</body> +</html> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/admin_header.php b/agc_2-X/trunk/LANG_www/vicidial_de/admin_header.php index 3b993bf6..228c0cad 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/admin_header.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/admin_header.php @@ -1,7 +1,7 @@ <?php # admin_header.php - VICIDIAL administration header # -# Copyright (C) 2012 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 # # CHANGES @@ -37,6 +37,10 @@ # 111106-0939 - Changes for user group restrictions # 111116-0208 - Added ALT and ADDR3 in-group handle methods # 120402-2134 - Changed lead loader link to fourth gen +# 121116-1412 - Added QC functionality +# 121123-0911 - Added Call Times Holidays Inbound functionality +# 121214-2238 - Added email menus +# 130221-1830 - Added Level 8 disable add option # @@ -50,13 +54,14 @@ if($short_header) ?> <TD>   <A HREF="admin.php" ALT="Benutzer"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Benutzer</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10" ALT="Kampagnen"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Kampagnen</B></A>   </TD> + <?php include 'qc/QC_header_include02.php'; ?> <TD>   <A HREF="admin.php?ADD=100" ALT="Listen"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Listen</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000000" ALT="Indexe"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Indexe</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000000" ALT="Filter"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Filter</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000" ALT="Inbound"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Inbound</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=100000" ALT="Benutzer-Gruppen"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Benutzer-Gruppen</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000" ALT="Remotemittel"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Remotemittel</B></A>   </TD> - <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Admin</B></A>   </TD> + <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B> Admin </B></A>   </TD> <?php } else @@ -110,6 +115,7 @@ if ($hh=='admin') if ($hh=='reports') {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} +include('qc/QC_header_include01.php'); echo "\n"; echo ""; $field_check=explode($delimiter, $buffer); flush(); -} else if ($form_action=="update_template") { + } +else if ($form_action=="update_template") + { echo "Hi"; -} else { + } +else + { + if ( (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) or (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$sample_template_file_name)) ) + { + echo "ERROR: Invalid File Name: $LF_orig $sample_template_file_name\n"; + exit; + } # echo "** $form_action"; die; $fields_stmt = "SELECT list_id, vendor_lead_code, source_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, rank, owner from vicidial_list limit 1"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/list_download.php b/agc_2-X/trunk/LANG_www/vicidial_de/list_download.php index de5a74f0..41c7703e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/list_download.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/list_download.php @@ -4,7 +4,7 @@ # downloads the entire contents of a vicidial list ID to a flat text file # that is tab delimited # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,13 @@ # 100924-1609 - Added ALL-LISTS option for downloading everything # 100929-1919 - Fixed ALL-LISTS download option to include custom fields # 101004-2108 - Added generic custom column headers for custom fields +# 120713-2110 - Added extended_vl_fields option +# 120907-1217 - Raised extended fields up to 99 +# 130414-0228 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -91,6 +87,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$list_id, $group_id, $download_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -112,6 +137,16 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL exit; } +if (file_exists('options.php')) + {require('options.php');} +$extended_vl_fields_SQL=''; +$extended_vl_fields_HEADER=''; +if ($extended_vl_fields > 0) + { + $extended_vl_fields_SQL = ',q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31,q32,q33,q34,q35,q36,q37,q38,q39,q40,q41,q42,q43,q44,q45,q46,q47,q48,q49,q50,q51,q52,q53,q54,q55,q56,q57,q58,q59,q60,q61,q62,q63,q64,q65,q66,q67,q68,q69,q70,q71,q72,q73,q74,q75,q76,q77,q78,q79,q80,q81,q82,q83,q84,q85,q86,q87,q88,q89,q90,q91,q92,q93,q94,q95,q96,q97,q98,q99'; + $extended_vl_fields_HEADER = "\tq01\tq02\tq03\tq04\tq05\tq06\tq07\tq08\tq09\tq10\tq11\tq12\tq13\tq14\tq15\tq16\tq17\tq18\tq19\tq20\tq21\tq22\tq23\tq24\tq25\tq26\tq27\tq28\tq29\tq30\tq31\tq32\tq33\tq34\tq35\tq36\tq37\tq38\tq39\tq40\tq41\tq42\tq43\tq44\tq45\tq46\tq47\tq48\tq49\tq50\tq51\tq52\tq53\tq54\tq55\tq56\tq57\tq58\tq59\tq60\tq61\tq62\tq63\tq64\tq65\tq66\tq67\tq68\tq69\tq70\tq71\tq72\tq73\tq74\tq75\tq76\tq77\tq78\tq79\tq80\tq81\tq82\tq83\tq84\tq85\tq86\tq87\tq88\tq89\tq90\tq91\tq92\tq93\tq94\tq95\tq96\tq97\tq98\tq99"; + } + $LOGallowed_campaignsSQL=''; if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) { @@ -304,13 +339,13 @@ else { $TXTfilename = "LIST_$list_id$US$FILE_TIME.txt"; $list_id_header=''; - $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id='$list_id';"; + $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id='$list_id';"; if ($list_id=='ALL-LISTS') { $list_id_header="list_id\t"; - $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id > 0;"; + $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id > 0;"; } - $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner"; + $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner$extended_vl_fields_HEADER"; $header_columns=''; } @@ -342,16 +377,21 @@ while ($i < $leads_to_print) else { $row[29] = preg_replace("/\n|\r/",'!N',$row[29]); + $extended_vl_fields_DATA=''; if ($list_id=='ALL-LISTS') { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[33]\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]$extended_vl_fields_DATA"; $export_list_id[$i] = $row[0]; $export_lead_id[$i] = $row[1]; } else { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]\t$row[132]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]$extended_vl_fields_DATA"; $export_list_id[$i] = $list_id; $export_lead_id[$i] = $row[0]; } @@ -480,14 +520,6 @@ if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') ) } -### LOG INSERTION Admin Log Table ### -$SQL_log = "$stmt|$stmtA|"; -$SQL_log = ereg_replace(';','',$SQL_log); -$SQL_log = addslashes($SQL_log); -$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; -if ($DB) {echo "|$stmt|\n";} -$rslt=mysql_query($stmt, $link); - echo "$header_row$header_columns\r\n"; @@ -499,6 +531,33 @@ while ($i < $leads_to_print) $i++; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +### LOG INSERTION Admin Log Table ### +$SQL_log = "$stmt|$stmtA|"; +$SQL_log = ereg_replace(';','',$SQL_log); +$SQL_log = addslashes($SQL_log); +$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/non_agent_api.php b/agc_2-X/trunk/LANG_www/vicidial_de/non_agent_api.php index a4a8d34e..a59b4ffe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/non_agent_api.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/non_agent_api.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed as an API(Application Programming Interface) to allow # other programs to interact with all non-agent-screen VICIDIAL functions @@ -65,10 +65,20 @@ # 120213-1613 - Added optional logging of all non-admin.php requests, enabled in options.php # 120315-1537 - Added filter for single-quotes and backslashes on custom field data # 120326-1317 - Added agent_stats_export function +# 120810-0859 - Added add_group_alias function, altered agent_stats_export function +# 120831-1529 - Added vicidial_dial_log outbound call logging +# 120912-2042 - Added user_group_status and in_group_status functions +# 120913-1255 - Added update_log_entry function +# 121116-1938 - Added state call time restrictions to add_lead hopper insert function +# 121125-2210 - Added Other Campaign DNC option and list expiration date option +# 130328-0949 - Added update_phone_number option to update_lead function, issue #653 +# 130405-1539 - Added agent_status function +# 130414-0311 - Added report logging for blind_monitor function +# 130420-1938 - Added NANPA prefix validation and timezone options # -$version = '2.4-43'; -$build = '120326-1317'; +$version = '2.6-53'; +$build = '130420-1938'; $api_url_log = 0; $startMS = microtime(); @@ -88,6 +98,8 @@ if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["update_phone_number"])) {$update_phone_number=$_GET["update_phone_number"];} + elseif (isset($_POST["update_phone_number"])) {$update_phone_number=$_POST["update_phone_number"];} if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} @@ -298,6 +310,26 @@ if (isset($_GET["datetime_end"])) {$datetime_end=$_GET["datetime_end"];} elseif (isset($_POST["datetime_end"])) {$datetime_end=$_POST["datetime_end"];} if (isset($_GET["time_format"])) {$time_format=$_GET["time_format"];} elseif (isset($_POST["time_format"])) {$time_format=$_POST["time_format"];} +if (isset($_GET["group_alias_id"])) {$group_alias_id=$_GET["group_alias_id"];} + elseif (isset($_POST["group_alias_id"])) {$group_alias_id=$_POST["group_alias_id"];} +if (isset($_GET["group_alias_name"])) {$group_alias_name=$_GET["group_alias_name"];} + elseif (isset($_POST["group_alias_name"])) {$group_alias_name=$_POST["group_alias_name"];} +if (isset($_GET["caller_id_number"])) {$caller_id_number=$_GET["caller_id_number"];} + elseif (isset($_POST["caller_id_number"])) {$caller_id_number=$_POST["caller_id_number"];} +if (isset($_GET["caller_id_name"])) {$caller_id_name=$_GET["caller_id_name"];} + elseif (isset($_POST["caller_id_name"])) {$caller_id_name=$_POST["caller_id_name"];} +if (isset($_GET["user_groups"])) {$user_groups=$_GET["user_groups"];} + elseif (isset($_POST["user_groups"])) {$user_groups=$_POST["user_groups"];} +if (isset($_GET["in_groups"])) {$in_groups=$_GET["in_groups"];} + elseif (isset($_POST["in_groups"])) {$in_groups=$_POST["in_groups"];} +if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} + elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_GET["nanpa_ac_prefix_check"];} + elseif (isset($_POST["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_POST["nanpa_ac_prefix_check"];} header ("Content-type: text/html; charset=utf-8"); @@ -327,6 +359,7 @@ if ($non_latin < 1) $format = ereg_replace("[^0-9a-zA-Z]","",$format); $list_id = ereg_replace("[^0-9]","",$list_id); $phone_code = ereg_replace("[^0-9]","",$phone_code); + $update_phone_number=ereg_replace("[^A-Z]","",$update_phone_number); $phone_number = ereg_replace("[^0-9]","",$phone_number); $vendor_lead_code = ereg_replace(";","",$vendor_lead_code); $vendor_lead_code = ereg_replace("\+"," ",$vendor_lead_code); @@ -442,6 +475,16 @@ if ($non_latin < 1) $datetime_start = ereg_replace("[^- \+\:\_0-9]","",$datetime_start); $datetime_end = ereg_replace("[^- \+\:\_0-9]","",$datetime_end); $time_format = ereg_replace("[^A-Z]","",$time_format); + $group_alias_id = ereg_replace("[^\_0-9a-zA-Z]","",$group_alias_id); + $group_alias_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$group_alias_name); + $caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); + $caller_id_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$caller_id_name); + $user_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$user_groups); + $in_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$in_groups); + $call_id = ereg_replace("[^0-9a-zA-Z]","",$call_id); + $group = ereg_replace("[^-\|\_0-9a-zA-Z]","",$group); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $nanpa_ac_prefix_check = ereg_replace("[^A-Z]","",$nanpa_ac_prefix_check); } else { @@ -451,6 +494,7 @@ else } $USarea = substr($phone_number, 0, 3); +$USprefix = substr($phone_number, 3, 3); if (strlen($hopper_priority)<1) {$hopper_priority=0;} if ($hopper_priority < -99) {$hopper_priority=-99;} if ($hopper_priority > 99) {$hopper_priority=99;} @@ -535,7 +579,7 @@ if ($function == 'version') ################################################################################ if ($function == 'sounds_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; if ($DB>0) {echo "DEBUG: sounds_list query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -556,10 +600,11 @@ if ($function == 'sounds_list') if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} $admDIR = "$HTTPprotocol$server_name:$server_port"; + $admin_web_dir=''; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### - $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory FROM system_settings;"; + $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory,admin_web_directory FROM system_settings;"; $rslt=mysql_query($stmt, $link); $ss_conf_ct = mysql_num_rows($rslt); if ($ss_conf_ct > 0) @@ -569,6 +614,9 @@ if ($function == 'sounds_list') $sounds_central_control_active = $row[1]; $sounds_web_server = $row[2]; $sounds_web_directory = $row[3]; + $admin_web_directory = $row[4]; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} } ##### END SETTINGS LOOKUP ##### ########################################### @@ -631,7 +679,7 @@ if ($function == 'sounds_list') if (eregi('tab',$format)) {echo "$k\t$file_names[$m]\t$file_dates[$m]\t$file_sizes[$m]\t$file_epoch[$m]\n";} if (eregi('link',$format)) - {echo "$file_names[$m]
    \n";} + {echo "$file_names[$m]
    \n";} if (eregi('selectframe',$format)) { if ($sf < 1) @@ -674,7 +722,7 @@ if ($function == 'sounds_list') echo "
    $file_names[$m]$file_dates[$m]$file_sizes[$m]PLAY
    PLAY
    \n"; + echo ""; +//SELECT campaign_id,campaign_name from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name"; +// echo $stmt="SELECT conf_exten,server_ip,extension from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + + echo "
    VICIDIAL QUALITY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    Kampagnen-IDCAMPAIGN NAMEQC STATUSESÄNDERN Sie
    $row[0] $row[1] $row[2]ÄNDERN Sie
    \n"; +} +###################### +# ADD=881 VIEW one qc campaign +###################### +if (($ADD==881) && ($qc_auth=='1')) { + echo " + + + 1) { + ?> +> + + +> + + +> + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include01.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include01.php new file mode 100644 index 00000000..4cbe0593 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include01.php @@ -0,0 +1,16 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include02.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include02.php new file mode 100644 index 00000000..7be1e7fd --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include02.php @@ -0,0 +1,17 @@ + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_status_codes_include.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_status_codes_include.php new file mode 100644 index 00000000..f1d52a5b --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_status_codes_include.php @@ -0,0 +1,140 @@ +"; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    QK-Status-Code nicht ADDED- Es gibt bereits eine qc Status Code in das System mit diesem Namen: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    QK-Status-Code nicht ADDED- Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
    Code muss zwischen 1 und 8 Zeichen lang sein\n"; + echo "
    Code-Name muss zwischen 2 und 30 Zeichen lang sein\n"; + } + else + { + echo "
    QK-Status-Code hinzuzufügen:$code_name - $code\n"; + if (isset($_POST["qc_category"])) {$qc_category=$_POST["qc_category"];} + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) values('$code','$code_name','$qc_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111111; + } + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) + { + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + if ( ($SSadmin_modify_erfrischen > 1) and ($modify_erfrischen_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=341111111111111"; + $modify_footer_erfrischen=1; + } + echo "
    \n"; + echo ""; + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' and campaign_id='$campaign_id' limit 1"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + $o++; + } + $qc_status_list=substr($row[2],0,strlen($row[2])-2); + + echo "
    $campaign_id - {$row[1]} - Qualitätskontrolle Queue
    QC statuses: $qc_status_list\n"; + + $qc_statuses=explode(' ',$qc_status_list); + echo "
    \n"; + foreach ( $qc_statuses as $qc_status ) { + $stmt="SELECT lead_id,first_name,last_name,modify_date,user from vicidial_list inner join vicidial_lists on vicidial_list.list_id=vicidial_lists.list_id where campaign_id='$campaign_id' and status='$qc_status' order by status, modify_date"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + if($o==0){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + $lead_name=trim($row[1].' '.$row[2]); + $lead_nameENC=urlencode($lead_name); + if (strlen($lead_name)<1) $lead_name='No Name'; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + } + echo "
    $qc_status ($vicidialconf_to_print)LEAD IDNAMELast ModifiedUserID
      $row[0]$lead_name $row[3]$row[4]
    \n"; +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include02.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include02.php new file mode 100644 index 00000000..f745c31d --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_include02.php @@ -0,0 +1,34 @@ + 1 and active='Y' and qc_enabled='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$qc_auth=$row[0]; +//Not "qc_" as it will interfere with ADD=4A storage of modified user. +if ($qc_auth=='1') { + $qcuser_level=$row[1]; + $qcpass=$row[2]; + $qcfinish=$row[3]; + $qccommit=$row[4]; +} +//Ändernmenuing to allow qc users into the system (if they have no permission otherwise) +//Copied Berichte-Only user setup for QC-Only user (Poundteam QC setup) +$qc_only_user=0; +if ( ($qc_auth > 0) and ($auth < 1) ) + { + if ($ADD != '881'){ + $ADD=100000000000000; + } + $qc_only_user=1; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_modify_lead_include.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_modify_lead_include.php new file mode 100644 index 00000000..47747751 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_modify_lead_include.php @@ -0,0 +1,20 @@ + 0) + { + echo "

    Click here to QC Ändernthis lead\n"; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_variables.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_variables.php new file mode 100644 index 00000000..f99255fb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_admin_variables.php @@ -0,0 +1,15 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Stadt'; +$label_state = 'State'; +$label_province = 'Provinz'; +$label_postal_code = 'Postcode'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Geschlecht'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Anmerkungen'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} +include('QC_call_client_include.php'); +$qc_user_logged_in=is_user_logged_in($PHP_AUTH_USER); +if ($qc_user_logged_in===true){ + echo "Call Lead"; +} else { + echo "$qc_user_logged_in"; +} +echo " Refresh"; + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_call_client_include.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_call_client_include.php new file mode 100644 index 00000000..02ea1866 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_call_client_include.php @@ -0,0 +1,45 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include.php new file mode 100644 index 00000000..5e3df301 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/QC_header_include.php @@ -0,0 +1,42 @@ + + + +
    > + SIZE=> Qualitätskontrolle +
      + > Show QC Kampagnen +
      + > Enter QC Queue +
      + > ÄndernQC Codes +
      Qualitätskontrolle  
    "; + $alts_output .= ""; + $alts_output .= ""; + $alts_output .= "\n"; + $alts_output .= "\n"; + $alts_output .= "\n"; + } + + } + else + { + echo "Leitung Nachschlagen FIEL für lead_id aus $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + ##### grab vicidial_log records ##### + $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + if($DB) echo __LINE__."
    \n"; + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= ""; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select agent_log_id,user,server_ip,event_time,lead_id,campaign_id,pause_epoch,pause_sec,wait_epoch,wait_sec,talk_epoch,talk_sec,dispo_epoch,dispo_sec,status,user_group,comments,sub_status from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_qc_agent_log records ##### + //Differentiate between View and Mod + $stmt="select * from vicidial_qc_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by qc_agent_log_id desc limit 100;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo "$stmt
    \n"; + $y=0; + $qc_agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_assoc($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + if (strlen($row['save_epoch'])=='0'){ //VIEW ONLY record + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } else { // CHANGE record + $detailtooltip=str_replace("\n", " ", $row['details']); // tool tip line break and both work in IE, but not firefox. + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } + } + + ##### grab vicidial_closer_log records ##### + $stmt="select closecallid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,queue_seconds,user_group,xfercallid,term_reason,uniqueid,agent_only from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$lead_id = $row[0];} + $dispo = $row[3]; + $tsr = $row[4]; + $vendor_id = $row[5]; + $list_id = $row[7]; + $gmt_offset_now = $row[8]; + $phone_code = $row[10]; + $phone_number = $row[11]; + $title = $row[12]; + $first_name = $row[13]; + $middle_initial = $row[14]; + $last_name = $row[15]; + $address1 = $row[16]; + $address2 = $row[17]; + $address3 = $row[18]; + $city = $row[19]; + $state = $row[20]; + $province = $row[21]; + $postal_code = $row[22]; + $country_code = $row[23]; + $gender = $row[24]; + $date_of_birth = $row[25]; + $alt_phone = $row[26]; + $email = $row[27]; + $security = $row[28]; + $comments = $row[29]; + $called_count = $row[30]; + $last_local_call_time = $row[31]; + $rank = $row[32]; + $owner = $row[33]; + $entry_list_id = $row[34]; + + if($DB) { + echo __LINE__."\n"; + } + echo "
    Anrufinformationen: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "VICIDIAL QC-Status-Codes mit Hilfe dieses Systems:  $NWB#vicidial_qc_status_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
    STATUS CODEBESCHREIBUNGQC KATEGORIEMODIFY/DELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    $rowx[2]         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "LÖSCHUNG\n"; + } + else + { + echo "LÖSCHUNG\n"; + } + echo "
    \n"; + + echo "
    Neue QC-Statuscode
    \n"; + echo "\n"; + echo "Status:   \n"; + echo "Beschreibung: \n"; + echo "QC Kategorie:
    \n"; + + echo "

    \n"; + + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/audit_comments.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/audit_comments.php new file mode 100644 index 00000000..1876e600 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditAnmerkungen2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditAnmerkungen3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditAnmerkungen4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditAnmerkungenERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditAnmerkungen5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditAnmerkungen:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditAnmerkungen',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditAnmerkungen $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditAnmerkungen UserID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UserID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditAnmerkungen Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_api.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_api.php new file mode 100644 index 00000000..b62c5f20 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_api.php @@ -0,0 +1,627 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$ingroup_choices = ereg_replace("\+"," ",$ingroup_choices); +$query_string = ereg_replace("'|\"|\\\\|;","",$query_string); + +if ($non_latin < 1) + { + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $agent_user=ereg_replace("[^0-9a-zA-Z]","",$agent_user); + $function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); + $value = ereg_replace("[^-\_0-9a-zA-Z]","",$value); + $vendor_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vendor_id); + $focus = ereg_replace("[^-\_0-9a-zA-Z]","",$focus); + $preview = ereg_replace("[^-\_0-9a-zA-Z]","",$preview); + $notes = ereg_replace("\+"," ",$notes); + $notes = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$notes); + $phone_code = ereg_replace("[^0-9X]","",$phone_code); + $search = ereg_replace("[^-\_0-9a-zA-Z]","",$search); + $group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); + $dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); + $source = ereg_replace("[^0-9a-zA-Z]","",$source); + $format = ereg_replace("[^0-9a-zA-Z]","",$format); + $vtiger_callback = ereg_replace("[^A-Z]","",$vtiger_callback); + $blended = ereg_replace("[^A-Z]","",$blended); + $ingroup_choices = ereg_replace("[^ -\_0-9a-zA-Z]","",$ingroup_choices); + $set_as_default = ereg_replace("[^A-Z]","",$set_as_default); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $address1 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address1); + $address2 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address2); + $address3 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address3); + $alt_phone = ereg_replace("[^ -\_0-9a-zA-Z]","",$alt_phone); + $city = ereg_replace("[^ -\_0-9a-zA-Z]","",$city); + $comments = ereg_replace("[^ -\_0-9a-zA-Z]","",$comments); + $country_code = ereg_replace("[^A-Z]","",$country_code); + $date_of_birth = ereg_replace("[^ -\_0-9]","",$date_of_birth); + $email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); + $first_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$first_name); + $gender = ereg_replace("[^A-Z]","",$gender); + $gmt_offset_now = ereg_replace("[^ \.-\_0-9]","",$gmt_offset_now); + $last_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$last_name); + $lead_id = ereg_replace("[^0-9]","",$lead_id); + $middle_initial = ereg_replace("[^ -\_0-9a-zA-Z]","",$middle_initial); + $province = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$province); + $security_phrase = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$security_phrase); + $source_id = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$source_id); + $state = ereg_replace("[^ -\_0-9a-zA-Z]","",$state); + $title = ereg_replace("[^ -\_0-9a-zA-Z]","",$title); + $vendor_lead_code = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$vendor_lead_code); + $rank = ereg_replace("[^-0-9]","",$rank); + $owner = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$owner); + $dial_override = ereg_replace("[^A-Z]","",$dial_override); + $consultative = ereg_replace("[^A-Z]","",$consultative); + } +else + { + $user = ereg_replace("'|\"|\\\\|;","",$user); + $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $source = ereg_replace("'|\"|\\\\|;","",$source); + $agent_user = ereg_replace("'|\"|\\\\|;","",$agent_user); + $alt_user = ereg_replace("'|\"|\\\\|;","",$alt_user); + } + +### date and fixed variables +$epoch = date("U"); +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$api_script = 'agent'; +$api_logging = 1; +if ($consultative != 'YES') {$consultative='NO';} + + +################################################################################ +### BEGIN - version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "VERSION: $version|BAU: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } +################################################################################ +### END - version +################################################################################ + + + + + +################################################################################ +### BEGIN - user validation section (most functions run through this first) +################################################################################ + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + $result = 'ERROR'; + $result_reason = "Unzulässiges Username/Password"; + echo "$result: $result_reason: |$user|$pass|$auth|\n"; + $data = "$user|$pass|$auth"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from system_settings where vdc_agent_api_active='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + $result = 'ERROR'; + $result_reason = "System API NOT ACTIVE"; + echo "$result: $result_reason\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + # do nothing for now + } + } + } + } + +if ($format=='debug') + { + $DB=1; + echo "\n"; + echo "\n"; + echo "";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_dial function set"; + $data = "$phone_code|$search|$preview|$focus|$vendor_id|$epoch|$dial_prefix|$group_alias|$caller_id_number"; + echo "$result: Dispo in Agent Screen FIRST.\n"; + // echo "$result: $result_reason - $value|$agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not allowed to place manual dial calls"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not paused"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + +// external_dial +################################################################################ +### END - external_dial +################################################################################ + + + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + + +##### FUNCTIONS ##### + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) + { + if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } + return 1; + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_modify_lead.php b/agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_modify_lead.php new file mode 100644 index 00000000..fa65dd19 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_de/qc/qc_modify_lead.php @@ -0,0 +1,1294 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads,user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + $LOGuser_group =$row[2]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Stadt'; +$label_state = 'State'; +$label_province = 'Provinz'; +$label_postal_code = 'Postcode'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Geschlecht'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Anmerkungen'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} + + +//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + +$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; +$rslt=mysql_query($stmt, $link); +if (mysql_num_rows ($rslt) < '1' ){ + if($DB) { echo "$stmt\n"; } + exit(); + } +$row=mysql_fetch_assoc($rslt); +$original_record=$row; +$campaign_id =$row['campaign_id']; +$campaign_name =$row['campaign_name']; +$phone_number =$row['phone_number']; +$phone_code =$row['phone_code']; +$lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); +$scheduled_callback =$row['scheduled_callback']; + +?> + + + +QC ÄndernLead: <?php echo "$lead_id - ".urldecode($lead_name).urldecode(" (Kampagne: $campaign_id - $campaign_name)"); ?> + + + + + +QC CAMPAIGN $campaign_id: Lead $lead_id - ".urldecode($lead_name)."
    \n"; +//end_call is set by submit button to denote "save", without it this is a VIEW, with it this is a SAVE +if ($end_call > 0) { + if($DB) { echo __LINE__."\n"; } + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',title='" . mysql_real_escape_string($title) . "',first_name='" . mysql_real_escape_string($first_name) . "',middle_initial='" . mysql_real_escape_string($middle_initial) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',rank='" . mysql_real_escape_string($rank) . "',owner='" . mysql_real_escape_string($owner) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + //STATUS just changed, re-capture all data for client! + //Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + $stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; + if($DB) { echo "$stmt\n"; } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_assoc($rslt); + //QUALITY CONTROL CHANGE LOG BEGIN - CHANGE VERSION (VIEW VERSION IS BELOW, WHICH CREATES THE RECORD, THIS ONE MERELY MODIFIES THE EXISTING RECORD) + $new_record=$row; + //if status has changed, the join query above will have the "status" field of "vicidial_list" overwritten by the status field of "vicidial_statuses" ... which will be EMPTY if there is no matching status to the new QC status chosen. This will cause the changelog to be incorrect. + if ( strlen($new_record['status']) == '0' ) { + $new_record['status']=$new_record['code']; + } + + if($original_record != $new_record) { + //Information changed: Find out what and record it, first disable "view" logging + $qcchange='Y'; + $qcchangelist=''; + $qcchangecounter=0; + foreach($original_record as $key=>$value){ + //only list the changes in the first 35 fiels, those are from the vicidial_list table (the rest are from joined tables, and the changes cascade) + if(($new_record[$key]!=$value)&&($qcchangecounter<=35)) $qcchangelist.="----$key----\n$value => $new_record[$key]\n"; + $qcchangecounter++; + } + ### insert a NEW record to the vicidial_closer_log table + $qcchangelist=mysql_real_escape_string($qcchangelist); + $view_epoch = ereg_replace("[^0-9]","",$_POST['viewtime']); + $elapsed_seconds=$STARTtime-$view_epoch; + + $stmt="UPDATE vicidial_qc_agent_log set save_datetime='$NOW_TIME',save_epoch='$STARTtime',elapsed_seconds='$elapsed_seconds',old_status='{$original_record['status']}',new_status='{$new_record['status']}',details='$qcchangelist' + where view_epoch='$view_epoch' and lead_id='$lead_id'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL CHANGE LOG END + $original_sales_rep=$row['user']; + $campaign_id =$row['campaign_id']; + $campaign_name =$row['campaign_name']; + $lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); + $scheduled_callback =$row['scheduled_callback']; + + echo "
    Informationen geändert

    \n"; + echo "Go back to re-modify this QC lead


    \n"; + echo "
    Proceed to QC CAMPAIGN $campaign_id Queue

    Callback Information:\n"; + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if($DB) { + echo __LINE__."\n"; + } + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='ANYONE',status='ACTIVE',user='$PHP_AUTH_USER',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + //This entry creates the callback + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='USERONLY',status='ACTIVE',user='$original_sales_rep',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + $debug1=$stmt; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + if($DB) echo __LINE__."\n"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + } else { + echo "\n"; + //Not a "Submit" result, viewing the record (possibly with URL options such as those below which modify callback status but not record data) + if ($CBchangeUSERtoANY == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an ANYONE callback for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to ANYONE
    \n"; + $qcchange='Y'; + } + if ($CBchangeUSERtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to a different USERONLY callback record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeANYtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an USERONLY callback for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeDATE == 'YES') { + if($DB) echo __LINE__."\n"; + ### change date/time of vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set callback_time='" . mysql_real_escape_string($appointment_date) . " " . mysql_real_escape_string($appointment_time) . "',comments='" . mysql_real_escape_string($comments) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to $appointment_date $appointment_time
    \n"; + $qcchange='Y'; + } + //QUALITY CONTROL LOGGING BEGIN - VIEW ONLY + //If no changes have been made, record "view" of this record. + if ($qcchange != 'Y') { + if($DB) echo __LINE__."\n QCCHANGE != Y"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_qc_agent_log (qc_user,qc_user_group,qc_user_ip,lead_user,web_server_ip,view_datetime,view_epoch,lead_id,list_id,campaign_id,processed) + values('" . mysql_real_escape_string($PHP_AUTH_USER) . "','$LOGuser_group','{$_SERVER['REMOTE_ADDR']}','{$original_record['user']}','{$_SERVER['SERVER_ADDR']}','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($original_record['list_id']) . "','" . mysql_real_escape_string($campaign_id) . "','N')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL LOGGING END + if($DB) echo __LINE__."\n"; + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + if($DB) echo __LINE__."\n"; + ##### grab vicidial_list_alt_phones records ##### + $stmt="select phone_code,phone_number,alt_phone_note,alt_phone_count,active from vicidial_list_alt_phones where lead_id='" . mysql_real_escape_string($lead_id) . "' order by alt_phone_count limit 500;"; + $rslt=mysql_query($stmt, $link); + $alts_to_print = mysql_num_rows($rslt); + + $c=0; + $alts_output = ''; + while ($alts_to_print > $c) + { + if($DB) { + echo __LINE__."\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $c)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $c++; + $alts_output .= "
    $c$row[0] $row[1] $row[2] $row[3] $row[4]
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]   $row[10]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y{$row['view_datetime']}View Only - No changes{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}  
    $y{$row['view_datetime']}{$row['old_status']}{$row['new_status']}{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}{$row['elapsed_seconds']} DETAILS
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $stmt="SELECT user_id, timestamp, list_id, campaign_id, comment from vicidial_comments where lead_id='$lead_id' order by timestamp"; + $rslt=mysql_query($stmt, $link); + $row_count = mysql_num_rows($rslt); + $o=0; + $comments=false; + while ($row_count > $o) + { + if (!$comments) { + echo "\n"; + $comments=true; + } + $rowx=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + if ($comments) { + echo "\n"; + } + echo "\n"; + +// Section Modified for QC Functionality By PoundTeam +// echo "\n"; +// echo "\n"; +// echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    $label_vendor_lead_code: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     Liste Identifikation: $list_id     Called Count: $called_count
    $label_title:   \n"; + echo "$label_first_name:
    $label_middle_initial:   \n"; + echo " $label_last_name:
    $label_address1 :
    $label_address2 :
    $label_address3 :
    $label_city :
    $label_state:   \n"; + echo " $label_postal_code:
    $label_province :
    $label_phone_number :
    $label_phone_code :
    $label_alt_phone :
    $label_email :
    $label_security_phrase :
    Rank :
    Owner :
    $label_comments :
    Comment History
    $rowx[0] :
    $rowx[1]
    Liste Identifikation: $rowx[2]; Kampagne Identifikation: $rowx[3]
    $rowx[4]

    QC Result: (with $list_campaign statuses)
    Ändernvicidial log
    Ändernagent log
    Änderncloser log
    Disable QC log entry (this feature is not active yet)
    \n"; + echo "


    \n"; + + echo "
    \n"; + echo "Callback Details:
    \n"; + //Added scheduled_callback regular statuses option + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') || $scheduled_callback=='Y' ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id,lead_id,list_id,campaign_id,status,entry_time,callback_time,modify_date,user,recipient,comments,user_group from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

    \n"; + } + + $appointment_datetimeARRAY = explode(" ",$rowx[6]); + $appointment_date = $appointment_datetimeARRAY[0]; + $appointment_timeARRAY = explode(":",$appointment_datetimeARRAY[1]); + $appointment_hour = $appointment_timeARRAY[0]; + $appointment_min = $appointment_timeARRAY[1]; + + + ?> + +
    +
    Change Scheduled Callback Date:
    + + + + + + + + + + + + + +
    + > + + + + +
    CallBack Date/Time: + + +     + + : + + +
    + Anmerkungen: + + +
    + + + + +
    +
    + + No Callback records found
    \n"; + } + + } + else + { + if($DB) { + echo __LINE__."\n"; + } + //Modifed text to allow for other than CBHOLD via custom statuses with scheduled callback chosen + echo "
    If you want to change this lead to a scheduled callback, first change the Disposition to CBHOLD or similar, then submit and you will be able to set the callback date and time.
    \n"; + } + echo "
    \n"; + + echo "

    \n"; + + echo "
    \n"; + + if ($c > 0) + { + if($DB) { + echo __LINE__."\n"; + } + echo "EXTENDED alternative Rufnummern FÜR DIESES LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$alts_output\n"; + + echo "
    # ALT PHONE ALT NOTE ALT COUNT ACTIVE
    \n"; + echo "

    \n"; + } + + + + ### iframe for custom fields display/editing + if ($custom_fields_enabled > 0) + { + $CLlist_id = $list_id; + if (strlen($entry_list_id) > 2) + {$CLlist_id = $entry_list_id;} + $stmt="ZeigeTABELLES LIKE \"custom_$CLlist_id\";"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $tablecount_to_print = mysql_num_rows($rslt); + if ($tablecount_to_print > 0) + { + $stmt="SELECT count(*) from custom_$CLlist_id where lead_id='$lead_id';"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $fieldscount_to_print = mysql_num_rows($rslt); + if ($fieldscount_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $custom_records_count = $rowx[0]; + + echo "CUSTOM Felder für diesen LEAD:
    \n"; + echo "\n"; + echo "

    "; + } + } + } + + + echo "ANRUFE ZU DIESEM LEITUNG:\n"; + echo "\n"; + echo "\n"; + + echo "$call_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR KAMPAGNE LIST LEAD HANGUP REASON PHONE
    \n"; + echo "

    \n"; + + echo "CLOSER RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$closer_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR KAMPAGNE LIST LEAD WAIT HANGUP REASON
    \n"; + echo "

    \n"; + + + echo "MITTELLOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$agent_log\n"; + echo "
    # DATE/TIME CAMPAIGN TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; + echo "

    \n"; + echo "QUALITY CONTROL LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + echo "$qc_agent_log\n"; + echo "
    # DATE/TIME OLD STATUSNEW STATUSQC USERAGENTCAMPAIGNLISTELAPSED 
    \n"; + echo "

    \n"; + + echo "RECORDINGS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + $stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if ($DB) {echo "$logs_to_print|$stmt|\n";} + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if ( (eregi("ftp",$location)) or (eregi("http",$location)) ) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + + echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]


    \n"; + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 9 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $admin_display=$row[0]; + if ($admin_display > 0) + { + echo "Click here to see Lead Ändernchanges to this lead\n"; + } + + echo "\n"; + } + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nIndexlaufzeit: $RUNtime seconds
    "; + + +?> + + + + + +original_record:
    "; + print_r($original_record); + echo "
    new_record:
    "; + print_r($new_record); + echo "scheduled_callback:
    "; + print_r($scheduled_callback); + echo "debug1:
    "; + print_r($debug1); + echo "Post:
    "; + print_r($_POST); + echo "qcchangelist:
    "; + print_r($qcchangelist); + echo "
    "; +} +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/realtime_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/realtime_report.php index b143d69a..9332f963 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/realtime_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/realtime_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -20,10 +20,14 @@ # 110516-2128 - IE fix # 110526-1807 - Added webphone_auto_answer option # 120223-1917 - Added multi-user-group options +# 121129-2131 - Fixed Choose link position +# 130414-0247 - Added report logging # -$version = '2.4-9'; -$build = '120223-1917'; +$startMS = microtime(); + +$version = '2.6-11'; +$build = '130414-0247'; header ("Content-type: text/html; charset=utf-8"); @@ -112,15 +116,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $webphone_width = '460'; $webphone_height = '500'; $webphone_left = '600'; @@ -269,6 +264,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$groups[0]|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + if ($auth) { $office_no=strtoupper($PHP_AUTH_USER); @@ -1400,9 +1424,9 @@ echo "\n-->\n $stmt = "select count(*) from vicidial_campaigns where active='Y' and campaign_allow_inbound='Y' $group_SQLand;"; $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - $campaign_allow_inbound = $row[0]; +if ($DB) {echo "$stmt\n";} +$row=mysql_fetch_row($rslt); +$campaign_allow_inbound = $row[0]; echo "\n"; echo "$report_name: $group\n"; @@ -1437,12 +1461,12 @@ echo "\n"; #echo "\n"; echo "Real-Time Report                                                                               \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo "Wählen Sie Report anzeigen Optionen"; echo "
    \n"; echo "
    \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo ""; echo "
    \n"; @@ -1517,6 +1541,24 @@ echo "\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/send_CID_call.php b/agc_2-X/trunk/LANG_www/vicidial_de/send_CID_call.php index 8549f6a3..521faf42 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/send_CID_call.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/send_CID_call.php @@ -3,11 +3,13 @@ # # Send calls with custom callerID numbers from web form # -# Copyright (C) 2009 Matt Florell LICENSE: GPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: GPLv2 # # CHANGES # # 90714-1355 - First Build +# 120831-1527 - Added vicidial_dial_log logging +# 130414-0039 - Added admin logging # require("dbconnect.php"); @@ -55,6 +57,7 @@ $auth=$row[0]; $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); +$ip = getenv("REMOTE_ADDR"); ?> @@ -123,6 +126,17 @@ else if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='TESTCIDCALL098765432',lead_id='0',server_ip='$server_ip',call_date='$NOW_TIME',extension='91$receiver',channel='Local/91$sender$Local_end',timeout='$Local_dial_timeout',outbound_cid='\"$cid_number\" <$cid_number>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='CIDSEND', event_type='OTHER', record_id='$PHP_AUTH_USER', event_code='ADMIN SEND CID CALL', event_sql=\"$SQL_log\", event_notes='Server: $server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Call sent from $sender to $receiver using CIDnumber: $cid_number"; } diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_report.php b/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_report.php index 53da7a25..1ed78877 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -18,8 +18,11 @@ # 110703-1830 - Added download option # 111104-1314 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0150 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); ##### Pull values from posted form variables ##### @@ -73,15 +76,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -106,6 +100,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -530,13 +553,31 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_status.php b/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_status.php index 2e403878..a294cb82 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/timeclock_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,10 +15,13 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1833 - Added download option # 111104-1315 - Added user_group restrictions for selecting in-groups +# 130414-0152 - Added report logging # #header ("Content-type: text/html; charset=utf-8"); +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +67,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -113,6 +107,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,26 @@ if (strlen($user_group) < 1) echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -467,10 +510,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { header ("Content-type: text/html; charset=utf-8"); echo "$HEADER"; @@ -478,6 +519,24 @@ if ($file_download > 0) echo "$MAIN"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); exit; @@ -598,7 +657,25 @@ $MAIN.="
    \n"; $MAIN.="\n"; $MAIN.="\n"; - +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/user_stats.php b/agc_2-X/trunk/LANG_www/vicidial_de/user_stats.php index 5abcac7d..324267b3 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/user_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/user_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -34,8 +34,12 @@ # 111103-1050 - Added admin_hide_phone_data and admin_hide_lead_data options # 111106-1105 - Added user_group restrictions # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 121222-2152 - Added email log display +# 130124-1740 - Added option to display first and last name of lead +# 130414-0146 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -44,9 +48,15 @@ require("functions.php"); $report_name = 'User-Statistiken'; $db_source = 'M'; +$firstlastname_display_user_stats=0; +if (file_exists('options.php')) + { + require('options.php'); + } + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -59,19 +69,11 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $user_territories_active = $row[4]; $webroot_writable = $row[5]; + $allow_emails = $row[6]; } ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; @@ -130,6 +132,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -641,12 +672,27 @@ if ($did < 1) ##### vicidial agent outbound calls for this time period ##### $MAIN.="OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; - $MAIN.="
    \n"; - $MAIN.="\n"; + $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE KAMPAGNE GROUP LIST LEAD HANGUP REASON
    \n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } + else + { + $MAIN.="\n"; + } $CSV_text5.="\"OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; - $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + if ($firstlastname_display_user_stats > 0) + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n";} + else + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n";} $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + if ($firstlastname_display_user_stats > 0) + { + $stmt="select uniqueid,vlog.lead_id,vlog.list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,vlog.status,vlog.phone_code,vlog.phone_number,vlog.user,vlog.comments,processed,user_group,term_reason,alt_dial,first_name,last_name from vicidial_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + if ($DB) {$MAIN.="outbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -687,27 +733,108 @@ if ($did < 1) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } $MAIN.="\n"; - $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[17] $row[18]\",\"$row[15]\"\n"; + } + else + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + } } $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE KAMPAGNE GROUP LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE KAMPAGNE GROUP LIST LEAD HANGUP REASON
    $row[14] $row[2] $row[1] $row[17] $row[18] $row[15]


    \n"; } + ##### vicidial agent outbound emails for this time period ##### + + if ($allow_emails>0) + { + $MAIN.="OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; + $MAIN.="\n"; + $MAIN.="\n"; + $CSV_text5.="\"OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; + $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"USER\",\"CAMPAIGN\",\"EMAIL TO\",\"ATTACHMENT\",\"LEAD\",\"MESSAGE\"\n"; + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where user='" . mysql_real_escape_string($user) . "' and email_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and email_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by email_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + + $CSV_text5.="\"\",\"$u\",\"$row[3]\",\"$row[4]\",\"$row[7]\",\"$row[5]\",\"$row[8]\",\"$row[2]\",\"$row[6]\"\n"; + } + + + $MAIN.="
    # DATE/TIME USER KAMPAGNE EMAIL TO ATTACHMENTS LEAD
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]   $row[2]
      MESSAGE: $row[6]


    \n"; + } + ##### vicidial agent inbound calls for this time period ##### $MAIN.="INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; $MAIN.="\n"; -$MAIN.="\n"; +if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } +else + { + $MAIN.="\n"; + } $CSV_text6.="\"INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; -$CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; +if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n"; + } +else + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + } $stmt="select call_date,length_in_sec,status,phone_number,campaign_id,queue_seconds,list_id,lead_id,term_reason from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; if ($did > 0) { $stmt="select start_time,length_in_sec,0,caller_code,0,0,0,extension,0 from call_log where channel_group='DID_INBOUND' and number_dialed='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by start_time desc limit 10000;"; } +else + { + if ($firstlastname_display_user_stats > 0) + { + $stmt="select call_date,length_in_sec,vlog.status,vlog.phone_number,campaign_id,queue_seconds,vlog.list_id,vlog.lead_id,term_reason,first_name,last_name from vicidial_closer_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + } +if ($DB) {$MAIN.="inbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -768,8 +895,17 @@ while ($logs_to_print > $u) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + {$MAIN.="\n";} $MAIN.="\n"; - $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[9] $row[10]\",\"$row[8]\"\n"; + } + else + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + } } $MAIN.=""; @@ -793,6 +929,7 @@ if ($did < 1) $CSV_text7.="\"\",\"#\",\"DATE/TIME\",\"PAUSE\",\"WAIT\",\"TALK\",\"DISPO\",\"DEAD\",\"CUSTOMER\",\"STATUS\",\"LEAD\",\"CAMPAIGN\",\"PAUSE CODE\"\n"; $stmt="select event_time,lead_id,campaign_id,pause_sec,wait_sec,talk_sec,dispo_sec,dead_sec,status,sub_status,user_group from vicidial_agent_log where user='" . mysql_real_escape_string($user) . "' and event_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and ( (pause_sec > 0) or (wait_sec > 0) or (talk_sec > 0) or (dispo_sec > 0) ) order by event_time desc limit 10000;"; + if ($DB) {$MAIN.="agent activity|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -1177,8 +1314,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1186,9 +1321,29 @@ else echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/user_status.php b/agc_2-X/trunk/LANG_www/vicidial_de/user_status.php index 6eca5e9a..c9638774 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/user_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/user_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,10 +20,15 @@ # 110224-2350 - Small QM logout fix # 110420-0344 - Added DEAD/PARK agent statuses # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0252 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); +$report_name='User Status'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -95,6 +100,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } else { + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $stage, $group|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + if($auth>0) { $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; @@ -486,7 +511,26 @@ if ($stage == "log_agent_out") { echo "Agent $user is not logged in
    \n"; } - + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -652,6 +696,25 @@ if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($mod echo "$VDdisplayMESSAGE\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -664,7 +727,7 @@ if ($agents_to_print > 0) echo "       GROUP: $user_group
    \n"; echo "
    # DATE/TIME LENGTH STATUS PHONE KAMPAGNE WAIT (S) MITTEL(S) LIST LEAD HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE KAMPAGNE WAIT (S) MITTEL(S) LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE KAMPAGNE WAIT (S) MITTEL(S) LIST LEAD HANGUP REASON
    $AGENTseconds $row[6] $row[7] $row[9] $row[10] $row[8]
    "; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -768,6 +831,26 @@ echo "|$stage|$group|";   ">US-Territorien - 0) { ?> - diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/voice_lab.php b/agc_2-X/trunk/LANG_www/vicidial_de/voice_lab.php index 2eaaf88c..18c238aa 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/voice_lab.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/voice_lab.php @@ -4,7 +4,7 @@ # This script is designed to broadcast a recorded message or allow a person to # speak to all agents logged into a VICIDIAL campaign. # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES @@ -13,8 +13,13 @@ # 70115-1246 - Added ability to define an exten to play # 90508-0644 - Changed to PHP long tags # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0045 - Added report logging # +$startMS = microtime(); + +$report_name='Voice Lab'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -52,24 +57,24 @@ $local_DEF = 'Local/'; $local_AMP = '@'; $ext_context = 'demo'; - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; $fp = fopen ("./project_auth_entries.txt", "a"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); - if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } - else +else { if($auth>0) { @@ -94,6 +99,26 @@ $browser = getenv("HTTP_USER_AGENT"); $full_name = $row[0]; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + ##### get server listing for dynamic pulldown $stmt="SELECT server_ip,server_description from servers order by server_ip"; @@ -307,6 +332,25 @@ if ($KILL_VOICE_LAB > 1) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/welcome_demo.php b/agc_2-X/trunk/LANG_www/vicidial_de/welcome_demo.php index 81c3bc8f..48a594da 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/welcome_demo.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/welcome_demo.php @@ -62,6 +62,9 @@ echo "   \n"; echo "\n"; +echo "
    Agent Logged in at server:   $Aserver_ip
    Agent Logged in at Server:   $Aserver_ip
    in session:   $Asession_id
    from phone:   $Aextension
    Agent is in campaign:   $Acampaign
      ?action=ADD_TERRITORY">Add Territory   ?action=ADD_USER_TERRITORY">Benutzer hinzufügen Territory   ?action=CHANGE_TERRITORY_OWNER">Change Vtiger Territory Owner
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
  • \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_de/welcome_languages.php b/agc_2-X/trunk/LANG_www/vicidial_de/welcome_languages.php index e00e310e..d94ba3e1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_de/welcome_languages.php +++ b/agc_2-X/trunk/LANG_www/vicidial_de/welcome_languages.php @@ -62,6 +62,9 @@ echo "  
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSER_service_level.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSER_service_level.php index cc722580..903ff0c2 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSER_service_level.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSER_service_level.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,11 @@ # 110703-1756 - Added download option # 111103-2300 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0104 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -69,15 +72,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -99,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -924,7 +947,7 @@ while ($k <= 22) $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; -$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in seconds) | | CALLS HANDLED | | |\n"; +$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (σε δευτερόλεπτα) | | CALLS HANDLED | | |\n"; $ASCII_text.="| 15 MIN INT |$hold_scale| AVG | MAX | |$call_scale| DROPS | TOTAL |\n"; $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; @@ -1280,10 +1303,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { echo "$HEADER"; @@ -1293,6 +1314,26 @@ if ($file_download > 0) } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERstats.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERstats.php index 45f9c644..3cfdf5c0 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERstats.php @@ -1,10 +1,9 @@ LICENSE: AGPLv2 -# -# CHANGES +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 60905-1326 - Added queue time stats @@ -35,8 +34,13 @@ # 111103-0632 - Added MAXCAL as a drop status # 111103-2003 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 120730-0724 - Small fix for HTML output +# 130124-1719 - Added email report support +# 130414-1429 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -57,6 +61,8 @@ if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET[" elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} if (isset($_GET["DID"])) {$DID=$_GET["DID"];} elseif (isset($_POST["DID"])) {$DID=$_POST["DID"];} +if (isset($_GET["EMAIL"])) {$EMAIL=$_GET["EMAIL"];} + elseif (isset($_POST["EMAIL"])) {$EMAIL=$_POST["EMAIL"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} @@ -92,15 +98,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -185,9 +182,16 @@ if (!isset($group)) {$group = '';} if (!isset($query_date)) {$query_date = $NOW_DATE;} if (!isset($end_date)) {$end_date = $NOW_DATE;} -$stmt="select group_id,group_name,8 from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='PHONE' $LOGadmin_viewable_groupsSQL order by group_id;"; if ($DID=='Y') - {$stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;";} + { + $stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; + } +if ($EMAIL=='Y') + { + $stmt="select email_account_id,email_account_name,email_account_id from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + } $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $groups_to_print = mysql_num_rows($rslt); @@ -231,6 +235,37 @@ else } if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $DID, $EMAIL, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&DID=".$DID."&EMAIL=".$EMAIL."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); @@ -286,6 +321,7 @@ $MAIN.="
    \n"; $MAIN.="\n"; +$MAIN.="\n"; $MAIN.="Χρονικό διάστημα:
    \n"; $MAIN.=""; @@ -314,7 +350,9 @@ $MAIN.="// o_cal.a_tpl.weekstart = 1; // Δευτέρα week start\n"; $MAIN.="\n"; $MAIN.="
    \n"; -if ($DID=='Y') +if ($EMAIL=='Y') + {$MAIN.="Email Accts: \n";} +else if ($DID=='Y') {$MAIN.="Inbound DIDs: \n";} else {$MAIN.="Εισερχόμενες Ομάδες: \n";} @@ -372,6 +410,8 @@ $MAIN.="
    \n\n";
     if ($groups_to_print < 1)
     	{
     	$MAIN.="\n\n";
    +	if ($EMAIL=='Y')
    +		{$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK ΕΠΙΒΕΒΑΙΩΣΗ\n";}
     	if ($DID=='Y')
     		{$MAIN.="PLEASE SELECT A DID AND DATE RANGE ABOVE AND CLICK ΕΠΙΒΕΒΑΙΩΣΗ\n";}
     	else
    @@ -402,12 +442,18 @@ if ($shift == 'ALL')
     $query_date_BEGIN = "$query_date $time_BEGIN";   
     $query_date_END = "$end_date $time_END";
     
    +if ($EMAIL=='Y') 
    +	{
    +	$MAIN.="Inbound Email Stats: $group_string          $NOW_TIME        ΛΗΨΗ\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        ΛΗΨΗ\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
     
     
    -$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        ΛΗΨΗ\n";
    -
    -$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    -
     
     if ($DID=='Y')
     	{
    @@ -452,7 +498,14 @@ if ($group_ct > 1)
     
     	$CSV_text1.="\n\"MULTI-GROUP BREAKDOWN:\"\n";
     
    -	if ($DID=='Y')
    +	if ($EMAIL=='Y')
    +		{
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$ASCII_text.="| EMAIL                | EMAILS  | DROPS   | DROP %  | IVR     |\n";
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$CSV_text1.="\"EMAIL\",\"CALLS\",\"DROPS\",\"DROP %\",\"IVR\"\n";
    +		}
    +	else if ($DID=='Y')
     		{
     		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
     		$ASCII_text.="| DID                  | CALLS   | DROPS   | DROP %  | IVR     |\n";
    @@ -655,18 +708,34 @@ else
     	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
     	}
     
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails taken in to this In-Ομάδα:       $TOTALcalls\n";
    +	$MAIN.="Average Email Length for all Emails:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Emails:                               $ΑΠΑΝΤΗΣΗEDcalls  $ΑΠΑΝΤΗΣΗEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Emails:        $average_answer_seconds seconds\n";
    +	$MAIN.="Emails taken into the IVR for this In-Ομάδα:  $IVRcalls\n";
     
    -$MAIN.="Σύνολο κλήσεις που λαμβάνονται σε αυτό το In-Ομάδα:       $TOTALcalls\n";
    -$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    -$MAIN.="Answered Calls:                               $ΑΠΑΝΤΗΣΗEDcalls  $ΑΠΑΝΤΗΣΗEDpercent%\n";
    -$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    -$MAIN.="Calls taken into the IVR for this In-Ομάδα:  $IVRcalls\n";
    +	$CSV_text1.="\"Total Emails taken in to this In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Email Length for all Emails:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Emails:\",\"$ΑΠΑΝΤΗΣΗEDcalls\",\"$ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Emails:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Emails taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Σύνολο κλήσεις που λαμβάνονται σε αυτό το In-Ομάδα:       $TOTALcalls\n";
    +	$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Calls:                               $ΑΠΑΝΤΗΣΗEDcalls  $ΑΠΑΝΤΗΣΗEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    +	$MAIN.="Calls taken into the IVR for this In-Ομάδα:  $IVRcalls\n";
     
    -$CSV_text1.="\"Σύνολο κλήσεις που λαμβάνονται σε αυτό το In-Group:\",\"$TOTALcalls\"\n";
    -$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    -$CSV_text1.="\"Answered Calls:\",\"$ΑΠΑΝΤΗΣΗEDcalls\",\"$ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    -$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    -$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	$CSV_text1.="\"Σύνολο κλήσεις που λαμβάνονται σε αυτό το In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Calls:\",\"$ΑΠΑΝΤΗΣΗEDcalls\",\"$ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
     
     $MAIN.="\n";
     $MAIN.="---------- ΕΓΚΑΤΑΛ\n";
    @@ -709,12 +778,22 @@ else
     	$DROP_ΑΠΑΝΤΗΣΗEDpercent = round($DROP_ΑΠΑΝΤΗΣΗEDpercent, 0);
     	}
     
    -$MAIN.="Συνολικά ΕΓΚΑΤΑΛΕΙΜΕΝΕΣ κλήσεις: $DROPcalls  $DROPpercent%               drop/answered: $DROP_ΑΠΑΝΤΗΣΗEDpercent%\n";
    -$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total DROP Emails:                             $DROPcalls  $DROPpercent%               drop/answered: $DROP_ΑΠΑΝΤΗΣΗEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Emails:             $average_hold_seconds seconds\n";
     
    -$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    -$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	$CSV_text1.="\"Total DROP Emails:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Emails:\",\"$average_hold_seconds seconds\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Συνολικά ΕΓΚΑΤΑΛΕΙΜΕΝΕΣ κλήσεις: $DROPcalls  $DROPpercent%               drop/answered: $DROP_ΑΠΑΝΤΗΣΗEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
     
    +	$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	}
     
     if (strlen($group_SQL)>3)
     	{
    @@ -750,14 +829,29 @@ if (strlen($group_SQL)>3)
     			}
     		}
     	}
    -$MAIN.="\n";
    -$MAIN.="---------- CUSTOM INDICATORS\n";
    -$MAIN.="GDE (Answered/Συνολικές κλήσεις που διακομίστηκανin to this In-Group):  $ΑΠΑΝΤΗΣΗEDpercent%\n";
    -$MAIN.="ACR (Dropped/Answered):                                $DROP_ΑΠΑΝΤΗΣΗEDpercent%\n";
     
    -$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    -$CSV_text1.="\"GDE (Answered/Συνολικές κλήσεις που διακομίστηκανin to this In-Group):\",\"$ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    -$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Total emails taken in to this In-Group):  $ΑΠΑΝΤΗΣΗEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_ΑΠΑΝΤΗΣΗEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Total emails taken in to this In-Group):\",\"$ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Συνολικές κλήσεις που διακομίστηκανin to this In-Group):  $ΑΠΑΝΤΗΣΗEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_ΑΠΑΝΤΗΣΗEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Συνολικές κλήσεις που διακομίστηκανin to this In-Group):\",\"$ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_ΑΠΑΝΤΗΣΗEDpercent%\"\n";
    +	}
     
     if ($DID!='Y')
     	{
    @@ -848,15 +942,34 @@ else
     	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
     	}
     
    -$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    -$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    -$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue emails:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all emails:        $average_total_queue_seconds seconds\n";
     
    -$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    -$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    -$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Total Emails That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue emails:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all emails:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
    +else 
    +	{
    +	$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
     
    +	$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
     
    +if ($EMAIL=='Y') {
    +	$rpt_type_verbiage='EMAIL';
    +	$rpt_type_verbiages='EMAILS';
    +} else {
    +	$rpt_type_verbiage='CALL ';
    +	$rpt_type_verbiages='CALLS ';
    +}
     
     ##############################
     #########  CALL HOLD TIME BREAKDOWN IN SECONDS
    @@ -864,12 +977,12 @@ $CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_s
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- ΧΡΟΝΟΣ ΥΠΟΒΟΛΗΣ ΠΑΡΑΔΙΔΟΜΕΝΕΣ ΚΑΤΑΝΟΜΗ ΣΕ SECONDS       ΛΗΨΗ\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS       ΛΗΨΗ\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"ΧΡΟΝΟΣ ΥΠΟΒΟΛΗΣ ΠΑΡΑΔΙΔΟΜΕΝΕΣ ΚΑΤΑΝΟΜΗ ΣΕ SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     
    @@ -1009,12 +1122,12 @@ else
     $BDdropCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="---------- $rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL DROP TIME BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
    @@ -1154,12 +1267,12 @@ else
     $BDansweredCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="           CALL ΑΠΑΝΤΗΣΗED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="           $rpt_type_verbiage ΑΠΑΝΤΗΣΗED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
     $ASCII_text.="          +-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="----------+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL ΑΠΑΝΤΗΣΗED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage ΑΠΑΝΤΗΣΗED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE','TIMEOT','AFTHRS','NANQUE','INBND','MAXCAL') group by queue_seconds;";
    @@ -1442,13 +1555,13 @@ else
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL HANGUP REASON STATS       ΛΗΨΗ\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HANGUP REASON STATS       ΛΗΨΗ\n";
     $ASCII_text.="+----------------------+------------+\n";
    -$ASCII_text.="| HANGUP REASON        | CALLS      |\n";
    +$ASCII_text.="| HANGUP REASON        | $rpt_type_verbiages      |\n";
     $ASCII_text.="+----------------------+------------+\n";
     
    -$CSV_text3.="\n\"CALL HANGUP REASON STATS\"\n";
    -$CSV_text3.="\"HANGUP REASON\",\"CALLS\"\n";
    +$CSV_text3.="\n\"$rpt_type_verbiage HANGUP REASON STATS\"\n";
    +$CSV_text3.="\"HANGUP REASON\",\"$rpt_type_verbiages\"\n";
     
     $stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason order by term_reason;";
     if ($DID=='Y')
    @@ -1486,6 +1599,7 @@ $CSV_text3.="\"TOTAL:\",\"$TOTALcalls\"\n";
     
     if ($report_display_type=="HTML") 
     	{
    +	$ct_ary=array();
     	$rslt=mysql_query($stmt, $link);
     	$high_ct=0; $i=0;
     	while ($row=mysql_fetch_row($rslt)) {
    @@ -1495,11 +1609,11 @@ if ($report_display_type=="HTML")
     		$i++;
     	}
     	$GRAPH_text="
    \n"; - $GRAPH_text.="\n"; - $GRAPH_text.=" \n"; + $GRAPH_text.="
    CALL HANGUP REASON STATS
    \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; - $GRAPH_text.=" \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; for ($i=0; $iΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣ:\n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.="
    $rpt_type_verbiage HANGUP REASON STATS
    REASON CALLS $rpt_type_verbiages
    TOTAL ".$rpt_type_verbiage.":".trim($TOTALcalls)."
    \n"; @@ -1527,17 +1641,17 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL STATUS STATS ΛΗΨΗ\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; -$ASCII_text.="| STATUS | DESCRIPTION | ΚΑΤΗΓΟΡΙΑ | CALLS | TOTAL TIME | AVG TIME |CALLS/HOUR|\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; +$ASCII_text.="---------- $rpt_type_verbiage STATUS STATS ΛΗΨΗ\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; +$ASCII_text.="| STATUS | DESCRIPTION | ΚΑΤΗΓΟΡΙΑ | $rpt_type_verbiages | TOTAL TIME | AVG TIME |$rpt_type_verbiages/HOUR|\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; $GRAPH="

    "; $GRAPH.=""; $GRAPH.="
    CALLSTOTAL TIMEAVG TIMECALLS/HR

     


    "; -$CSV_text4.="\n\"CALL STATUS STATS\"\n"; -$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"ΚΑΤΗΓΟΡΙΑ\",\"CALLS\",\"TOTAL TIME\",\"AVG TIME\",\"CALLS/HOUR\"\n"; +$CSV_text4.="\n\"$rpt_type_verbiage STATUS STATS\"\n"; +$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"ΚΑΤΗΓΟΡΙΑ\",\"$rpt_type_verbiages\",\"TOTAL TIME\",\"AVG TIME\",\"$rpt_type_verbiages/HOUR\"\n"; @@ -1710,11 +1824,11 @@ else $ASCII_text="\n"; $ASCII_text.="---------- CUSTOM STATUS ΚΑΤΗΓΟΡΙΑ STATS
    ΛΗΨΗ\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; -$ASCII_text.="| ΚΑΤΗΓΟΡΙΑ | CALLS | DESCRIPTION |\n"; +$ASCII_text.="| ΚΑΤΗΓΟΡΙΑ | $rpt_type_verbiages | DESCRIPTION |\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; $CSV_text5.="\n\"CUSTOM STATUS ΚΑΤΗΓΟΡΙΑ STATS\"\n"; -$CSV_text5.="\"ΚΑΤΗΓΟΡΙΑ\",\"CALLS\",\"DESCRIPTION\"\n"; +$CSV_text5.="\"ΚΑΤΗΓΟΡΙΑ\",\"$rpt_type_verbiages\",\"DESCRIPTION\"\n"; $TOTCATcalls=0; $r=0; @@ -1744,7 +1858,7 @@ $CSV_text5.="\"TOTAL\",\"$TOTCATcalls\"\n"; if ($report_display_type=="HTML") { - $ct_ary=""; + $ct_ary=array(); $r=0; $i=0; $high_ct=0; while ($r < $statcats_to_print) @@ -1794,12 +1908,12 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL INITIAL QUEUE POSITION BREAKDOWN ΛΗΨΗ\n"; +$ASCII_text.="---------- $rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN ΛΗΨΗ\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; $ASCII_text.="| 1 2 3 4 5 6 7 8 9 10 15 20 25 +25 | TOTAL |\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; -$CSV_text6.="\n\"CALL INITIAL QUEUE POSITION BREAKDOWN\"\n"; +$CSV_text6.="\n\"$rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN\"\n"; $CSV_text6.="\"\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"15\",\"20\",\"25\",\"+25\",\"TOTAL\"\n"; @@ -1938,11 +2052,11 @@ $TOTavg=0; $ASCII_text="\n"; $ASCII_text.="---------- ΧΕΙΡΙΣΤΗΣSTATS ΛΗΨΗ\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; -$ASCII_text.="| ΧΕΙΡΙΣΤΗΣ | CALLS | TIME H:M:S |AVERAGE |\n"; +$ASCII_text.="| ΧΕΙΡΙΣΤΗΣ | $rpt_type_verbiages | TIME H:M:S |AVERAGE |\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; $CSV_text7.="\n\"ΧΕΙΡΙΣΤΗΣSTATS\"\n"; -$CSV_text7.="\"AGENT\",\"CALLS\",\"TIME H:M:S\",\"AVERAGE\"\n"; +$CSV_text7.="\"AGENT\",\"$rpt_type_verbiages\",\"TIME H:M:S\",\"AVERAGE\"\n"; $max_calls=1; @@ -1953,7 +2067,7 @@ $GRAPH="

    CALLS"; $GRAPH.="
    TIME H:M:SAVERAGE

     


    "; $graph_header=""; -$CALLS_graph=$graph_header.""; +$CALLS_graph=$graph_header.""; $TIMEHMS_graph=$graph_header.""; $AVERAGE_graph=$graph_header.""; @@ -2173,7 +2287,7 @@ else } $ASCII_text.="\n"; -$ASCII_text.="ΓΡΑΦΙΚΗ ΠΑΡΑΣΤΑΣΗ ΜΕ 15ΛΕΠΤΕΣ ΑΥΞΗΣΕΙΣ ΤΩΝ ΣΥΝΟΛΙΚΩΝ ΚΛΗΣΕΩΝ TAKEN INTO THIS IN-GROUP\n"; +$ASCII_text.="GRAPH IN 15 MINUTE INCREMENTS OF TOTAL $rpt_type_verbiages TAKEN INTO THIS IN-GROUP\n"; $k=1; @@ -2347,12 +2461,12 @@ else ##### Answered wait time breakdown $MAIN.="\n"; -$MAIN.="---------- CALL ΑΠΑΝΤΗΣΗED TIME BREAKDOWN IN SECONDS ΛΗΨΗ\n"; +$MAIN.="---------- $rpt_type_verbiage ΑΠΑΝΤΗΣΗED TIME BREAKDOWN IN SECONDS ΛΗΨΗ\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; $MAIN.="| HOUR | 0 5 10 15 20 25 30 35 40 45 50 55 60 90 +90 | TOTAL |\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; -$CSV_text8.="\n\"CALL ΑΠΑΝΤΗΣΗED TIME BREAKDOWN IN SECONDS\"\n"; +$CSV_text8.="\n\"$rpt_type_verbiage ΑΠΑΝΤΗΣΗED TIME BREAKDOWN IN SECONDS\"\n"; $CSV_text8.="\"HOUR\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n"; $ZZ = '00'; @@ -2464,7 +2578,6 @@ if ($file_download>0) { echo "$CSV_text"; - exit; } else { echo $HEADER; echo $JS_text; @@ -2474,6 +2587,27 @@ if ($file_download>0) { } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERsummary_hourly.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERsummary_hourly.php index 659db8c3..e74060a2 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERsummary_hourly.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_CLOSERsummary_hourly.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1806 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0107 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -124,6 +118,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -938,6 +961,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -961,10 +1003,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { if ($report_display_type=="HTML") @@ -998,5 +1038,24 @@ if ($file_download > 0) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_DIDstats.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_DIDstats.php index 6cfddabd..4be640a0 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_DIDstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_DIDstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1809 - Added download option # 111104-1133 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0113 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -67,15 +70,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -189,6 +183,36 @@ else if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&file_download=".$file_download."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $HEADER.="\n"; $HEADER.="\n"; @@ -1070,6 +1094,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { echo $HEADER; @@ -1079,5 +1122,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRfilter.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRfilter.php index f9920b17..56ea44fd 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRfilter.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRfilter.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -9,8 +9,13 @@ # 90310-2054 - Admin header # 90508-0644 - Changed to PHP long tags # 120113-2022 - Added new columns for sent to queue and agent +# 130414-0257 - Added report logging # +$startMS = microtime(); + +$report_name='IVR Filter Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -88,6 +93,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$campaign[0], $query_date, $end_date|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -494,8 +519,6 @@ if ($file_download == 0 || !$file_download) { flush(); echo "$CSV_text"; - - exit; # $CSV_report=fopen("AST_pause_code_breakdown.csv", "w"); # fwrite($CSV_report, $CSV_header); @@ -503,4 +526,26 @@ if ($file_download == 0 || !$file_download) { # fwrite($CSV_report, $CSV_total); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRstats.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRstats.php index d523bc91..8793f256 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_IVRstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 81026-2026 - First build @@ -20,8 +20,11 @@ # 110703-1850 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130114-0115 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -79,15 +82,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -109,6 +103,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -1001,6 +1024,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1013,6 +1055,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_LISTS_campaign_stats.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_LISTS_campaign_stats.php index 43d3d687..95bc3835 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_LISTS_campaign_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_LISTS_campaign_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -10,8 +10,13 @@ # 100916-0928 - First build # 110703-1815 - Added download option # 120224-0910 - Added HTML display option with bar graphs +# 120524-1754 - Fixed status categories issue +# 130221-1928 - small change to remove nested SQL query +# 130414-0127 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -58,15 +63,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -88,6 +84,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -178,9 +203,18 @@ else $group_SQL = "where campaign_id IN($group_SQL)"; } +# Get lists to query to avoid using a nested query +$lists_id_str=""; +$list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; +$list_rslt=mysql_query($list_stmt, $link); +while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; +} +$lists_id_str=substr($lists_id_str,0,-1); + $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +if ($DB) {echo "$stmt\n";} $statcats_to_print = mysql_num_rows($rslt); $i=0; while ($i < $statcats_to_print) @@ -188,13 +222,27 @@ while ($i < $statcats_to_print) $row=mysql_fetch_row($rslt); $vsc_id[$i] = $row[0]; $vsc_name[$i] = $row[1]; - $vsc_count[$i] = 0; + + $category_statuses=""; + $status_stmt="select distinct status from vicidial_statuses where category='$row[0]' UNION select distinct status from vicidial_campaign_statuses where category='$row[0]' $group_SQLand"; + if ($DB) {echo "$status_stmt\n";} + $status_rslt=mysql_query($status_stmt, $link); + while ($status_row=mysql_fetch_row($status_rslt)) + { + $category_statuses.="'$status_row[0]',"; + } + $category_statuses=substr($category_statuses, 0, -1); + + $category_stmt="select count(*) from vicidial_list where status in ($category_statuses) and list_id IN($lists_id_str)"; + if ($DB) {echo "$category_stmt\n";} + $category_rslt=mysql_query($category_stmt, $link); + $category_row=mysql_fetch_row($category_rslt); + $vsc_count[$i] = $category_row[0]; $i++; } - ### BEGIN gather all statuses that are in status flags ### $human_answered_statuses=''; $sale_statuses=''; @@ -348,7 +396,15 @@ else $GRAPH.="\n"; $GRAPH.="\n"; - $stmt="select count(*),list_id from vicidial_list where list_id IN( SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand) group by list_id;"; + $lists_id_str=""; + $list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; + $list_rslt=mysql_query($list_stmt, $link); + while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; + } + $lists_id_str=substr($lists_id_str,0,-1); + + $stmt="select count(*),list_id from vicidial_list where list_id IN($lists_id_str) group by list_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $listids_to_print = mysql_num_rows($rslt); @@ -949,7 +1005,6 @@ else echo "$CSV_text"; - exit; } else { $JS_onload.="}\n"; $JS_text.=$JS_onload; @@ -962,5 +1017,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_LIST_UPDATEstats.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_LIST_UPDATEstats.php index 39b9ca9e..55540337 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_LIST_UPDATEstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_LIST_UPDATEstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -10,8 +10,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0201 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -54,15 +57,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -84,6 +78,35 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,24 @@ $RUNtime = ($ENDtime - $STARTtime); echo "
    ΧΕΙΡΙΣΤΗΣSTATS
    AGENTCALLS
    $rpt_type_verbiages
    TIME H:M:S
    AVERAGE
    LEADS

    \nRun Time: $RUNtime seconds|$db_source\n"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_OUTBOUNDsummary_interval.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_OUTBOUNDsummary_interval.php index 048c576d..82eef9ae 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_OUTBOUNDsummary_interval.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_OUTBOUNDsummary_interval.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1825 - Added download option # 111104-1205 - Added user_group and calltime restrictions # 120224-0910 - Added HTML display option with bar graphs +# 130414-0119 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -132,6 +126,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_call_times from vicidial_user_groups where user_group='$user_group';"; @@ -1452,6 +1475,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1521,6 +1563,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1555,6 +1616,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_VDADstats.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_VDADstats.php index d2b46ae9..a0a78c45 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_VDADstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_VDADstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 60619-1718 - Added variable filtering to eliminate SQL injection attack threat @@ -32,8 +32,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 101207-1634 - Changed limits on seconds to 65000 from 36000 in vicidial_agent_log # 120224-0910 - Added HTML display option with bar graphs +# 130414-0117 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -103,15 +106,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - ##### SERVER CARRIER LOGGING LOOKUP ##### $stmt = "SELECT count(*) FROM servers where carrier_logging_active='Y' and max_vicidial_trunks > 0;"; $rslt=mysql_query($stmt, $link); @@ -144,6 +138,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -580,7 +603,7 @@ else $OUToutput .= "Total Ανθρώπινα Απάντησηed calls for this Εκστρατεία: $CIcalls\n"; - $OUToutput .= "Average Call Length for all HA in seconds: $average_ci_seconds Total Time: $CIsec\n"; + $OUToutput .= "Average Call Length for all HA σε δευτερόλεπτα: $average_ci_seconds Total Time: $CIsec\n"; $OUToutput .= "\n"; @@ -1557,6 +1580,25 @@ else echo "OUTBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$outbound_rate = \$$outbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1792,6 +1834,25 @@ else $JS_text.="\n"; echo $JS_text; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php index 25ead47d..66585465 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,13 @@ # 111103-1207 - Added admin_hide_phone_data and admin_hide_lead_data options # 120210-1218 - Added vendor_lead_code to output # 120221-0059 - Added User Group restriction settings +# 130414-0159 - Added report logging # +$startMS = microtime(); + +$report_name='Λίστα Hopper Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -49,6 +54,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -226,6 +251,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_ingrouplist.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_ingrouplist.php index 8528c458..5b37400e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_ingrouplist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_VICIDIAL_ingrouplist.php @@ -3,12 +3,17 @@ # # shows the agents logged into vicidial and set to take calls from in-group # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 100320-2102 - First Build +# 130414-0222 - Added report logging # +$startMS = microtime(); + +$report_name='In-Group Χρήστης List'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -40,6 +45,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -205,6 +230,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_admin_template_maker.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_admin_template_maker.php index a7e7ff09..7b6c2064 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_admin_template_maker.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_admin_template_maker.php @@ -5,6 +5,7 @@ # # CHANGES # 120402-2132 - First Build +# 120529-1427 - Filename filter fix # require("dbconnect.php"); @@ -193,6 +194,8 @@ $NWE = "')\">\"ΒΟΗΘΕ
    Εκστρατείες:
    "; echo "

    \n"; +echo "
    \n"; +echo "Show parks-holds
    "; echo "Εμφάνιση as:
    "; echo "\n

    "; -echo "\n"; +echo "$NWB#agent_time_detail$NWE\n"; echo "
            "; echo "          \n"; @@ -1206,6 +1418,25 @@ while ($m < $k) echo "\n"; ##### END horizontal yellow transparent bar graph overlay on top of agent stats +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_time_sheet.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_time_sheet.php index a7943e8f..62ffb5b4 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_time_sheet.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_time_sheet.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1848 - Added download option # 111104-1308 - Added user_group restrictions for selecting in-groups +# 130414-0148 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -42,14 +45,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; @@ -93,6 +88,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -416,16 +440,33 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { header ("Content-type: text/html; charset=utf-8"); echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_timeclock_detail.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_timeclock_detail.php index 1cf53f5c..614f2846 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_timeclock_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_agent_timeclock_detail.php @@ -3,7 +3,7 @@ # # Pulls all timeclock records for an agent # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 90602-2244 - First build @@ -13,8 +13,10 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 111104-1315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0154 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -67,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -100,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -319,9 +341,6 @@ else $query_date_BEGIN = "$query_date"; $query_date_END = "$end_date"; - if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";} - else {$ugSQL='';} - if ($file_download < 1) { echo "Χρήστης Time-Clock Λεπτομέρειες $NOW_TIME\n"; @@ -685,6 +704,25 @@ if ($file_download > 0) echo "$file_output"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -819,6 +857,25 @@ $ENDtime = date("U"); $RUNtime = ($ENDtime - $STARTtime); echo "$RUNtime|$db_source\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_campaign_status_list_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_campaign_status_list_report.php index 324b6310..2890f280 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_campaign_status_list_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_campaign_status_list_report.php @@ -4,14 +4,19 @@ # This report is designed to show the breakdown by list_id of the calls and # their statuses for all lists within a campaign for a set time period # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # # 110815-2138 - First build # 120224-0910 - Added HTML display option with bar graphs +# 130414-0129 - Added report logging +# 130425-2113 - Added status flag summaries and other formatting cleanup +# 130425-2353 - Fixed bug with subtracting unsigned columns in SQL # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_PW); @@ -97,6 +93,36 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -138,7 +164,7 @@ while($i < $group_ct) $i++; } -$stmt="select campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; +$stmt="SELECT campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$HTML_text.="$stmt\n";} $campaigns_to_print = mysql_num_rows($rslt); @@ -276,17 +302,25 @@ $JS_onload="onload = function() {\n"; while($i < $group_ct) { - $stmt="select distinct status, status_name from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION select distinct status, status_name from vicidial_statuses order by status, status_name"; + $stmt="SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_statuses order by status, status_name"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $status_ary[$row[0]]=" - $row[1]"; + $status_ary[$row[0]] = " - $row[1]"; + $HA_ary[$row[0]] = $row[2]; + $SALE_ary[$row[0]] = $row[3]; + $DNC_ary[$row[0]] = $row[4]; + $CC_ary[$row[0]] = $row[5]; + $NI_ary[$row[0]] = $row[6]; + $UW_ary[$row[0]] = $row[7]; + $SC_ary[$row[0]] = $row[8]; + $COMP_ary[$row[0]] = $row[9]; } $ASCII_text.="ΕΚΣΤΡΑΤΕΙΑ: $group[$i]\n"; $GRAPH.="ΕΚΣΤΡΑΤΕΙΑ: $group[$i]\n"; $CSV_text.="\"ΕΚΣΤΡΑΤΕΙΑ: $group[$i]\"\n"; - $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; + $stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; $rslt=mysql_query($stmt, $link); if (mysql_num_rows($rslt)>0) { @@ -303,20 +337,30 @@ while($i < $group_ct) } } - $stmt="select distinct list_id, list_name from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; + $stmt="SELECT distinct list_id, list_name, active from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $list_id=$row[0]; $list_name=$row[1]; + $list_id=$row[0]; $list_name=$row[1]; $list_active=$row[2]; + $HA_count=0; + $SALE_count=0; + $DNC_count=0; + $CC_count=0; + $NI_count=0; + $UW_count=0; + $SC_count=0; + $COMP_count=0; + $dispo_ary=""; $ASCII_text.="ID Λίστας #$list_id: $list_name\n"; $GRAPH.="ID Λίστας #$list_id: $list_name\n"; $CSV_text.="\"ID Λίστας #$list_id: $list_name\"\n"; - # $stat_stmt="select vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; - #$stat_stmt="select val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; - $stat_stmt="select vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION select vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + # $stat_stmt="SELECT vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; + #$stat_stmt="SELECT val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; + $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + if ($DB) {$HTML_text.="|$stat_stmt|\n";} # $ASCII_text.=$stat_stmt."\n"; $stat_rslt=mysql_query($stat_stmt, $link); if (mysql_num_rows($stat_rslt)>0) @@ -336,9 +380,9 @@ while($i < $group_ct) $max_duration=1; $max_handletime=1; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"DISPOSITION\",\"CALLS\",\"DURATION\",\"HANDLE TIME\"\n"; while ($stat_row=mysql_fetch_row($stat_rslt)) { @@ -353,14 +397,22 @@ while($i < $group_ct) $total_calls++; $total_duration+=$stat_row[2]; $total_handle_time+=$stat_row[3]; + if ($HA_ary[$stat_row[0]]=="Y") {$HA_count++;} + if ($SALE_ary[$stat_row[0]]=="Y") {$SALE_count++;} + if ($DNC_ary[$stat_row[0]]=="Y") {$DNC_count++;} + if ($CC_ary[$stat_row[0]]=="Y") {$CC_count++;} + if ($NI_ary[$stat_row[0]]=="Y") {$NI_count++;} + if ($UW_ary[$stat_row[0]]=="Y") {$UW_count++;} + if ($SC_ary[$stat_row[0]]=="Y") {$SC_count++;} + if ($COMP_ary[$stat_row[0]]=="Y") {$COMP_count++;} } $d=0; while (list($key, $val)=each($dispo_ary)) { - $ASCII_text.="| ".sprintf("%-35s", $key.$status_ary[$key]); - $ASCII_text.=" | ".sprintf("%5s", $val[0]); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($val[1], 'H')); + $ASCII_text.="| ".sprintf("%-40s", $key.$status_ary[$key]); + $ASCII_text.=" | ".sprintf("%6s", $val[0]); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($val[1], 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($val[2], 'H'))." |\n"; $CSV_text.="\"".$key.$status_ary[$key]."\",\"$val[0]\",\"".sec_convert($val[1], 'H')."\",\"".sec_convert($val[2], 'H')."\"\n"; @@ -373,20 +425,61 @@ while($i < $group_ct) $graph_stats[$d][3]=$val[2]; $d++; } - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| TOTALS:"; - $ASCII_text.=" | ".sprintf("%5s", $total_calls); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($total_duration, 'H')); + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| TOTALS:"; + $ASCII_text.=" | ".sprintf("%6s", $total_calls); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($total_duration, 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($total_handle_time, 'H'))." |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"TOTALS:\",\"$total_calls\",\"".sec_convert($total_duration, 'H')."\",\"".sec_convert($total_handle_time, 'H')."\"\n\n"; - for ($d=0; $d6) {$HA_percent = substr("$HA_percent", 0, -1);} + $SALE_percent = sprintf("%6.2f", 100*($SALE_count/$total_calls)); while(strlen($SALE_percent)>6) {$SALE_percent = substr("$SALE_percent", 0, -1);} + $DNC_percent = sprintf("%6.2f", 100*($DNC_count/$total_calls)); while(strlen($DNC_percent)>6) {$DNC_percent = substr("$DNC_percent", 0, -1);} + $CC_percent = sprintf("%6.2f", 100*($CC_count/$total_calls)); while(strlen($CC_percent)>6) {$CC_percent = substr("$CC_percent", 0, -1);} + $NI_percent = sprintf("%6.2f", 100*($NI_count/$total_calls)); while(strlen($NI_percent)>6) {$NI_percent = substr("$NI_percent", 0, -1);} + $UW_percent = sprintf("%6.2f", 100*($UW_count/$total_calls)); while(strlen($UW_percent)>6) {$UW_percent = substr("$UW_percent", 0, -1);} + $SC_percent = sprintf("%6.2f", 100*($SC_count/$total_calls)); while(strlen($SC_percent)>6) {$SC_percent = substr("$SC_percent", 0, -1);} + $COMP_percent = sprintf("%6.2f", 100*($COMP_count/$total_calls)); while(strlen($COMP_percent)>6) {$COMP_percent = substr("$COMP_percent", 0, -1);} + + $HA_count = sprintf("%9s", "$HA_count"); while(strlen($HA_count)>9) {$HA_count = substr("$HA_count", 0, -1);} + $SALE_count = sprintf("%9s", "$SALE_count"); while(strlen($SALE_count)>9) {$SALE_count = substr("$SALE_count", 0, -1);} + $DNC_count = sprintf("%9s", "$DNC_count"); while(strlen($DNC_count)>9) {$DNC_count = substr("$DNC_count", 0, -1);} + $CC_count = sprintf("%9s", "$CC_count"); while(strlen($CC_count)>9) {$CC_count = substr("$CC_count", 0, -1);} + $NI_count = sprintf("%9s", "$NI_count"); while(strlen($NI_count)>9) {$NI_count = substr("$NI_count", 0, -1);} + $UW_count = sprintf("%9s", "$UW_count"); while(strlen($UW_count)>9) {$UW_count = substr("$UW_count", 0, -1);} + $SC_count = sprintf("%9s", "$SC_count"); while(strlen($SC_count)>9) {$SC_count = substr("$SC_count", 0, -1);} + $COMP_count = sprintf("%9s", "$COMP_count"); while(strlen($COMP_count)>9) {$COMP_count = substr("$COMP_count", 0, -1);} + + if ($list_active=='Y') {$list_active = 'ACTIVE ';} else {$list_active = 'INACTIVE';} + $header_list_id = "$list_id - $list_name"; + $header_list_id = sprintf("%-51s", $header_list_id); while(strlen($header_list_id)>51) {$header_list_id = substr("$header_list_id", 0, -1);} + $header_list_count = sprintf("%10s", $total_calls); while(strlen($header_list_count)>10) {$header_list_count = substr("$header_list_count", 0, -1);} + $ASCII_text .= "\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| $header_list_id $list_active |\n"; + $ASCII_text .= "| ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣ: $header_list_count |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| STATUS FLAGS BREAKDOWN: (and % of total leads in the list) |\n"; + $ASCII_text .= "| Ανθρώπινα Απάντηση: $HA_count $HA_percent% |\n"; + $ASCII_text .= "| Sale: $SALE_count $SALE_percent% |\n"; + $ASCII_text .= "| DNC: $DNC_count $DNC_percent% |\n"; + $ASCII_text .= "| Customer Contact: $CC_count $CC_percent% |\n"; + $ASCII_text .= "| Not Interested: $NI_count $NI_percent% |\n"; + $ASCII_text .= "| Unworkable: $UW_count $UW_percent% |\n"; + $ASCII_text .= "| Scheduled callbk: $SC_count $SC_percent% |\n"; + $ASCII_text .= "| Completed: $COMP_count $COMP_percent% |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + + + for ($d=0; $d".$graph_stats[$d][1]."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][2], 'H')."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][3], 'H')."
    TOTAL:".trim($total_calls)."
    "; $DURATION_graph.="
    TOTAL:".sec_convert($total_duration, 'H')."
    "; $HANDLETIME_graph.="
    TOTAL:".sec_convert($total_handle_time, 'H')."
    "; @@ -415,7 +508,6 @@ while($i < $group_ct) } $ASCII_text.="\n"; $GRAPH.="\n"; - } $i++; $ASCII_text.="\n\n"; @@ -456,8 +548,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -468,4 +558,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_carrier_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_carrier_log_report.php index 6e1016a6..4c33e198 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_carrier_log_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_carrier_log_report.php @@ -1,26 +1,31 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120210-2202 - First build +# 130413-2213 - Added SIP codes summary and fields, and report logging +# 130418-1048 - Changed how server list is generated # +$startMS = microtime(); require("dbconnect.php"); +$report_name='Μεταφορέας Έκθεση Σύνδεση'; + $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} -if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} +if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} elseif (isset($_POST["query_date_D"])) {$query_date_D=$_POST["query_date_D"];} -if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} +if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} elseif (isset($_POST["query_date_T"])) {$query_date_T=$_POST["query_date_T"];} -if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} - elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -54,14 +59,7 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } +$NOW_DATE = date("Y-m-d"); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} @@ -84,10 +82,39 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} -$NOW_DATE = date("Y-m-d"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $server_ip_string='|'; @@ -99,7 +126,7 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="select server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -223,7 +250,29 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) { } $MAIN.="+--------------+-------------+---------+\n"; $MAIN.="| TOTAL | ".sprintf("%-8s", $total_count)."|\n"; - $MAIN.="+--------------+-------------+---------+\n\n\n"; + $MAIN.="+--------------+-------------+---------+\n\n"; + + $stmt="select sip_hangup_cause,sip_hangup_reason,count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL group by sip_hangup_cause,sip_hangup_reason order by sip_hangup_cause,sip_hangup_reason"; + $rslt=mysql_query($stmt, $link); + $MAIN.="
    \n";
    +		if ($DB) {$MAIN.=$stmt."\n";}
    +		if (mysql_num_rows($rslt)>0) {
    +			$MAIN.="--- SIP ERROR REASON BREAKDOWN FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="| SIP CODE | SIP HANGUP REASON              |  COUNT  |\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$total_count=0;
    +			while ($row=mysql_fetch_array($rslt)) {
    +				$MAIN.="| ".sprintf("%8s", $row["sip_hangup_cause"])." ";
    +				$MAIN.="| ".sprintf("%-31s", $row["sip_hangup_reason"]);
    +				$MAIN.="| ".sprintf("%-8s", $row["ct"]);
    +				$MAIN.="|\n";
    +				$total_count+=$row["ct"];
    +			}
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="|                                     TOTAL | ".sprintf("%-8s", $total_count)."|\n";
    +			$MAIN.="+-------------------------------------------+---------+\n\n\n";
    +		}
     
     		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
    @@ -233,10 +282,10 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
     		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, RECORDS #$lower_limit-$upper_limit               [ΛΗΨΗ]\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | ΔΙΑΚΟΜΙΣΤΗΣ IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | ΑΠΑΝΤΗΣΗED TIME | PHONE NUMBER |\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"ΔΙΑΚΟΜΙΣΤΗΣ IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"ΑΠΑΝΤΗΣΗED TIME\",\"PHONE NUMBER\"\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | ΔΙΑΚΟΜΙΣΤΗΣ IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | ΑΠΑΝΤΗΣΗED TIME | SIP CODE | SIP HANGUP REASON              | PHONE NUMBER |\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"ΔΙΑΚΟΜΙΣΤΗΣ IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"ΑΠΑΝΤΗΣΗED TIME\",\"SIP CODE\",\"SIP HANGUP REASON\",\"PHONE NUMBER\"\n";
     
     		for ($i=1; $i<=mysql_num_rows($rpt_rslt); $i++) {
     			$row=mysql_fetch_array($rpt_rslt);
    @@ -255,7 +304,7 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     				$phone_number=$row["phone_number"];
     			}
     
    -			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\"\n";
    +			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$row[sip_hangup_cause]\",\"$row[sip_hangup_reason]\",\"$phone_number\"\n";
     			if ($i>=$lower_limit && $i<=$upper_limit) {
     				if (strlen($row["channel"])>37) {$row["channel"]=substr($row["channel"],0,37)."...";}
     				$carrier_rpt.="| ".sprintf("%-21s", $row["uniqueid"]); 
    @@ -267,10 +316,12 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     				$carrier_rpt.="| ".sprintf("%-41s", $row["channel"]); 
     				$carrier_rpt.="| ".sprintf("%-10s", $row["dial_time"]); 
     				$carrier_rpt.="| ".sprintf("%-14s", $row["answered_time"]); 
    +				$carrier_rpt.="| ".sprintf("%8s", $row["sip_hangup_cause"])." "; 
    +				$carrier_rpt.="| ".sprintf("%-31s", $row["sip_hangup_reason"]); 
     				$carrier_rpt.="| ".sprintf("%-13s", $phone_number)."|\n"; 
     			}
     		}
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
     
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
    @@ -315,11 +366,31 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_dialer_inventory_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_dialer_inventory_report.php
    index 242ceef4..802b0813 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_dialer_inventory_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_dialer_inventory_report.php
    @@ -1,7 +1,7 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Joe Johnson     LICENSE: AGPLv2
     #                     Matt Florell 
     #
     # NOTES:
    @@ -14,8 +14,11 @@
     # 111106-1327 - Reformatting, other minor changes
     # 111230-1145 - Debugging additions and more minor changes
     # 120221-2237 - Added totals, list options, other small changes
    +# 130414-0131 - Added report logging
     #
     
    +$startMS = microtime();
    +
     error_reporting(0);
     
     require("dbconnect.php");
    @@ -77,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	#$HTML_header.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
     if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -107,6 +101,34 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	#$HTML_header.="\n";
    +	}
     
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
    @@ -882,8 +904,6 @@ if ($file_download>0)
     	flush();
     
     	echo "$CSV_text";
    -
    -	exit;
     	} 
     else 
     	{
    @@ -894,6 +914,27 @@ else
     	echo $HTML_text;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
     
     
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_display.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_display.php
    new file mode 100644
    index 00000000..c5a8dfca
    --- /dev/null
    +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_display.php
    @@ -0,0 +1,86 @@
    +    LICENSE: AGPLv2
    +#
    +# This page displays emails from the log
    +#
    +# changes:
    +# 130221-2124 - First build
    +#
    +
    +require("dbconnect.php");
    +require("functions.php");
    +
    +if (isset($_GET["DB"]))				{$DB=$_GET["DB"];}
    +	elseif (isset($_POST["DB"]))	{$DB=$_POST["DB"];}
    +if (isset($_GET["email_row_id"]))	{$email_row_id=$_GET["email_row_id"];}
    +	elseif (isset($_POST["email_row_id"]))	{$email_row_id=$_POST["email_row_id"];}
    +if (isset($_GET["email_log_id"]))	{$email_log_id=$_GET["email_log_id"];}
    +	elseif (isset($_POST["email_log_id"]))	{$email_log_id=$_POST["email_log_id"];}
    +
    +header ("Content-type: text/html; charset=utf-8");
    +header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    +header ("Pragma: no-cache");                          // HTTP/1.0
    +
    +#############################################
    +##### START SYSTEM_SETTINGS LOOKUP #####
    +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$qm_conf_ct = mysql_num_rows($rslt);
    +if ($qm_conf_ct > 0)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$non_latin =							$row[0];
    +	$timeclock_end_of_day =					$row[1];
    +	$agentonly_callback_campaign_lock =		$row[2];
    +	$custom_fields_enabled =				$row[3];
    +	$allow_emails =				$row[4];
    +	}
    +##### END SETTINGS LOOKUP #####
    +###########################################
    +
    +if ($allow_emails<1) 
    +	{
    +	echo "Your system does not have the email setting enabled\n";
    +	exit;
    +	}
    +
    +if ($non_latin < 1)
    +	{
    +	$user=ereg_replace("[^-_0-9a-zA-Z]","",$user);
    +	$pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass);
    +	}
    +else
    +	{
    +	$user = ereg_replace("'|\"|\\\\|;","",$user);
    +	$pass = ereg_replace("'|\"|\\\\|;","",$pass);
    +	}
    +
    +if ($email_log_id) {
    +	$stmt="select * from vicidial_email_log where email_log_id='$email_log_id'";
    +	$rslt=mysql_query($stmt, $link);
    +} else if ($email_row_id) {
    +	$stmt="select * from vicidial_email_list where email_row_id='$email_row_id'";
    +	$rslt=mysql_query($stmt, $link);
    +}
    +	
    +if (mysql_num_rows($rslt)>0) {
    +	$row=mysql_fetch_array($rslt);
    +	$row["message"]=preg_replace('/\r|\n/', "
    ", $row["message"]); + $EMAIL_form="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="
    Date sent:$row[email_date]
    Message:$row[message]
    "; +} +?> + + + +VICIDIAL email frame + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_report.php new file mode 100644 index 00000000..2e26dd3f --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_email_log_report.php @@ -0,0 +1,559 @@ + LICENSE: AGPLv2 +# +# report of emails handled by the system +# +# CHANGELOG: +# 130221-2117 - First build +# 130414-0132 - Added report logging +# + +$startMS = microtime(); + +$version = '2.6-2'; +$build = '130414-0132'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["user_group_filter"])) {$user_group_filter=$_GET["user_group_filter"];} + elseif (isset($_POST["user_group_filter"])) {$user_group_filter=$_POST["user_group_filter"];} +if (isset($_GET["email_type"])) {$email_type=$_GET["email_type"];} + elseif (isset($_POST["email_type"])) {$email_type=$_POST["email_type"];} +if (isset($_GET["date_type"])) {$date_type=$_GET["date_type"];} + elseif (isset($_POST["date_type"])) {$date_type=$_POST["date_type"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} + + +$report_name = 'Email Log Report'; +$db_source = 'M'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,email_enabled FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $slave_db_server = $row[2]; + $reports_use_slave_db = $row[3]; + $email_enabled = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {$MAIN.="$stmt\n";} +$gmt_conf_ct = mysql_num_rows($rslt); +$dst = date("I"); +if ($gmt_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + $epoch_offset = (($local_gmt + $dst) * 3600); + } + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level='7' and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$reports_only_user=$row[0]; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + +$stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGuser_group = $row[0]; + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; +$LOGadmin_viewable_call_times = $row[3]; + +if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Δεν σας επιτρέπεται να δείτε αυτήν την έκθεση: |$PHP_AUTH_USER|$report_name|\n"; + exit; + } + +$LOGadmin_viewable_groupsSQL=''; +$whereLOGadmin_viewable_groupsSQL=''; +if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; +$rslt=mysql_query($stmt, $link); + +if ($DB) {$MAIN.="$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +$LISTgroups[$i]='---NONE---'; +$i++; +$groups_to_print++; +$groups_string='|'; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] = $row[0]; + $LISTgroup_names[$i] = $row[1]; + $LISTgroup_ids[$i] = $row[2]; + $groups_string .= "$LISTgroups[$i]|"; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + } + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } +if (strlen($group_SQL)<3) {$group_SQL="''";} + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; + + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="$report_name\n"; + +$short_header=1; + +#require("admin_header.php"); + +$MAIN.="
    "; + +if ($DB > 0) + { + $MAIN.="
    \n"; + $MAIN.="$group_ct|$group_string|$group_SQL\n"; + $MAIN.="
    \n"; + $MAIN.="$shift|$query_date|$end_date\n"; + $MAIN.="
    \n"; + } + +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="Χρονικό διάστημα:
    \n"; +$MAIN.=""; + +$MAIN.="\n"; + +$MAIN.=" to "; + +$MAIN.="\n"; + +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="           "; +if ($DID!='Y') + { + $MAIN.="ΤΡΟΠΟΠΟΙΗΣΗ | "; + $MAIN.="IVR REPORT | \n"; + } +$MAIN.="ΑΝΑΦΟΡΕΣ | "; +$MAIN.="


    \n"; +$MAIN.="
    \n"; + + +$MAIN.="
    \n"; +$MAIN.="
    Select date criteria: 
    "; +if (!$date_type || $date_type=="email_date") {$emailed="checked"; $date_title="received";} +if ($date_type=="call_date") {$called="checked"; $date_title="viewed";} +if ($date_type=="date_answered") {$answrd="checked"; $date_title="answered";} +$rpt_title.="from $query_date_BEGIN to $query_date_END "; +$MAIN.="Date email received
    \n"; +$MAIN.="Date email viewed
    \n"; +$MAIN.="Date email answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="
    Select report type to display: 
    "; +if (!$email_type || $email_type=="received") {$rcvd="checked"; $date_type="email_date"; $email_title="received";} +if ($email_type=="viewed") {$view="checked"; $email_title="viewed";} +if ($email_type=="answered") {$answ="checked"; $email_title="answered";} +$MAIN.="Emails received
    \n"; +$MAIN.="Emails viewed
    \n"; +$MAIN.="Emails answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="\n\n"; +$MAIN.="
    \n\n";
    +
    +if ($groups_to_print < 1)
    +	{
    +	$MAIN.="\n\n";
    +	$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK ΕΠΙΒΕΒΑΙΩΣΗ\n";
    +	}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$end_date 23:59:59";
    +
    +$rpt_title="Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\n\n";
    +$MAIN.=$rpt_title;
    +$MAIN.="Email log results: $group_string          $NOW_TIME        ΛΗΨΗ\n";
    +$CSV_text1.="\"Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\"\n\n";
    +
    +if ($email_type=="received") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +	#	$stmt="select vel.* from vicidial_email_list vel where $date_type>='$query_date_BEGIN' and $date_type<='$query_date_END' and group_id in ($group_SQL) order by $date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +	#	$stmt="select vel.*, vcl.call_date, from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="viewed") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | DATE EMAIL VIEWED   | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="answered") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+---------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE (click to view full text)")." | DATE EMAIL VIEWED   | DATE EMAIL ΑΠΑΝΤΗΣΗED | ".sprintf("%-20s", "USER")." | ".sprintf("%-50s", "RESPONSE (click to view full text)")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"DATE EMAIL ΑΠΑΝΤΗΣΗED\",\"USER\",\"RESPONSE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +#echo $stmt."\n";
    +$rslt=mysql_query($stmt, $link);
    +if (mysql_num_rows($rslt)>0) {
    +	$i=0;
    +	$rpt_str=$rpt_border;
    +	$rpt_str.=$rpt_header;
    +	$rpt_str.=$rpt_border;
    +
    +	while($row=mysql_fetch_array($rslt)) {
    +		$email_row_id=$row["email_row_id"];
    +		$email_log_id=$row["email_log_id"];
    +		$lead_id=$row["lead_id"];
    +		$email_date=$row["email_date"];
    +
    +		$email_from=$row["email_from"];
    +		if (mb_strlen($email_from,'UTF-8')>27) {$email_from=mb_substr($email_from,0,27,'UTF-8')."...";}
    +
    +		$sender_name=$row["email_from_name"];
    +		if (mb_strlen($sender_name,'UTF-8')>17) {$sender_name=mb_substr($sender_name,0,17,'UTF-8')."...";}
    +
    +		$message=preg_replace('/\r|\n/', '', strip_tags($row["message"]));	
    +		if (mb_strlen($message,'UTF-8')>47) {$message=mb_substr($message,0,47,'UTF-8')."...";}
    +
    +		$call_date=$row["call_date"];
    +		$date_answered=$row["date_response_sent"];
    +		
    +		$sent_message=preg_replace('/\r|\n/', ' ', strip_tags($row["sent_message"]));
    +		if (mb_strlen($sent_message,'UTF-8')>47) {$sent_message=mb_substr($sent_message,0,47,'UTF-8')."...";}
    +		
    +		$user=$row["sending_user"];
    +		$status=$row["status"];
    +
    +		if ($email_type=="received") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$status\"\n";
    +		} else if ($email_type=="viewed") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$status\"\n";
    +		} else if ($email_type=="answered") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | $date_answered | ".sprintf("%-20s", $user)." | ".sprintf("%-50s", "$sent_message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$date_answered\",\"$user\",\"$sent_message\",\"$status\"\n";
    +		}
    +
    +		$rpt_str.=$rpt_line;
    +	}
    +	$rpt_str.=$rpt_border;
    +} else {
    +	$rpt_str="**NO RESULTS FOUND**\n\n";
    +}
    +	$MAIN.=$rpt_str;
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +$MAIN.="\nRun Time: $RUNtime seconds|$db_source\n";
    +$MAIN.="
    "; +$MAIN.="
    "; + +$MAIN.=""; + +if ($file_download>0) { + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AST_email_log_report_$US$FILE_TIME.csv"; + $CSV_var="CSV_text1"; + $CSV_text=preg_replace('/^\s+/', '', $$CSV_var); + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text1"; + +} else { + echo $HEADER; + echo $JS_text; + require("admin_header.php"); + echo $MAIN; +} + +} + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_hangup_cause_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_hangup_cause_report.php index 9fb4abeb..9eaeda1e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_hangup_cause_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_hangup_cause_report.php @@ -1,12 +1,17 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120331-2301 - First build +# 130413-2348 - Added report logging +# 130419-2047 - Changed how menu lists are generated to speed up initial form load # +$startMS = microtime(); + +$report_name='Hangup Cause Report'; require("dbconnect.php"); @@ -23,6 +28,8 @@ if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["hangup_cause"])) {$hangup_cause=$_GET["hangup_cause"];} elseif (isset($_POST["hangup_cause"])) {$hangup_cause=$_POST["hangup_cause"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -39,6 +46,8 @@ if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET[" $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$START_TIME=date("U"); + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;"; @@ -56,15 +65,96 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) +##### Hangup Cause Dictionary ##### +$hangup_cause_dictionary = array( +0 => "Unspecified. No other cause codes applicable.", +1 => "Unallocated (unassigned) number.", +2 => "No route to specified transit network (national use).", +3 => "No route to destination.", +6 => "Channel unacceptable.", +7 => "Call awarded, being delivered in an established channel.", +16 => "Normal call clearing.", +17 => "Χρήστης busy.", +18 => "No user responding.", +19 => "No answer from user (user alerted).", +20 => "Subscriber absent.", +21 => "Call rejected.", +22 => "Number changed.", +23 => "Redirection to new destination.", +25 => "Exchange routing error.", +27 => "Destination out of order.", +28 => "Invalid number format (address incomplete).", +29 => "Facilities rejected.", +30 => "Response to STATUS INQUIRY.", +31 => "Normal, unspecified.", +34 => "No circuit/channel available.", +38 => "Network out of order.", +41 => "Temporary failure.", +42 => "Switching equipment congestion.", +43 => "Access information discarded.", +44 => "Requested circuit/channel not available.", +50 => "Requested facility not subscribed.", +52 => "Outgoing calls barred.", +54 => "Incoming calls barred.", +57 => "Bearer capability not authorized.", +58 => "Bearer capability not presently available.", +63 => "Service or option not available, unspecified.", +65 => "Bearer capability not implemented.", +66 => "Channel type not implemented.", +69 => "Requested facility not implemented.", +79 => "Service or option not implemented, unspecified.", +81 => "Invalid call reference value.", +88 => "Incompatible destination.", +95 => "Invalid message, unspecified.", +96 => "Mandatory information element is missing.", +97 => "Message type non-existent or not implemented.", +98 => "Message not compatible with call state or message type non-existent or not implemented.", +99 => "Information element / parameter non-existent or not implemented.", +100 => "Invalid information element contents.", +101 => "Message not compatible with call state.", +102 => "Recovery on timer expiry.", +103 => "Parameter non-existent or not implemented - passed on (national use).", +111 => "Protocol error, unspecified.", +127 => "Interworking, unspecified." +); + +$master_hangup_cause_array=array(); +$i=0; +while (list($key, $val)=each($hangup_cause_dictionary)) { + $master_hangup_cause_array[$i]=$key; + $i++; +} +$hangup_causes_to_print=count($master_hangup_cause_array); +$master_dialstatus_array=array("ΑΠΑΝΤΗΣΗ", "BUSY", "NOΑΠΑΝΤΗΣΗ", "CANCEL", "CONGESTION", "CHANUNAVAIL", "DONTCALL", "TORTURE", "INVALIDARGS"); +$dialstatuses_to_print=count($master_dialstatus_array); + +/* +$hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); +$i=0; +while($i < $hangup_cause_ct) { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; + if (preg_match('/\-\-ALL\-\-/', $hangup_cause[$i])) + { + $hangup_cause=$master_hangup_cause_array; + break; + } + $i++; } +$j=0; +while($j < $dial_status_ct) + { + if (preg_match('/\-\-ALL\-\-/', $dial_status[$j])) + { + $dial_status=$master_dialstatus_array; + break; + } + $j++; + } +*/ + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -87,6 +177,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} $NOW_DATE = date("Y-m-d"); @@ -101,7 +220,8 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="SELECT server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; +if ($DB) {echo "|$server_stmt|\n";} $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -148,65 +268,102 @@ if (strlen($server_ip_SQL)<3) {$server_ip_SQL="";} ########### HANGUP CAUSES $hangup_cause_string='|'; $dialstatus_string='|'; -$hangup_and_dialstatus_string='|'; +#$hangup_and_dialstatus_string='|'; $hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); $i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - $hangup_and_dialstatus_string .= "$hangup_cause[$i]|"; - $hangup_cause_string .= "$hangup_array[0]|"; - $dialstatus_string .= "$hangup_array[1]|"; + $hangup_cause_string .= "$hangup_cause[$i]|"; $i++; } -$hangupcause_stmt="select distinct hangup_cause, dialstatus from vicidial_carrier_log order by dialstatus, hangup_cause asc"; -$hangupcause_rslt=mysql_query($hangupcause_stmt, $link); -$causes_to_print=mysql_num_rows($hangupcause_rslt); -$i=0; -while ($i < $causes_to_print) +$j=0; +while($j < $dial_status_ct) { - $row=mysql_fetch_row($hangupcause_rslt); - $LISThangup_causes[$i] = $row[0]; - $LISTdialstatuses[$i] = $row[1]; - if (ereg("-ALL",$hangup_cause_string) ) + $dialstatus_string .= "$dial_status[$j]|"; + $j++; + } + +$i=0; $j=0; +$hangup_causes_string='|'; +$dialstatuses_string='|'; +while($i < $hangup_cause_ct) + { + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) ) { - $hangup_cause[$i] = $LISThangup_causes[$i]; - $dialstatus[$i] = $LISTdialstatuses[$i]; + $hangup_causes_string .= "$hangup_cause[$i]|"; + $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; } $i++; } -$i=0; -$hangup_causes_string='|'; -$hangup_cause_ct = count($hangup_cause); +while ($j < $dial_status_ct) + { + if ( (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + $dialstatuses_string .= "$dial_status[$j]|"; + $dial_statusQS .= "&dial_status[]=$dial_status[$j]"; + } + $j++; + } + +$i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - if ( (strlen($hangup_array[0]) > 0) and (preg_match("/\|$hangup_array[0]\|/",$hangup_cause_string)) and (strlen($hangup_array[1]) > 0) and (preg_match("/\|$hangup_array[1]\|/",$dialstatus_string)) ) + $j=0; + while ($j < $dial_status_ct) { - $hangup_causes_string .= "$hangup_array[0]|"; - $hangup_cause_SQL .= "(hangup_cause='$hangup_array[0]' and dialstatus='$hangup_array[1]') OR"; - $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) and (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + if ( ereg("--ALL--",$hangup_cause_string) ) {$HC_subclause="";} else {$HC_subclause="hangup_cause='$hangup_cause[$i]'";} + if ( ereg("--ALL--",$dialstatus_string) ) {$DS_subclause="";} else {$DS_subclause="dialstatus='$dial_status[$j]'";} + if ($HC_subclause=="" || $DS_subclause=="") {$conjunction="";} else {$conjunction=" and ";} + $hangup_cause_SQL .= "($HC_subclause$conjunction$DS_subclause) OR"; + $hangup_cause_SQL=preg_replace('/\(\) OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL .= "(hangup_cause='$hangup_cause[$i]' and dialstatus='$dial_status[$j]') OR"; + } + $j++; } $i++; } if ( (ereg("--ALL--",$hangup_cause_string) ) or ($hangup_cause_ct < 1) ) { - $hangup_cause_SQL = ""; +# $hangup_cause_SQL = ""; $HC_rpt_string="- ALL hangup causes "; if (ereg("--ALL--",$hangup_cause_string)) {$hangup_causeQS="&hangup_cause[]=--ALL--";} } else { - $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); - $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); - $hangup_cause_SQL = "and ($hangup_cause_SQL)"; - $hangup_and_dialstatus_string=preg_replace('/\!/', "-", $hangup_and_dialstatus_string); - $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_and_dialstatus_string, 1, -1)); +# $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +# $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +# $hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $hangup_causes_string=preg_replace('/\!/', "-", $hangup_causes_string); + $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_causes_string, 1, -1)); } -if (strlen($hangup_cause_SQL)<3) {$hangup_cause_SQL="";} + +if ( (ereg("--ALL--",$dial_status_string) ) or ($dial_status_ct < 1) ) + { + $dial_status_SQL = ""; + $DS_rpt_string="- ALL dial statuses "; + if (ereg("--ALL--",$dial_status_string)) {$dial_statusQS="&dial_status[]=--ALL--";} + } +else + { + #$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); + #$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $dialstatuses_string=preg_replace('/\!/', "-", $dialstatuses_string); + $DS_rpt_string="AND dial status(es) ".preg_replace('/\|/', ", ", substr($dialstatuses_string, 1, -1)); + } + +$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + +if (strlen($hangup_cause_SQL)<7) {$hangup_cause_SQL="";} + ######################## $HEADER.="\n"; $HEADER.="\n"; @@ -267,22 +424,44 @@ while ($servers_to_print > $o) } $MAIN.="
    Hangup Cause/Dial Status:
    "; +$MAIN.="
    Hangup Cause:
    "; $MAIN.="
    Dial status:
    "; +$MAIN.=""; +$MAIN.="
    "; @@ -292,7 +471,7 @@ $MAIN.="\n"; $MAIN.="

    \n"; $MAIN.="
    \n"; if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) { - $stmt="select hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; + $stmt="SELECT hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; $rslt=mysql_query($stmt, $link); $MAIN.="
    \n";
     	if ($DB) {$MAIN.=$stmt."\n";}
    @@ -313,14 +492,14 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     		$MAIN.="|                      TOTAL | ".sprintf("%-8s", $total_count)."|\n";
     		$MAIN.="+--------------+-------------+---------+\n\n\n";
     
    -		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
    +		$rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
     		if ($DB) {$MAIN.=$rpt_stmt."\n";}
     
     		if (!$lower_limit) {$lower_limit=1;}
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
    -		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [ΛΗΨΗ]\n";
    +		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string, $DS_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [ΛΗΨΗ]\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
     		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | ΔΙΑΚΟΜΙΣΤΗΣ IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | ΑΠΑΝΤΗΣΗED TIME | PHONE NUMBER |\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    @@ -331,7 +510,7 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     			$phone_number=""; $phone_note="";
     
     			if (strlen($row["phone_number"])==0) {
    -				$stmt2="select phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
    +				$stmt2="SELECT phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
     				$rslt2=mysql_query($stmt2, $link);
     				$channel=$row["channel"];
     				while ($row2=mysql_fetch_array($rslt2)) {
    @@ -363,14 +542,14 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
     		if ($ll>=1) {
    -			$carrier_rpt_hf.="[<<< PREV 1000 records]";
    +			$carrier_rpt_hf.="[<<< PREV 1000 records]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%-23s", " ");
     		}
     		$carrier_rpt_hf.=sprintf("%-145s", " ");
     		if (($lower_limit+1000)=mysql_num_rows($rpt_rslt)) {$max_limit=mysql_num_rows($rpt_rslt)-$upper_limit;} else {$max_limit=1000;}
    -			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
    +			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%23s", " ");
     		}
    @@ -403,11 +582,35 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$END_TIME=date("U");
    +
    +#print "Total run time: ".($END_TIME-$START_TIME);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_inbound_daily_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_inbound_daily_report.php
    index 63cc25ec..01f0d295 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_inbound_daily_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_inbound_daily_report.php
    @@ -1,17 +1,30 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Matt Florell     LICENSE: AGPLv2
     #
     # CHANGES
     #
     # 111119-1234 - First build
     # 120118-2116 - Changed headers on CSV download
     # 120224-0910 - Added HTML display option with bar graphs
    +# 120601-2235 - Added group name to header, added status breakdown counts to page and CSV with option to display them
    +# 120611-2200 - Added ability to filter output by call time
    +# 120819-0118 - Formatting changes
    +# 121115-0621 - Changed to multi-select for in-group selection
    +# 130322-2008 - Added Unique Agents column
    +# 130414-0110 - Added report logging
     #
     
    +$startMS = microtime();
    +
     require("dbconnect.php");
     
    +if (file_exists('options.php'))
    +        {
    +        require('options.php');
    +        }
    +
     $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
     $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
     $PHP_SELF=$_SERVER['PHP_SELF'];
    @@ -27,6 +40,10 @@ if (isset($_GET["file_download"]))			{$file_download=$_GET["file_download"];}
     	elseif (isset($_POST["file_download"]))	{$file_download=$_POST["file_download"];}
     if (isset($_GET["hourly_breakdown"]))			{$hourly_breakdown=$_GET["hourly_breakdown"];}
     	elseif (isset($_POST["hourly_breakdown"]))	{$hourly_breakdown=$_POST["hourly_breakdown"];}
    +if (isset($_GET["show_disposition_statuses"]))			{$show_disposition_statuses=$_GET["show_disposition_statuses"];}
    +	elseif (isset($_POST["show_disposition_statuses"]))	{$show_disposition_statuses=$_POST["show_disposition_statuses"];}
    +if (isset($_GET["ignore_afterhours"]))			{$ignore_afterhours=$_GET["ignore_afterhours"];}
    +	elseif (isset($_POST["ignore_afterhours"]))	{$ignore_afterhours=$_POST["ignore_afterhours"];}
     if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
     	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
     if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"]))				{$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];}
    @@ -44,6 +61,8 @@ if (strlen($shift)<2) {$shift='ALL';}
     $report_name = 'Inbound Daily Report';
     $db_source = 'M';
     
    +if ($ignore_afterhours=="checked") {$status_clause=" and status!='AFTHRS'";}
    +
     #############################################
     ##### START SYSTEM_SETTINGS LOOKUP #####
     $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;";
    @@ -61,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	$MAIN.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -91,6 +101,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	$MAIN.="\n";
    +	}
    +
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     $rslt=mysql_query($stmt, $link);
    @@ -124,14 +163,34 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl
     	$whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')";
     	}
     
    -$LOGadmin_viewable_call_timesSQL='';
    -$whereLOGadmin_viewable_call_timesSQL='';
    -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +if ($IDR_calltime_available==1)
     	{
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    -	$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    -	$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +	$LOGadmin_viewable_call_timesSQL='';
    +	$whereLOGadmin_viewable_call_timesSQL='';
    +	if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +		{
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    +		$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		}
    +
    +	$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {$MAIN.="$stmt\n";}
    +	$times_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $times_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$call_times[$i] =		$row[0];
    +		$call_time_names[$i] =	$row[1];
    +		$i++;
    +		}
    +	}
    +else 
    +	{
    +	$shift="24hours";
     	}
     
     $NOW_DATE = date("Y-m-d");
    @@ -140,6 +199,25 @@ $STARTtime = date("U");
     if (!isset($group)) {$group = '';}
     if (!isset($query_date)) {$query_date = $NOW_DATE;}
     if (!isset($end_date)) {$end_date = $NOW_DATE;}
    +$groups_selected = count($group);
    +$group_name_str="";
    +$groups_selected_str="";
    +$groups_selected_URLstr="";
    +for ($i=0; $i<$groups_selected; $i++) 
    +	{
    +	$selected_group_URLstr.="&group[]=$group[$i]";
    +	if ($group[$i]=="--ALL--") 
    +		{
    +		$group=array("--ALL--");
    +		$groups_selected=1;
    +		$group_name_str.="-- ALL INGROUPS --";
    +		$all_selected="selected";
    +		}
    +	else 
    +		{
    +		$groups_selected_str.="'$group[$i]', ";
    +		}
    +	}
     
     $stmt="select group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;";
     $rslt=mysql_query($stmt, $link);
    @@ -153,6 +231,26 @@ while ($i < $groups_to_print)
     	$groups[$i] =		$row[0];
     	$group_names[$i] =	$row[1];
     	$groups_string .= "$groups[$i]|";
    +	for ($j=0; $j<$groups_selected; $j++) {
    +		if ($group[$j] && $groups[$i]==$group[$j]) {$group_name_str.="$groups[$i] - $group_names[$i], ";}
    +		if ($group[$j]=="--ALL--") {$groups_selected_str.="'$groups[$i]', ";}
    +	}
    +	$i++;
    +	}
    +
    +$groups_selected_str=preg_replace('/, $/', '', $groups_selected_str);
    +$group_name_str=preg_replace('/, $/', '', $group_name_str);
    +
    +$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {$MAIN.="$stmt\n";}
    +$times_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $times_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$call_times[$i] =		$row[0];
    +	$call_time_names[$i] =	$row[1];
     	$i++;
     	}
     
    @@ -166,11 +264,11 @@ $HEADER.="   .orange {color: black; background-color: #FFCC99}\n";
     $HEADER.="-->\n";
     $HEADER.=" \n";
     
    -if (!preg_match("/\|$group\|/i",$groups_string))
    -	{
    -	$HEADER.="\n";
    -	$group='';
    -	}
    +#if (!preg_match("/\|$group\|/i",$groups_string))
    +#	{
    +#	$HEADER.="\n";
    +#	$group='';
    +#	}
     
     $HEADER.="\n";
     $HEADER.="\n";
    @@ -183,9 +281,9 @@ $short_header=1;
     
     # require("admin_header.php");
     
    -$MAIN.="
    "; - $MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    "; + $MAIN.=""; $MAIN.="\n"; -$MAIN.="\n"; +$MAIN.="\n"; $o=0; while ($groups_to_print > $o) { - if ($groups[$o] == $group) {$MAIN.="\n";} - else {$MAIN.="\n";} + $selected=""; + for ($i=0; $i<$groups_selected; $i++) { + echo "\n"; + if ($groups[$o] == $group[$i]) {$selected="selected";} + } + $MAIN.="\n"; $o++; } $MAIN.="\n"; @@ -225,26 +328,29 @@ $MAIN.="  "; $MAIN.="  "; -$MAIN.="\n"; -$MAIN.="\n"; -$MAIN.="           ΛΗΨΗ | ΤΡΟΠΟΠΟΙΗΣΗ | ΑΝΑΦΟΡΕΣ
    Show hourly results
    \n"; -$MAIN.="\n\n"; + +if ($IDR_calltime_available==1) + { + $MAIN.="\n"; + } + +$MAIN.="
    Show hourly results
    Show disposition statuses
    Ignore after-hours calls
    ΛΗΨΗ | ΤΡΟΠΟΠΟΙΗΣΗ | ΑΝΑΦΟΡΕΣ
    "; $MAIN.="
    \n\n";
     
     
    -if (!$group)
    +if ($groups_selected==0)
     	{
     	$MAIN.="\n\n";
     	$MAIN.="Επιλέξτε μια Ενδοομιλικών ΚΑΙ ΗΜΕΡΟΜΗΝΙΑ άνω ΚΛΙΚ ΚΑΙ ΑΠΟΣΤΟΛΗ\n";
    @@ -256,94 +362,247 @@ if (!$group)
     else
     	{
     	### FOR SHIFTS IT IS BEST TO STICK TO 15-MINUTE INCREMENTS FOR START TIMES ###
    +	if ($shift && $shift!="ALL") {
    +		# call_time_id | call_time_name              | call_time_comments | ct_default_start | ct_default_stop | ct_sunday_start | ct_sunday_stop | ct_monday_start | ct_monday_stop | ct_tuesday_start | ct_tuesday_stop | ct_wednesday_start | ct_wednesday_stop | ct_thursday_start | ct_thursday_stop | ct_friday_start | ct_friday_stop | ct_saturday_start | ct_saturday_stop
    +		$big_shift_time_SQL_clause ="";
    +		$shift_stmt="select * from vicidial_call_times where call_time_id='$shift'";
    +		$shift_rslt=mysql_query($shift_stmt, $link);
    +		$shift_row=mysql_fetch_array($shift_rslt);
    +		$default_start_time=substr("0000".$shift_row["ct_default_start"], -4);
    +		$default_stop_time=substr("0000".$shift_row["ct_default_stop"], -4);
    +		$ct_default_start=substr($default_start_time,0,2).":".substr($default_start_time,2,2).":00";
    +		$ct_default_stop=substr($default_stop_time,0,2).":".substr($default_stop_time,2,2).":00";
     
    -	if ($shift == 'AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}   
    -		if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +		if ($shift_row["ct_sunday_start"]!=$shift_row["ct_sunday_stop"]) {
    +			$sunday_start_time=substr("0000".$shift_row["ct_sunday_start"], -4);
    +			$sunday_stop_time=substr("0000".$shift_row["ct_sunday_stop"], -4);
    +			$ct_sunday_start=substr($sunday_start_time,0,2).":".substr($sunday_start_time,2,2).":00";
    +			$ct_sunday_stop=substr($sunday_stop_time,0,2).":".substr($sunday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_sunday_start"]!="2400") {
    +			$ct_sunday_start=$ct_default_start;
    +			$ct_sunday_stop=$ct_default_stop;
    +		} else {
    +			$ct_sunday_start="00:00:00";
    +			$ct_sunday_stop=1;
     		}
    -	if ($shift == 'PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_sunday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_sunday_stop=$strow[0];
    +		$start_time_ary[0]=$ct_sunday_start;
    +		$stop_time_ary[0]=$ct_sunday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=0 and date_format(call_date, '%H:%i:%s')>='$ct_sunday_start' and date_format(call_date, '%H:%i:%s')<='$ct_sunday_stop') or ";
    +
    +		if ($shift_row["ct_monday_start"]!=$shift_row["ct_monday_stop"]) {
    +			$monday_start_time=substr("0000".$shift_row["ct_monday_start"], -4);
    +			$monday_stop_time=substr("0000".$shift_row["ct_monday_stop"], -4);
    +			$ct_monday_start=substr($monday_start_time,0,2).":".substr($monday_start_time,2,2).":00";
    +			$ct_monday_stop=substr($monday_stop_time,0,2).":".substr($monday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_monday_start"]!="2400") {
    +			$ct_monday_start=$ct_default_start;
    +			$ct_monday_stop=$ct_default_stop;
    +		} else {
    +			$ct_monday_start="00:00:00";
    +			$ct_monday_stop=1;
     		}
    -	if ($shift == 'ALL') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_monday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_monday_stop=$strow[0];
    +		$start_time_ary[1]=$ct_monday_start;
    +		$stop_time_ary[1]=$ct_monday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=1 and date_format(call_date, '%H:%i:%s')>='$ct_monday_start' and date_format(call_date, '%H:%i:%s')<='$ct_monday_stop') or ";
    +
    +		if ($shift_row["ct_tuesday_start"]!=$shift_row["ct_tuesday_stop"]) {
    +			$tuesday_start_time=substr("0000".$shift_row["ct_tuesday_start"], -4);
    +			$tuesday_stop_time=substr("0000".$shift_row["ct_tuesday_stop"], -4);
    +			$ct_tuesday_start=substr($tuesday_start_time,0,2).":".substr($tuesday_start_time,2,2).":00";
    +			$ct_tuesday_stop=substr($tuesday_stop_time,0,2).":".substr($tuesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_tuesday_start"]!="2400") {
    +			$ct_tuesday_start=$ct_default_start;
    +			$ct_tuesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_tuesday_start="00:00:00";
    +			$ct_tuesday_stop=1;
     		}
    -	if ($shift == 'DAYTIME') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_tuesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_tuesday_stop=$strow[0];
    +		$start_time_ary[2]=$ct_tuesday_start;
    +		$stop_time_ary[2]=$ct_tuesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=2 and date_format(call_date, '%H:%i:%s')>='$ct_tuesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_tuesday_stop') or ";
    +
    +		if ($shift_row["ct_wednesday_start"]!=$shift_row["ct_wednesday_stop"]) {
    +			$wednesday_start_time=substr("0000".$shift_row["ct_wednesday_start"], -4);
    +			$wednesday_stop_time=substr("0000".$shift_row["ct_wednesday_stop"], -4);
    +			$ct_wednesday_start=substr($wednesday_start_time,0,2).":".substr($wednesday_start_time,2,2).":00";
    +			$ct_wednesday_stop=substr($wednesday_stop_time,0,2).":".substr($wednesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_wednesday_start"]!="2400") {
    +			$ct_wednesday_start=$ct_default_start;
    +			$ct_wednesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_wednesday_start="00:00:00";
    +			$ct_wednesday_stop=1;
     		}
    -	if ($shift == '10AM-6PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_wednesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_wednesday_stop=$strow[0];
    +		$start_time_ary[3]=$ct_wednesday_start;
    +		$stop_time_ary[3]=$ct_wednesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=3 and date_format(call_date, '%H:%i:%s')>='$ct_wednesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_wednesday_stop') or ";
    +
    +		if ($shift_row["ct_thursday_start"]!=$shift_row["ct_thursday_stop"]) {
    +			$thursday_start_time=substr("0000".$shift_row["ct_thursday_start"], -4);
    +			$thursday_stop_time=substr("0000".$shift_row["ct_thursday_stop"], -4);
    +			$ct_thursday_start=substr($thursday_start_time,0,2).":".substr($thursday_start_time,2,2).":00";
    +			$ct_thursday_stop=substr($thursday_stop_time,0,2).":".substr($thursday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_thursday_start"]!="2400") {
    +			$ct_thursday_start=$ct_default_start;
    +			$ct_thursday_stop=$ct_default_stop;
    +		} else {
    +			$ct_thursday_start="00:00:00";
    +			$ct_thursday_stop=1;
     		}
    -	if ($shift == '9AM-1AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_thursday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_thursday_stop=$strow[0];
    +		$start_time_ary[4]=$ct_thursday_start;
    +		$stop_time_ary[4]=$ct_thursday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=4 and date_format(call_date, '%H:%i:%s')>='$ct_thursday_start' and date_format(call_date, '%H:%i:%s')<='$ct_thursday_stop') or ";
    +
    +		if ($shift_row["ct_friday_start"]!=$shift_row["ct_friday_stop"]) {
    +			$friday_start_time=substr("0000".$shift_row["ct_friday_start"], -4);
    +			$friday_stop_time=substr("0000".$shift_row["ct_friday_stop"], -4);
    +			$ct_friday_start=substr($friday_start_time,0,2).":".substr($friday_start_time,2,2).":00";
    +			$ct_friday_stop=substr($friday_stop_time,0,2).":".substr($friday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_friday_start"]!="2400") {
    +			$ct_friday_start=$ct_default_start;
    +			$ct_friday_stop=$ct_default_stop;
    +		} else {
    +			$ct_friday_start="00:00:00";
    +			$ct_friday_stop=1;
     		}
    -	if ($shift == '845-1745') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:44:59";}
    -		}
    -	if ($shift == '1745-100') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_friday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_friday_stop=$strow[0];
    +		$start_time_ary[5]=$ct_friday_start;
    +		$stop_time_ary[5]=$ct_friday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=5 and date_format(call_date, '%H:%i:%s')>='$ct_friday_start' and date_format(call_date, '%H:%i:%s')<='$ct_friday_stop') or ";
    +
    +		if ($shift_row["ct_saturday_start"]!=$shift_row["ct_saturday_stop"]) {
    +			$saturday_start_time=substr("0000".$shift_row["ct_saturday_start"], -4);
    +			$saturday_stop_time=substr("0000".$shift_row["ct_saturday_stop"], -4);
    +			$ct_saturday_start=substr($saturday_start_time,0,2).":".substr($saturday_start_time,2,2).":00";
    +			$ct_saturday_stop=substr($saturday_stop_time,0,2).":".substr($saturday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_saturday_start"]!="2400") {
    +			$ct_saturday_start=$ct_default_start;
    +			$ct_saturday_stop=$ct_default_stop;
    +		} else {
    +			$ct_saturday_start="00:00:00";
    +			$ct_saturday_stop=1;
     		}
    +		$stop_time_stmt="select TIMEDIFF('$ct_saturday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_saturday_stop=$strow[0];
    +		$start_time_ary[6]=$ct_saturday_start;
    +		$stop_time_ary[6]=$ct_saturday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=6 and date_format(call_date, '%H:%i:%s')>='$ct_saturday_start' and date_format(call_date, '%H:%i:%s')<='$ct_saturday_stop') or ";
     
    -	$time1 = strtotime($time_BEGIN);
    -	$time2 = strtotime($time_END)+1;
    +		$query_time_stmt="select date_format('$query_date', '%w'), date_format('$end_date', '%w')";
    +		$query_time_rslt=mysql_query($query_time_stmt, $link);
    +		$qrow=mysql_fetch_row($query_time_rslt);
    +		$time_BEGIN=$start_time_ary[$qrow[0]];
    +		$time_END=$stop_time_ary[$qrow[0]];
    +		#$time_BEGIN="00:00:00"; # Need this so the $SQepoch value can be tweaked per day (i.e. only adding the hours for the start time);
     
    -	$hpd = ceil(($time2 - $time1) / 3600);
    -	if ($hpd<0) {$hpd+=24;}
    +		$query_date_BEGIN = "$query_date ".$time_BEGIN;   
    +		$query_date_END = "$end_date ".$time_END;
    +		RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); # Only calling it here to get the DURATIONday, EQepoch, and intial SQepoch
    +		# Will be called repeatedly for each day
     
    +		$big_shift_time_SQL_clause=preg_replace('/\sor\s$/', '', $big_shift_time_SQL_clause);
    +		$big_shift_time_SQL_clause=" and ($big_shift_time_SQL_clause)";
    +		#echo $big_shift_time_SQL_clause;
    +		#print_r($start_time_ary); echo "
    "; + #print_r($stop_time_ary); echo "
    "; + } else { - $query_date_BEGIN = "$query_date $time_BEGIN"; - $query_date_END = "$end_date $time_END"; + if ($shift == 'ALL') + { + if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";} + if (strlen($time_END) < 6) {$time_END = "23:59:59";} + } - $SQdate_ARY = explode(' ',$query_date_BEGIN); - $SQday_ARY = explode('-',$SQdate_ARY[0]); - $SQtime_ARY = explode(':',$SQdate_ARY[1]); - $EQdate_ARY = explode(' ',$query_date_END); - $EQday_ARY = explode('-',$EQdate_ARY[0]); - $EQtime_ARY = explode(':',$EQdate_ARY[1]); + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; - $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); - - $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); - $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); - - $DURATIONsec = ($EQepoch - $SQepoch); - $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); - - if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) - { - $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); - $query_date_END = date("Y-m-d H:i:s", $EQepoch); - $DURATIONday++; - } + RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); + } $MAIN.="Inbound Daily Report $NOW_TIME\n"; - $MAIN.="Selected in-group: $group\n"; - $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END for $shift shift\n\n"; + $MAIN.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$MAIN.="Selected shift: $shift\n";} + $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END"; + if ($shift && $IDR_calltime_available) {$MAIN.="for $shift shift";} + $MAIN.="\n\n"; #echo "Time range day sec: $SQsec - $EQsec Day range in epoch: $SQepoch - $EQepoch Start: $SQepochDAY\n"; $CSV_text.="\"Inbound Daily Report\",\"$NOW_TIME\"\n"; - $CSV_text.="Selected in-group: $group\n"; - $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END for $shift shift\"\n\n"; + $CSV_text.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$CSV_text.="Selected shift: $shift\n";} + $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END\""; + if ($shift && $IDR_calltime_available) {$CSV_text.="for $shift shift";} + $CSV_text.="\n\n"; - $d=0; $q=0; $hr=0; + if ($show_disposition_statuses) { + $dispo_stmt="select distinct status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ") $big_shift_time_SQL_clause order by status;"; + #echo $dispo_stmt."
    "; + $dispo_rslt=mysql_query($dispo_stmt, $link); + $dispo_str=""; + $s=0; + while($dispo_row=mysql_fetch_row($dispo_rslt)) { + $status_array[$s][0]="$dispo_row[0]"; + $status_array[$s][1]=""; + $dispo_str.="'$dispo_row[0]',"; + $stat_stmt="select distinct status, status_name from vicidial_statuses where status='$dispo_row[0]' UNION select distinct status, status_name from vicidial_campaign_statuses where status='$dispo_row[0]' order by status;"; + #echo $stat_stmt."
    "; + $stat_rslt=mysql_query($stat_stmt, $link); + while ($stat_row=mysql_fetch_array($stat_rslt)) { + $status_array[$s][1]=$stat_row["status_name"]; + } + $s++; + } + $dispo_str=substr($dispo_str,0,-1); + asort($status_array); + #print_r($status_array); +# if (strlen($dispo_str)>0) { +# } + } + + $d=0; $q=0; $hr=0; $shift_hrs=0; while ($d < $DURATIONday) { - $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) ); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600)); + + if ($shift && $shift!="ALL" && $RECALC==1) + { + # Need to get current day, hours for that day (hpd) + $current_dayofweek=date("w", $dSQepoch); + $time_BEGIN=$start_time_ary[$current_dayofweek]; + $time_END=$stop_time_ary[$current_dayofweek]; + HourDifference($time_BEGIN, $time_END); # new hpd + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; + RecalculateEpochs($query_date_BEGIN, $query_date_END); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) + ($shift_hrs * 3600) ); + #echo " --- NEW DAY: $query_date_BEGIN / $query_date_END ---
    "; + $RECALC=0; + } + if ($hourly_breakdown) { @@ -351,17 +610,17 @@ else } else { - $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600) ) ); + $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600)) ); if ($EQsec < $SQsec) { $dEQepoch = ($dEQepoch + 86400); } } + #echo "$dSQepoch - $dEQepoch, ".date("Y-m-d H:i:s", $dSQepoch)." - ".date("Y-m-d H:i:s", $dEQepoch).", ".date("D", $dSQepoch)." - $hpd hours - shift starts at $shift_hrs:00:00
    "; $daySTART[$q] = date("Y-m-d H:i:s", $dSQepoch); $dayEND[$q] = date("Y-m-d H:i:s", $dEQepoch); - # || $time_END<=date("H:i:s", $dEQepoch) if ($hr>=($hpd-1) || !$hourly_breakdown) { $d++; @@ -370,6 +629,7 @@ else { $dayEND[$q] = date("Y-m-d ", $dEQepoch).$time_END; } + $RECALC=1; } else { @@ -467,11 +727,12 @@ else ### GRAB ALL RECORDS WITHIN RANGE FROM THE DATABASE ### - $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';"; + $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date,user from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ");"; $rslt=mysql_query($stmt, $link); if ($DB) {$ASCII_text.="$stmt\n";} $records_to_grab = mysql_num_rows($rslt); $i=0; + $fTOTAL_agents=array(); if($hourly_breakdown) {$epoch_interval=3600;} else {$epoch_interval=86400;} while ($i < $records_to_grab) { @@ -492,7 +753,8 @@ else $st[$i] = $row[3]; $tr[$i] = $row[4]; $at[$i] = $row[5]; # Actual time - + if ($row[6]!="VDCL" && $row[6]!="") {$ag[$i] = $row[6];} # Χρήστης + # $fTOTAL_agents["$row[6]"]++; # $ASCII_text.= "$qs[$i] | $dt[$i] - $row[1] | $ut[$i] | $ls[$i] | $st[$i] | $tr[$i] | $at[$i]\n"; $i++; @@ -529,12 +791,15 @@ else $totΑΠΑΝΤΗΣΗSdate=$MT; $totΑΠΑΝΤΗΣΗS=0; + $totAGENTS=0; $totABANDONS=0; $totΑΠΑΝΤΗΣΗSsec=0; $totABANDONSsec=0; $totΑΠΑΝΤΗΣΗSspeed=0; + $totSTATUSES=array(); $FtotΑΠΑΝΤΗΣΗS=0; + $FtotAGENTS=count(array_count_values($ag)); $FtotABANDONS=0; $FtotΑΠΑΝΤΗΣΗSsec=0; $FtotABANDONSsec=0; @@ -554,6 +819,7 @@ else $totΑΠΑΝΤΗΣΗSsecdate[$j]=0; $totΑΠΑΝΤΗΣΗSspeeddate[$j]=0; $i=0; + $agents_array=array(); while ($i < $records_to_grab) { if ( ($at[$i] >= $daySTART[$j]) and ($at[$i] <= $dayEND[$j]) ) @@ -565,6 +831,12 @@ else # $qrtCALLSsec[$j] = ($qrtCALLSsec[$j] + $ls[$i]); # $dtt = $dt[$i]; $totCALLSdate[$j]++; + # $totAGENTSdate[$j]=$ag[$i]; + if ($ag[$i]!="VDCL" && $ag[$i]!="") {$totAGENTSdate[$j][$ag[$i]]++;} + + $totSTATUSES[$st[$i]]++; + $totSTATUSESdate[$j][$st[$i]]++; + if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} if (ereg('ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS', $tr[$i])) @@ -577,10 +849,12 @@ else else { $totΑΠΑΝΤΗΣΗSdate[$j]++; - $totΑΠΑΝΤΗΣΗSsecdate[$j]+=($ls[$i]-$qs[$i]-15); + if (($ls[$i]-$qs[$i]-15)>0) { ## Patch by Joe J - can cause negative time values if removed. + $totΑΠΑΝΤΗΣΗSsecdate[$j]+=($ls[$i]-$qs[$i]-15); + $FtotΑΠΑΝΤΗΣΗSsec+=($ls[$i]-$qs[$i]-15); + } $totΑΠΑΝΤΗΣΗSspeeddate[$j]+=$qs[$i]; $FtotΑΠΑΝΤΗΣΗS++; - $FtotΑΠΑΝΤΗΣΗSsec+=($ls[$i]-$qs[$i]-15); $FtotΑΠΑΝΤΗΣΗSspeeddate+=$qs[$i]; } if (ereg('DROP',$st[$i])) @@ -626,14 +900,37 @@ else ################################################### ### TOTALS SUMMARY SECTION ### - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |\n"; - $ASCII_text.="| SHIFT | CALLS | CALLS | CALLS | ABANDON | ABANDON | ΑΠΑΝΤΗΣΗ | TALK | TALK | WRAP | CALL |\n"; - $ASCII_text.="| DATE-TIME RANGE | OFFERED | ΑΠΑΝΤΗΣΗED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"AVG\",\"AVG\",\"AVG\",\"TOTAL\",\"TOTAL\",\"TOTAL\"\n"; - $CSV_text.="\"\",\"CALLS\",\"CALLS\",\"CALLS\",\"ABANDON\",\"ABANDON\",\"ΑΠΑΝΤΗΣΗ\",\"TALK\",\"TALK\",\"WRAP\",\"CALL\"\n"; - $CSV_text.="\"SHIFT DATE-TIME RANGE\",\"OFFERED\",\"ΑΠΑΝΤΗΣΗED\",\"ABANDONED\",\"PERCENT\",\"TIME\",\"SPEED\",\"TIME\",\"TIME\",\"TIME\",\"TIME\"\n"; + $MAINH="+-------------------------------------------+---------+----------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+"; + $MAIN1="| | TOTAL | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |"; + $MAIN2="| SHIFT | CALLS | CALLS | AGENTS | CALLS | ABANDON | ABANDON | ΑΠΑΝΤΗΣΗ | TALK | TALK | WRAP | CALL |"; + $MAIN3="| DATE-TIME RANGE | OFFERED | ΑΠΑΝΤΗΣΗED | ΑΠΑΝΤΗΣΗED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |"; + $CSV_text1=""; + $CSV_text2=""; + $CSV_text3=""; + + for ($s=0; $sΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFERED
    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $MTD_GRAPH="

    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFEREDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $WTD_GRAPH="

    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFEREDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $QTD_GRAPH="

    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFEREDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $GRAPH="
    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFEREDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDTOTAL AGENTS ΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $MTD_GRAPH="

    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFEREDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDTOTAL AGENTS ΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $WTD_GRAPH="

    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFEREDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDTOTAL AGENTS ΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $QTD_GRAPH="

    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFEREDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗEDTOTAL AGENTS ΑΠΑΝΤΗΣΗEDΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG ΑΠΑΝΤΗΣΗ SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; $graph_header=""; $OFFERED_graph=$graph_header.""; $ΑΠΑΝΤΗΣΗED_graph=$graph_header.""; + $AGENTS_graph=$graph_header.""; $ABANDONED_graph=$graph_header.""; $ABANDONPCT_graph=$graph_header.""; $AVGABANDONTIME_graph=$graph_header.""; @@ -703,24 +1005,30 @@ else $totCALLSwtd=0; $totΑΠΑΝΤΗΣΗSwtd=0; + $totAGENTSwtd=0; $AGENTS_wtd_array=array(); $totΑΠΑΝΤΗΣΗSsecwtd=0; $totΑΠΑΝΤΗΣΗSspeedwtd=0; $totABANDONSwtd=0; $totABANDONSsecwtd=0; + $totSTATUSESwtd=array(); $totCALLSmtd=0; $totΑΠΑΝΤΗΣΗSmtd=0; + $totAGENTSmtd=0; $AGENTS_mtd_array=array(); $totΑΠΑΝΤΗΣΗSsecmtd=0; $totΑΠΑΝΤΗΣΗSspeedmtd=0; $totABANDONSmtd=0; $totABANDONSsecmtd=0; + $totSTATUSESmtd=array(); $totCALLSqtd=0; $totΑΠΑΝΤΗΣΗSqtd=0; + $totAGENTSqtd=0; $AGENTS_qtd_array=array(); $totΑΠΑΝΤΗΣΗSsecqtd=0; $totΑΠΑΝΤΗΣΗSspeedqtd=0; $totABANDONSqtd=0; $totABANDONSsecqtd=0; + $totSTATUSESqtd=array(); $d=0; while ($d < $TOTintervals) @@ -767,16 +1075,8 @@ else $totCALLSavgDATE[$d] = 0; $totTIME_MS=' '; } - /* - $totCALLSavgDATE[$d] = sprintf("%6.0f", $totCALLSavgDATE[$d]); - $totDROPSavgDATE[$d] = sprintf("%7.2f", $totDROPSavgDATE[$d]); - $totQUEUEavgDATE[$d] = sprintf("%7.2f", $totQUEUEavgDATE[$d]); - $totQUEUEtotDATE[$d] = sprintf("%7.2f", $totQUEUEtotDATE[$d]); - $totDROPSpctDATE[$d] = sprintf("%6.2f", $totDROPSpctDATE[$d]); - $totQUEUEpctDATE[$d] = sprintf("%6.2f", $totQUEUEpctDATE[$d]); - $totDROPSdate[$d] = sprintf("%6s", $totDROPSdate[$d]); - $totQUEUEdate[$d] = sprintf("%6s", $totQUEUEdate[$d]); - */ $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + if ($totCALLSdate[$d]>0) { @@ -828,6 +1128,7 @@ else if (date("w", strtotime($daySTART[$d]))==0 && date("w", strtotime($daySTART[$d-1]))!=0 && $d>0) { # 2nd date/"w" check is for DST + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); @@ -869,12 +1170,16 @@ else $wtd_graph_stats[$wa][14]=($totΑΠΑΝΤΗΣΗSsecwtd+($totΑΠΑΝΤΗΣΗSwtd*15)); $wtd_graph_stats[$wa][15]=$totΑΠΑΝΤΗΣΗSsecwtd; $totΑΠΑΝΤΗΣΗStotTIMEwtd = sprintf("%10s", floor(($totΑΠΑΝΤΗΣΗSsecwtd+($totΑΠΑΝΤΗΣΗSwtd*15))/3600).date(":i:s", mktime(0, 0, ($totΑΠΑΝΤΗΣΗSsecwtd+($totΑΠΑΝΤΗΣΗSwtd*15))))); + # $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totΑΠΑΝΤΗΣΗSwtd = sprintf("%8s", $totΑΠΑΝΤΗΣΗSwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totΑΠΑΝΤΗΣΗSwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totΑΠΑΝΤΗΣΗSwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -894,21 +1199,33 @@ else $wtd_graph_stats[$wa][8]=trim($totΑΠΑΝΤΗΣΗStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totΑΠΑΝΤΗΣΗSwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totΑΠΑΝΤΗΣΗStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wa++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totΑΠΑΝΤΗΣΗSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd | $totΑΠΑΝΤΗΣΗSavgTIMEwtd | $totΑΠΑΝΤΗΣΗStalkTIMEwtd | $totΑΠΑΝΤΗΣΗSwrapTIMEwtd | $totΑΠΑΝΤΗΣΗStotTIMEwtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totΑΠΑΝΤΗΣΗSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totΑΠΑΝΤΗΣΗSwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd | $totΑΠΑΝΤΗΣΗSavgTIMEwtd | $totΑΠΑΝΤΗΣΗStalkTIMEwtd | $totΑΠΑΝΤΗΣΗSwrapTIMEwtd | $totΑΠΑΝΤΗΣΗStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totΑΠΑΝΤΗΣΗSwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEwtd\""; + for ($s=0; $s0 && date("d", strtotime($daySTART[$d-1]))!=1) { + if (date("d", strtotime($daySTART[$d]))==1 && $d>0 && date("d", strtotime($daySTART[$d-1]))!=1) + { + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); if ($totCALLSmtd>0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -950,6 +1267,8 @@ else $mtd_graph_stats[$ma][14]=($totΑΠΑΝΤΗΣΗSsecmtd+($totΑΠΑΝΤΗΣΗSmtd*15)); $mtd_graph_stats[$ma][15]=$totΑΠΑΝΤΗΣΗSsecmtd; $totΑΠΑΝΤΗΣΗStotTIMEmtd = sprintf("%10s", floor(($totΑΠΑΝΤΗΣΗSsecmtd+($totΑΠΑΝΤΗΣΗSmtd*15))/3600).date(":i:s", mktime(0, 0, ($totΑΠΑΝΤΗΣΗSsecmtd+($totΑΠΑΝΤΗΣΗSmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totΑΠΑΝΤΗΣΗSmtd = sprintf("%8s", $totΑΠΑΝΤΗΣΗSmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); @@ -957,6 +1276,7 @@ else if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totΑΠΑΝΤΗΣΗSmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totΑΠΑΝΤΗΣΗSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} if (round($totΑΠΑΝΤΗΣΗSsecmtd/$totΑΠΑΝΤΗΣΗSmtd)>$max_mtd_avgtalktime) {$max_mtd_avgtalktime=round($totΑΠΑΝΤΗΣΗSsecmtd/$totΑΠΑΝΤΗΣΗSmtd);} if (trim($totΑΠΑΝΤΗΣΗSsecmtd)>$max_mtd_totaltalktime) {$max_mtd_totaltalktime=trim($totΑΠΑΝΤΗΣΗSsecmtd);} @@ -974,21 +1294,32 @@ else $mtd_graph_stats[$ma][8]=trim($totΑΠΑΝΤΗΣΗStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totΑΠΑΝΤΗΣΗSwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totΑΠΑΝΤΗΣΗStotTIMEmtd); + $mtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $ma++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| MTD | $totCALLSmtd | $totΑΠΑΝΤΗΣΗSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEmtd | $totΑΠΑΝΤΗΣΗSavgTIMEmtd | $totΑΠΑΝΤΗΣΗStalkTIMEmtd | $totΑΠΑΝΤΗΣΗSwrapTIMEmtd | $totΑΠΑΝΤΗΣΗStotTIMEmtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totΑΠΑΝΤΗΣΗSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEmtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEmtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEmtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totΑΠΑΝΤΗΣΗSmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEmtd | $totΑΠΑΝΤΗΣΗSavgTIMEmtd | $totΑΠΑΝΤΗΣΗStalkTIMEmtd | $totΑΠΑΝΤΗΣΗSwrapTIMEmtd | $totΑΠΑΝΤΗΣΗStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totΑΠΑΝΤΗΣΗSmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEmtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEmtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1030,6 +1361,8 @@ else $qtd_graph_stats[$qa][14]=($totΑΠΑΝΤΗΣΗSsecqtd+($totΑΠΑΝΤΗΣΗSqtd*15)); $qtd_graph_stats[$qa][15]=$totΑΠΑΝΤΗΣΗSsecqtd; $totΑΠΑΝΤΗΣΗStotTIMEqtd = sprintf("%10s", floor(($totΑΠΑΝΤΗΣΗSsecqtd+($totΑΠΑΝΤΗΣΗSqtd*15))/3600).date(":i:s", mktime(0, 0, ($totΑΠΑΝΤΗΣΗSsecqtd+($totΑΠΑΝΤΗΣΗSqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totΑΠΑΝΤΗΣΗSqtd = sprintf("%8s", $totΑΠΑΝΤΗΣΗSqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); @@ -1037,6 +1370,7 @@ else if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totΑΠΑΝΤΗΣΗSqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totΑΠΑΝΤΗΣΗSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_answers) {$max_qtd_answered=trim($totAGENTSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} if (round($totΑΠΑΝΤΗΣΗSsecqtd/$totΑΠΑΝΤΗΣΗSqtd)>$max_qtd_avgtalktime) {$max_qtd_avgtalktime=round($totΑΠΑΝΤΗΣΗSsecqtd/$totΑΠΑΝΤΗΣΗSqtd);} if (trim($totΑΠΑΝΤΗΣΗSsecqtd)>$max_qtd_totaltalktime) {$max_qtd_totaltalktime=trim($totΑΠΑΝΤΗΣΗSsecqtd);} @@ -1067,20 +1401,40 @@ else $qtd_graph_stats[$qa][8]=trim($totΑΠΑΝΤΗΣΗStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totΑΠΑΝΤΗΣΗSwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totΑΠΑΝΤΗΣΗStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qa++; - $ASCII_text.="| QTD | $totCALLSqtd | $totΑΠΑΝΤΗΣΗSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd | $totΑΠΑΝΤΗΣΗSavgTIMEqtd | $totΑΠΑΝΤΗΣΗStalkTIMEqtd | $totΑΠΑΝΤΗΣΗSwrapTIMEqtd | $totΑΠΑΝΤΗΣΗStotTIMEqtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totΑΠΑΝΤΗΣΗSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEqtd\"\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totΑΠΑΝΤΗΣΗSqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd | $totΑΠΑΝΤΗΣΗSavgTIMEqtd | $totΑΠΑΝΤΗΣΗStalkTIMEqtd | $totΑΠΑΝΤΗΣΗSwrapTIMEqtd | $totΑΠΑΝΤΗΣΗStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totΑΠΑΝΤΗΣΗSqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEqtd\""; + for ($s=0; $s$max_offered) {$max_offered=trim($totCALLSdate[$d]);} if (trim($totΑΠΑΝΤΗΣΗSdate[$d])>$max_answered) {$max_answered=trim($totΑΠΑΝΤΗΣΗSdate[$d]);} + if (trim($totAGENTSday)>$max_agents) {$max_agents=trim($totAGENTSday);} if (trim($totABANDONSdate[$d])>$max_abandoned) {$max_abandoned=trim($totABANDONSdate[$d]);} if (trim($totABANDONSpctDATE[$d])>$max_abandonpct) {$max_abandonpct=trim($totABANDONSpctDATE[$d]);} @@ -1119,9 +1474,19 @@ else $graph_stats[$d][8]=trim($totΑΠΑΝΤΗΣΗStalkTIME[$d]); $graph_stats[$d][9]=trim($totΑΠΑΝΤΗΣΗSwrapTIME[$d]); $graph_stats[$d][10]=trim($totΑΠΑΝΤΗΣΗStotTIME[$d]); + $graph_stats[$d][17]=trim($totAGENTSday); - $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totΑΠΑΝΤΗΣΗSdate[$d] | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totΑΠΑΝΤΗΣΗSavgspeedTIME[$d] | $totΑΠΑΝΤΗΣΗSavgTIME[$d] | $totΑΠΑΝΤΗΣΗStalkTIME[$d] | $totΑΠΑΝΤΗΣΗSwrapTIME[$d] | $totΑΠΑΝΤΗΣΗStotTIME[$d] |\n"; - $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totΑΠΑΝΤΗΣΗSdate[$d]\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIME[$d]\",\"$totΑΠΑΝΤΗΣΗSavgTIME[$d]\",\"$totΑΠΑΝΤΗΣΗStalkTIME[$d]\",\"$totΑΠΑΝΤΗΣΗSwrapTIME[$d]\",\"$totΑΠΑΝΤΗΣΗStotTIME[$d]\"\n"; + $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totΑΠΑΝΤΗΣΗSdate[$d] | $totAGENTSday | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totΑΠΑΝΤΗΣΗSavgspeedTIME[$d] | $totΑΠΑΝΤΗΣΗSavgTIME[$d] | $totΑΠΑΝΤΗΣΗStalkTIME[$d] | $totΑΠΑΝΤΗΣΗSwrapTIME[$d] | $totΑΠΑΝΤΗΣΗStotTIME[$d] |"; + $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totΑΠΑΝΤΗΣΗSdate[$d]\",\"$totAGENTSday\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIME[$d]\",\"$totΑΠΑΝΤΗΣΗSavgTIME[$d]\",\"$totΑΠΑΝΤΗΣΗStalkTIME[$d]\",\"$totΑΠΑΝΤΗΣΗSwrapTIME[$d]\",\"$totΑΠΑΝΤΗΣΗStotTIME[$d]\""; + for ($s=0; $s0) { - if ($totCALLSwtd>0) + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); } @@ -1251,12 +1617,15 @@ else $wtd_graph_stats[$wa][14]=($totΑΠΑΝΤΗΣΗSsecwtd+($totΑΠΑΝΤΗΣΗSwtd*15)); $wtd_graph_stats[$wa][15]=$totΑΠΑΝΤΗΣΗSsecwtd; $totΑΠΑΝΤΗΣΗStotTIMEwtd = sprintf("%10s", floor(($totΑΠΑΝΤΗΣΗSsecwtd+($totΑΠΑΝΤΗΣΗSwtd*15))/3600).date(":i:s", mktime(0, 0, ($totΑΠΑΝΤΗΣΗSsecwtd+($totΑΠΑΝΤΗΣΗSwtd*15))))); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totΑΠΑΝΤΗΣΗSwtd = sprintf("%8s", $totΑΠΑΝΤΗΣΗSwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totΑΠΑΝΤΗΣΗSwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totΑΠΑΝΤΗΣΗSwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -1277,8 +1646,10 @@ else $wtd_graph_stats[$wa][8]=trim($totΑΠΑΝΤΗΣΗStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totΑΠΑΝΤΗΣΗSwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totΑΠΑΝΤΗΣΗStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wtd_OFFERED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $OFFERED_graph); $wtd_ΑΠΑΝΤΗΣΗED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ΑΠΑΝΤΗΣΗED_graph); + $wtd_AGENTS_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $AGENTS_graph); $wtd_ABANDONED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONED_graph); $wtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONPCT_graph); $wtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$AVGABANDONTIME_graph); @@ -1291,6 +1662,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($wtd_graph_stats)) {$class=" last";} else {$class="";} $wtd_OFFERED_graph.=" "; $wtd_ΑΠΑΝΤΗΣΗED_graph.=" "; + $wtd_AGENTS_graph.=" "; $wtd_ABANDONED_graph.=" "; $wtd_ABANDONPCT_graph.=" "; $wtd_AVGABANDONTIME_graph.=" "; @@ -1301,11 +1673,19 @@ else $wtd_TOTALCALLTIME_graph.=" "; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totΑΠΑΝΤΗΣΗSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd | $totΑΠΑΝΤΗΣΗSavgTIMEwtd | $totΑΠΑΝΤΗΣΗStalkTIMEwtd | $totΑΠΑΝΤΗΣΗSwrapTIMEwtd | $totΑΠΑΝΤΗΣΗStotTIMEwtd |\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totΑΠΑΝΤΗΣΗSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totΑΠΑΝΤΗΣΗSwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd | $totΑΠΑΝΤΗΣΗSavgTIMEwtd | $totΑΠΑΝΤΗΣΗStalkTIMEwtd | $totΑΠΑΝΤΗΣΗSwrapTIMEwtd | $totΑΠΑΝΤΗΣΗStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totΑΠΑΝΤΗΣΗSwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEwtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEwtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEwtd\""; + for ($s=0; $s0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -1355,12 +1736,15 @@ else $mtd_graph_stats[$ma][14]=($totΑΠΑΝΤΗΣΗSsecmtd+($totΑΠΑΝΤΗΣΗSmtd*15)); $mtd_graph_stats[$ma][15]=$totΑΠΑΝΤΗΣΗSsecmtd; $totΑΠΑΝΤΗΣΗStotTIMEmtd = sprintf("%10s", floor(($totΑΠΑΝΤΗΣΗSsecmtd+($totΑΠΑΝΤΗΣΗSmtd*15))/3600).date(":i:s", mktime(0, 0, ($totΑΠΑΝΤΗΣΗSsecmtd+($totΑΠΑΝΤΗΣΗSmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totΑΠΑΝΤΗΣΗSmtd = sprintf("%8s", $totΑΠΑΝΤΗΣΗSmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totΑΠΑΝΤΗΣΗSmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totΑΠΑΝΤΗΣΗSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} @@ -1381,8 +1765,10 @@ else $mtd_graph_stats[$ma][8]=trim($totΑΠΑΝΤΗΣΗStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totΑΠΑΝΤΗΣΗSwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totΑΠΑΝΤΗΣΗStotTIMEmtd); + $wtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $mtd_OFFERED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$OFFERED_graph); $mtd_ΑΠΑΝΤΗΣΗED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ΑΠΑΝΤΗΣΗED_graph); + $mtd_AGENTS_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE', $AGENTS_graph); $mtd_ABANDONED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONED_graph); $mtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONPCT_graph); $mtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$AVGABANDONTIME_graph); @@ -1395,6 +1781,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($mtd_graph_stats)) {$class=" last";} else {$class="";} $mtd_OFFERED_graph.=" "; $mtd_ΑΠΑΝΤΗΣΗED_graph.=" "; + $mtd_AGENTS_graph.=" "; $mtd_ABANDONED_graph.=" "; $mtd_ABANDONPCT_graph.=" "; $mtd_AVGABANDONTIME_graph.=" "; @@ -1405,6 +1792,7 @@ else $mtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSmtd+=$mtd_graph_stats[$q][1]; $graph_totΑΠΑΝΤΗΣΗSmtd+=$mtd_graph_stats[$q][2]; + $graph_totAGENTSmtd+=$mtd_graph_stats[$q][17]; $graph_totABANDONSmtd+=$mtd_graph_stats[$q][3]; $graph_totABANDONSpctmtd+=$mtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEmtd+=$mtd_graph_stats[$q][5]; @@ -1414,12 +1802,20 @@ else $graph_totΑΠΑΝΤΗΣΗSwrapTIMEmtd+=$mtd_graph_stats[$q][9]; $graph_totΑΠΑΝΤΗΣΗStotTIMEmtd+=$mtd_graph_stats[$q][10]; } + + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totΑΠΑΝΤΗΣΗSmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEmtd | $totΑΠΑΝΤΗΣΗSavgTIMEmtd | $totΑΠΑΝΤΗΣΗStalkTIMEmtd | $totΑΠΑΝΤΗΣΗSwrapTIMEmtd | $totΑΠΑΝΤΗΣΗStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totΑΠΑΝΤΗΣΗSmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEmtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEmtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEmtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1468,12 +1865,15 @@ else $qtd_graph_stats[$qa][14]=($totΑΠΑΝΤΗΣΗSsecqtd+($totΑΠΑΝΤΗΣΗSqtd*15)); $qtd_graph_stats[$qa][15]=$totΑΠΑΝΤΗΣΗSsecqtd; $totΑΠΑΝΤΗΣΗStotTIMEqtd = sprintf("%10s", floor(($totΑΠΑΝΤΗΣΗSsecqtd+($totΑΠΑΝΤΗΣΗSqtd*15))/3600).date(":i:s", mktime(0, 0, ($totΑΠΑΝΤΗΣΗSsecqtd+($totΑΠΑΝΤΗΣΗSqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totΑΠΑΝΤΗΣΗSqtd = sprintf("%8s", $totΑΠΑΝΤΗΣΗSqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totΑΠΑΝΤΗΣΗSqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totΑΠΑΝΤΗΣΗSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_agents) {$max_qtd_agents=trim($totAGENTSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} @@ -1507,8 +1907,10 @@ else $qtd_graph_stats[$qa][8]=trim($totΑΠΑΝΤΗΣΗStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totΑΠΑΝΤΗΣΗSwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totΑΠΑΝΤΗΣΗStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qtd_OFFERED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$OFFERED_graph); $qtd_ΑΠΑΝΤΗΣΗED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ΑΠΑΝΤΗΣΗED_graph); + $qtd_AGENTS_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AGENTS_graph); $qtd_ABANDONED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONED_graph); $qtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONPCT_graph); $qtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AVGABANDONTIME_graph); @@ -1521,6 +1923,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($qtd_graph_stats)) {$class=" last";} else {$class="";} $qtd_OFFERED_graph.=" "; $qtd_ΑΠΑΝΤΗΣΗED_graph.=" "; + $qtd_AGENTS_graph.=" "; $qtd_ABANDONED_graph.=" "; $qtd_ABANDONPCT_graph.=" "; $qtd_AVGABANDONTIME_graph.=" "; @@ -1531,6 +1934,7 @@ else $qtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSqtd+=$qtd_graph_stats[$q][1]; $graph_totΑΠΑΝΤΗΣΗSqtd+=$qtd_graph_stats[$q][2]; + $graph_totAGENTSqtd+=$qtd_graph_stats[$q][17]; $graph_totABANDONSqtd+=$qtd_graph_stats[$q][3]; $graph_totABANDONSpctqtd+=$qtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEqtd+=$qtd_graph_stats[$q][5]; @@ -1541,11 +1945,19 @@ else $graph_totΑΠΑΝΤΗΣΗStotTIMEqtd+=$qtd_graph_stats[$q][10]; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| QTD | $totCALLSqtd | $totΑΠΑΝΤΗΣΗSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd | $totΑΠΑΝΤΗΣΗSavgTIMEqtd | $totΑΠΑΝΤΗΣΗStalkTIMEqtd | $totΑΠΑΝΤΗΣΗSwrapTIMEqtd | $totΑΠΑΝΤΗΣΗStotTIMEqtd |\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totΑΠΑΝΤΗΣΗSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEqtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totΑΠΑΝΤΗΣΗSqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd | $totΑΠΑΝΤΗΣΗSavgTIMEqtd | $totΑΠΑΝΤΗΣΗStalkTIMEqtd | $totΑΠΑΝΤΗΣΗSwrapTIMEqtd | $totΑΠΑΝΤΗΣΗStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totΑΠΑΝΤΗΣΗSqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgspeedTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSavgTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStalkTIMEqtd\",\"$totΑΠΑΝΤΗΣΗSwrapTIMEqtd\",\"$totΑΠΑΝΤΗΣΗStotTIMEqtd\""; + for ($s=0; $s"; $ΑΠΑΝΤΗΣΗED_graph.=" "; + $AGENTS_graph.=" "; $ABANDONED_graph.=" "; $ABANDONPCT_graph.=" "; $AVGABANDONTIME_graph.=" "; @@ -1568,6 +1981,7 @@ else } $OFFERED_graph.="
    DAILY RPT - $query_date_BEGIN to $query_date_END
    DATE/TIME RANGEΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣOFFERED
    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣΑΠΑΝΤΗΣΗED
    TOTAL AGENTS ΑΠΑΝΤΗΣΗED
    ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣABANDONED
    TOTAL ABANDON PERCENT
    AVG ABANDON TIME
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][1]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][2]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][17]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][3]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][4]."%
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][5]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][10]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][1]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][2]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][17]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][3]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][4]."%
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][5]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][10]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][1]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][2]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][17]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][3]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][4]."%
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][5]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][10]."
    ".$graph_stats[$q][1]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][2]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][17]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][3]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][4]."%
    ".$graph_stats[$q][0]."".$graph_stats[$q][5]."
    TOTAL:".trim($FtotCALLS)."
    "; $ΑΠΑΝΤΗΣΗED_graph.="
    TOTAL:".trim($FtotΑΠΑΝΤΗΣΗS)."
    "; + $AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1580,6 +1994,7 @@ else $JS_text.="function DrawGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$OFFERED_graph\";\n"; $JS_text.=" var ΑΠΑΝΤΗΣΗED_graph=\"$ΑΠΑΝΤΗΣΗED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$AVGABANDONTIME_graph\";\n"; @@ -1600,6 +2015,7 @@ else $JS_text.="}\n"; $wtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $wtd_ΑΠΑΝΤΗΣΗED_graph.="
    TOTAL:".trim($FtotΑΠΑΝΤΗΣΗS)."
    "; + $wtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $wtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $wtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $wtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1612,6 +2028,7 @@ else $JS_text.="function DrawWTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$wtd_OFFERED_graph\";\n"; $JS_text.=" var ΑΠΑΝΤΗΣΗED_graph=\"$wtd_ΑΠΑΝΤΗΣΗED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$wtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$wtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$wtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$wtd_AVGABANDONTIME_graph\";\n"; @@ -1632,6 +2049,7 @@ else $JS_text.="}\n"; $mtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $mtd_ΑΠΑΝΤΗΣΗED_graph.="
    TOTAL:".trim($FtotΑΠΑΝΤΗΣΗS)."
    "; + $mtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $mtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $mtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $mtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1644,6 +2062,7 @@ else $JS_text.="function DrawMTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$mtd_OFFERED_graph\";\n"; $JS_text.=" var ΑΠΑΝΤΗΣΗED_graph=\"$mtd_ΑΠΑΝΤΗΣΗED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$mtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$mtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$mtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$mtd_AVGABANDONTIME_graph\";\n"; @@ -1664,6 +2083,7 @@ else $JS_text.="}\n"; $qtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $qtd_ΑΠΑΝΤΗΣΗED_graph.="
    TOTAL:".trim($FtotΑΠΑΝΤΗΣΗS)."
    "; + $qtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $qtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $qtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $qtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1676,6 +2096,7 @@ else $JS_text.="function DrawQTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$qtd_OFFERED_graph\";\n"; $JS_text.=" var ΑΠΑΝΤΗΣΗED_graph=\"$qtd_ΑΠΑΝΤΗΣΗED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$qtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$qtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$qtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$qtd_AVGABANDONTIME_graph\";\n"; @@ -1694,12 +2115,41 @@ else $JS_text.=" var graph_to_display=eval(graph+\"_graph\");\n"; $JS_text.=" document.getElementById('QTD_stats_graph').innerHTML=graph_to_display;\n"; $JS_text.="}\n"; + $FtotAGENTS = sprintf("%8s", $FtotAGENTS); + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| TOTALS | $FtotCALLS | $FtotΑΠΑΝΤΗΣΗS | $FtotAGENTS | $FtotABANDONS | $FtotABANDONSpct%| $FtotABANDONSavgTIME | $FtotΑΠΑΝΤΗΣΗSavgspeedTIME | $FtotΑΠΑΝΤΗΣΗSavgTIME | $FtotΑΠΑΝΤΗΣΗStalkTIME | $FtotΑΠΑΝΤΗΣΗSwrapTIME | $FtotΑΠΑΝΤΗΣΗStotTIME |"; + $CSV_text.="\"TOTALS\",\"$FtotCALLS\",\"$FtotΑΠΑΝΤΗΣΗS\",\"$FtotAGENTS\",\"$FtotABANDONS\",\"$FtotABANDONSpct%\",\"$FtotABANDONSavgTIME\",\"$FtotΑΠΑΝΤΗΣΗSavgspeedTIME\",\"$FtotΑΠΑΝΤΗΣΗSavgTIME\",\"$FtotΑΠΑΝΤΗΣΗStalkTIME\",\"$FtotΑΠΑΝΤΗΣΗSwrapTIME\",\"$FtotΑΠΑΝΤΗΣΗStotTIME\""; + for ($s=0; $s 0) @@ -1777,18 +2228,139 @@ else flush(); echo "$CSV_text"; - - exit; } else { - echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + if ($file_download < 1) + {echo "\n";} + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + + +function HourDifference($time_BEGIN, $time_END) { + global $hpd; + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} +} + +function RecalculateEpochs($query_date_BEGIN, $query_date_END) { + global $query_date_BEGIN, $query_date_END, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + #$EQdate_ARY = explode(' ',$query_date_END); + #$EQday_ARY = explode('-',$EQdate_ARY[0]); + #$EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + #$EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + #$EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); +} + +function RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END) { + global $hpd, $query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END; + global $DURATIONday, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} + + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + $EQdate_ARY = explode(' ',$query_date_END); + $EQday_ARY = explode('-',$EQdate_ARY[0]); + $EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); + + if (!$DURATIONday) + { + $DURATIONsec = ($EQepoch - $SQepoch); + $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); + + if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) + { + $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); + $query_date_END = date("Y-m-d H:i:s", $EQepoch); + $DURATIONday++; + } + } +} ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_server_performance.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_server_performance.php index 0a0021fa..d55a660c 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_server_performance.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_server_performance.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0157 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -59,15 +62,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -88,6 +82,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -223,10 +246,10 @@ $TOTALcalls = sprintf("%10s", $row[0]); $OFFHOOKtime = sprintf("%10s", $row[1]); -echo "Total Calls in/out on this server: $TOTALcalls\n"; +echo "Total Calls in/out on this διακομιστή: $TOTALcalls\n"; echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n"; -echo "Average/Peak channels in use for server: $AVGchannels / $HIGHchannels\n"; -echo "Average/Peak load for server: $AVGload / $HIGHload\n"; +echo "Average/Peak channels in use for διακομιστή: $AVGchannels / $HIGHchannels\n"; +echo "Average/Peak load for διακομιστή: $AVGload / $HIGHload\n"; echo "Average USER process cpu percentage: $AVGcpuUSER %\n"; echo "Average SYSTEM process cpu percentage: $AVGcpuSYSTEM %\n"; echo "Average IDLE process cpu percentage: $AVGcpuIDLE %\n"; @@ -397,6 +420,24 @@ echo ""; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_team_performance_detail.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_team_performance_detail.php index 7fb514e7..3a8c3fe0 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_team_performance_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_team_performance_detail.php @@ -6,7 +6,7 @@ # QC statuses of QCFAIL, QCCANC and sales are defined by the Sale=Y status # flags being set on those statuses. # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 111104-1259 - Added user_group restrictions for selecting in-groups # 120224-1424 - Added new colums and PRECAL to System Time # 120307-1926 - Added additional statuses option and HTML display option +# 130414-0142 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,15 +73,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -104,6 +98,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -623,9 +646,9 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ=="ΕΠΙΒΕΒΑΙΩΣΗ") $j=0; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Επαφές | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Επαφές Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Επαφές Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; while ($user_row=mysql_fetch_array($user_rslt)) { $j++; @@ -1080,7 +1103,7 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ=="ΕΠΙΒΕΒΑΙΩΣΗ") $ASCII_text.="--- CALL CENTER TOTAL\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Team Name | Team ID | Calls | Leads | Επαφές | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Επαφές Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; $ASCII_text.=$GROUP_text; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; @@ -1186,7 +1209,7 @@ if ($ΕΠΙΒΕΒΑΙΩΣΗ=="ΕΠΙΒΕΒΑΙΩΣΗ") $ASCII_text.="\n"; $CSV_text.="\"\",\"CALL CENTER TOTAL\"\n"; - $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Επαφές Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; $CSV_text.=$GROUP_CSV_text; $CSV_text.="\"\",\"\",\"TOTALS:\",\"$total_calls\",\"$total_leads\",\"$total_contacts\",\"$total_contact_ratio %\",\"".sec_convert($total_nonpause_time,'H')."\",\"".sec_convert($total_system_time,'H')."\",\"".sec_convert($total_talk_time,'H')."\",\"$total_sales\",\"$sales_per_working_hours\",\"$total_sales_ratio\",\"$total_sale_contact_ratio\",\"$total_sales_per_hour\",\"$total_inc_sales\",\"$total_cnc_sales\",\"$total_callbacks\",\"$total_stcall\",\"$total_average_sale_time\",\"$total_average_contact_time\"$CSV_status_text\n"; for ($d=0; $d0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1327,4 +1348,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/AST_timeonVDADall.php b/agc_2-X/trunk/LANG_www/vicidial_el/AST_timeonVDADall.php index f743ef76..27c47102 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/AST_timeonVDADall.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/AST_timeonVDADall.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -76,10 +76,14 @@ # 110314-1735 - Fixed another query that was causing load spikes on systems with millions of log entries # 111103-1220 - Added admin_hide_phone_data and admin_hide_lead_data options # 120223-1934 - Added user group options +# 120612-2150 - Added percentages to counts for carrier stats and TOTAL line to carrier display stats as well +# 121222-2151 - Added email status +# 130214-1323 - Added link to in-group selected users report for in-queue inbound calls +# 130424-1357 - Fixed issue with pause codes display # -$version = '2.4-67'; -$build = '120223-1934'; +$version = '2.6-70'; +$build = '130424-1357'; header ("Content-type: text/html; charset=utf-8"); @@ -1292,6 +1296,7 @@ if ($CARRIERstats > 0) $row=mysql_fetch_row($rslt); $TFhour_status[$ctp] = $row[0]; $TFhour_count[$ctp] = $row[1]; + $TFhour_total+=$row[1]; $dialstatuses .= "'$row[0]',"; $ctp++; } @@ -1320,6 +1325,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $SIXhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1338,6 +1344,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1356,6 +1363,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FTminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1374,6 +1382,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FIVEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1392,6 +1401,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1415,16 +1425,27 @@ if ($CARRIERstats > 0) $CARRIERstatsHTML .= "
         $TFhour_status[$print_ctp] $TFhour_count[$print_ctp] $SIXhour_count[$print_ctp] $ONEhour_count[$print_ctp] $FTminute_count[$print_ctp] $FIVEminute_count[$print_ctp] $ONEminute_count[$print_ctp]     $TFhour_status[$print_ctp] $TFhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($TFhour_count[$print_ctp]/$TFhour_total)))."% $SIXhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($SIXhour_count[$print_ctp]/$SIXhour_total)))."% $ONEhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEhour_count[$print_ctp]/$ONEhour_total)))."% $FTminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FTminute_count[$print_ctp]/$FTminute_total)))."% $FIVEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FIVEminute_count[$print_ctp]/$FIVEminute_total)))."% $ONEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEminute_count[$print_ctp]/$ONEminute_total)))."%
         TOTALS ".($TFhour_total+0)." ".($SIXhour_total+0)." ".($ONEhour_total+0)." ".($FTminute_total+0)." ".($FIVEminute_total+0)." ".($ONEminute_total+0)."
    Source Χρήστης:
    Χρήστης πηγή: $NWB#vicidial_campaigns-user_group$NWE
    Ενεργή:$NWB#vicidial_campaigns-active$NWE
    Πάρκο Μουσική-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Πάρκο Μουσική-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Ιστο-σελίδα: $NWB#vicidial_campaigns-web_form_address$NWE
    Χρόνος Τοπικής Κλήσης: $NWB#vicidial_campaigns-local_call_time$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: $NWB#vicidial_campaigns-voicemail_ext$NWE
    ID Λίστας: (μόνο αριθμοί)$NWB#vicidial_lists-list_id$NWE
    ID Λίστας: (μόνο αριθμοί)$NWB#vicidial_lists-list_id$NWE
    Ονομα Λίστας: $NWB#vicidial_lists-list_name$NWE
    Περιγραφή καταλόγων: $NWB#vicidial_lists-list_description$NWE
    \n"; echo ""; @@ -9444,6 +10036,9 @@ if ($ADD==121) if ($ADD==171) { + ### filter for Letters DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^\n0-9a-zA-Z]","",$phone_numbers); + echo "\n"; + if ($SSallow_emails>0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; + echo "
    \n"; echo ""; @@ -9598,6 +10193,75 @@ if ($ADD==1111) if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} echo "
    Κατά την έναρξη κλήσης: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Χειρισμός Ομάδα: $NWB#vicidial_inbound_groups-group_handling$NWE
    \n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } + +###################### +# ADD=1811 display the ADD NEW EMAIL GROUP SCREEN +###################### + +if ($ADD==1811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW EMAIL GROUP
    \n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + # echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $eswHTML=''; $cfwHTML=''; + if ($SSenable_second_webform > 0) + {$eswHTML = '';} + if ($SScustom_fields_enabled > 0) + {$cfwHTML = '';} + echo "\n"; echo "\n"; echo "
    ID Ομάδας: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    ID Ομάδας: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Ονομα Ομάδας: $NWB#vicidial_inbound_groups-group_name$NWE
    Χρώμα Ομάδας: $NWB#vicidial_inbound_groups-group_color$NWE
    Ενεργή:$NWB#vicidial_inbound_groups-active$NWE
    Διαχειριστής Ομάδα Χρηστών: $NWB#vicidial_inbound_groups-user_group$NWE
    Ιστο-σελίδα: $NWB#vicidial_inbound_groups-web_form_address$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Επόμενη Email Agent: $NWB#vicidial_inbound_groups-next_agent_call$NWE
    Μπροστινή Οθόνη: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Βοηθός: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Κατά την έναρξη κλήσης: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    \n"; } @@ -9671,6 +10335,67 @@ if ($ADD==1211) } } +###################### +# ADD=1911 display the COPY EMAIL INBOUND GROUP SCREEN +###################### + +if ($ADD==1911) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    COPY GROUP EMAIL\n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Όνομα Email Ομάδα: $NWB#vicidial_inbound_groups-group_name$NWE
    Πηγή ID ομάδας Email:$NWB#vicidial_inbound_groups-group_id$NWE
    \n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } ###################### # ADD=1311 display the ADD NEW DID SCREEN @@ -10060,7 +10785,7 @@ if ($ADD==1111111) echo "
    Κείμενο χειρόγραφου: "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -10267,6 +10993,53 @@ if ($ADD==1111111111) } +###################### +# ADD=1211111111 display the ADD NEW HOLIDAY SCREEN +###################### + +if ($ADD==1211111111) + { + if ($LOGmodify_call_times==1) + { + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -22685,7 +24260,7 @@ if ($ADD==34) $rslt=mysql_query($stmt, $link); } - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group,allow_emails,call_count_limit from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $dial_status_a = $row[3]; @@ -22723,6 +24298,8 @@ if ($ADD==34) $drop_lockout_time = $row[116]; $display_leads_count = $row[130]; $user_group = $row[131]; + $allow_emails = $row[132]; + $call_count_limit = $row[133]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -22851,6 +24428,11 @@ if ($ADD==34) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) + { + echo "\n"; + } + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -23147,7 +24729,9 @@ if ($ADD==34) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $whereLOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -23156,8 +24740,8 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; - echo "\n"; - echo ""; + echo "\n"; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -23189,6 +24773,11 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; @@ -23196,7 +24785,7 @@ if ($ADD==34) $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; + echo ""; + + echo "
    ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    Holiday ID: (όχι κενά ή στίξη)$NWB#vicidial_call_times-holiday_id$NWE
    Όνομα διακοπών: (σύντομη περιγραφή των διακοπών)$NWB#vicidial_call_times-holiday_name$NWE
    Σχόλια για διακοπές: $NWB#vicidial_call_times-holiday_comments$NWE
    Ημερομηνία διακοπών: $NWB#vicidial_call_times-holiday_date$NWE\n"; + echo "
    Διαχειριστής Ομάδα Χρηστών: $NWB#vicidial_call_times-user_group$NWE
    Ημέρα και ώρα επιλογές θα εμφανιστούν αφού έχετε δημιουργήσει το Ορισμός διακοπών
    \n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } + + ###################### # ADD=131111111 display the ADD NEW SHIFT SCREEN ###################### @@ -10878,289 +11651,295 @@ if ($ADD==11111111111111) if ($ADD=="2") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας χρήστης με αυτό τον αριθμό\n";} else { - if (ereg('AUTOGENERA',$user)) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - $user = 'AUTOGENERA'; - } - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) - { - echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    το πλήρες όνομα και κωδικός πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; - echo "
    πρέπει να επιλέξετε μια ομάδα χρηστών\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας χρήστης με αυτό τον αριθμό\n";} else { if (ereg('AUTOGENERA',$user)) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) + { + echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    το πλήρες όνομα και κωδικός πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + echo "
    πρέπει να επιλέξετε μια ομάδα χρηστών\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; + echo "
    ΧΡΗΣΤΗΣ ΠΡΟΣΤΕΘΗΚΕ: $user\n"; - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; $rslt=mysql_query($stmt, $link); - } - echo "
    ΧΡΗΣΤΗΣ ΠΡΟΣΤΕΘΗΚΕ: $user\n"; - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΧΡΗΣΤΕΣ', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΧΡΗΣΤΕΣ', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Ενεργό'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Ενεργό'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### + ### END vtiger integration } - ### END vtiger integration } } - $ADD=3; } @@ -11170,292 +11949,299 @@ if ($ADD=="2") if ($ADD=="2A") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας χρήστης με αυτό τον αριθμό\n";} else { - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    το πλήρες όνομα και κωδικός πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; - echo "\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας χρήστης με αυτό τον αριθμό\n";} else { - if (ereg('AUTOGEN',$user)) + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + echo "
    Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    το πλήρες όνομα και κωδικός πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGEN',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; - - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); - } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; - $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΧΡΗΣΤΕΣ', event_type='COPY', record_id='$user', event_code='ADMIN ΧΡΗΣΤΗΣ ΑΝΤΙΓΡΑΦΩΝ', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΧΡΗΣΤΕΣ', event_type='COPY', record_id='$user', event_code='ADMIN ΧΡΗΣΤΗΣ ΑΝΤΙΓΡΑΦΩΝ', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Ενεργό'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Ενεργό'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } + ### END vtiger integration - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} + echo "
    USER COPIED: $user copied from $source_user_id\n"; + echo "

    \n"; + echo "Click here to go to the user record\n"; + echo "

    \n"; - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### } - ### END vtiger integration - - echo "
    USER COPIED: $user copied from $source_user_id\n"; - echo "

    \n"; - echo "Click here to go to the user record\n"; - echo "

    \n"; - } } exit; @@ -11467,76 +12253,83 @@ if ($ADD=="2A") if ($ADD==21) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εκστρατεία με αυτό το ID\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εκστρατεία με αυτό το ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) - { - echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; - echo "
    το όνομα της εκστρατείας πρέπει να είναι μεταξύ 6 και 40 χαρακτήρες\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    ΕΚΣΤΡΑΤΕΙΑ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
    το όνομα της εκστρατείας πρέπει να είναι μεταξύ 6 και 40 χαρακτήρες\n"; + } + else + { + echo "
    ΕΚΣΤΡΑΤΕΙΑ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11549,94 +12342,101 @@ if ($ADD==21) if ($ADD==20) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εκστρατεία με αυτό το ID\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εκστρατεία με αυτό το ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) - { - echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; - echo "
    source το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
    source το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + } + else + { + echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_ανανέωσης,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_ανανέωσης,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_ανανέωσης,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_ανανέωσης,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11649,41 +12449,48 @@ if ($ADD==20) if ($ADD==22) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη κατάσταση-εκστρατείας με αυτό το όνομα\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία καθολική-κατάσταση με αυτό το όνομα\n";} + {echo "
    Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη κατάσταση-εκστρατείας με αυτό το όνομα\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; - echo "
    το όνομα της κατάστασης πρέπει να είναι μεταξύ 2 και 30 χαρακτήρρες\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία καθολική-κατάσταση με αυτό το όνομα\n";} else { - echo "
    ΚΑΤΑΣΤΑΣΗ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $status_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; + echo "
    το όνομα της κατάστασης πρέπει να είναι μεταξύ 2 και 30 χαρακτήρρες\n"; + } + else + { + echo "
    ΚΑΤΑΣΤΑΣΗ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $status_id\n"; - $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ STATUS', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$status_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ STATUS', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$status_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -11698,38 +12505,45 @@ if ($ADD==22) if ($ADD==23) { - $HKstatus_data = explode('-----',$HKstatus); - $status = $HKstatus_data[0]; - $status_name = $HKstatus_data[1]; - - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) - { - echo "
    ΤΟ ΚΛΕΙΔΙ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    hotkey must be a single character between 1 and 9 \n"; - echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; - } + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} else { - echo "
    ΚΛΕΙΔΙ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $status - $hotkey\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    ΤΟ ΚΛΕΙΔΙ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    hotkey must be a single character between 1 and 9 \n"; + echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; + } + else + { + echo "
    ΚΛΕΙΔΙ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $status - $hotkey\n"; - $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ HOTKEY', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$status|HotKey: $hotkey';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ HOTKEY', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=23; @@ -11743,36 +12557,43 @@ if ($ADD==23) if ($ADD==25) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΑΝΑΚΥΚΛΩΣΗΣ ΜΟΛΥΒΔΟΥ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - υπάρχει ήδη έναςμόλυβδος-ανακύκλωσης για αυτήν την εκστρατεία με αυτήν την θέση\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) - { - echo "
    ΑΝΑΚΥΚΛΩΣΗΣ ΜΟΛΥΒΔΟΥ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - παρακαλώ επιστρέψτεκαι εξετάστε τα στοιχεία που εισαγάγατε\n"; - echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; - echo "
    η καθυστέρηση προσπάθειας πρέπει να είναι τουλάχιστον 120δευτερόλεπτα και λιγότερο από 43.200 δευτερολέπτων ή 12 ωρών\n"; - echo "
    οι μέγιστες προσπάθειες πρέπει να είναι από 1 έως 10\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΑΝΑΚΥΚΛΩΣΗΣ ΜΟΛΥΒΔΟΥ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - υπάρχει ήδη έναςμόλυβδος-ανακύκλωσης για αυτήν την εκστρατεία με αυτήν την θέση\n";} else { - echo "
    ΠΡΟΣΤΙΘΕΜΕΝΟΣ ΟΔΗΓΟΣ ΑΝΑΚΥΚΛΩΣΗΣ ΕΚΣΤΡΑΤΕΙΑΣ: $campaign_id - $status - $attempt_delay\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    ΑΝΑΚΥΚΛΩΣΗΣ ΜΟΛΥΒΔΟΥ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - παρακαλώ επιστρέψτεκαι εξετάστε τα στοιχεία που εισαγάγατε\n"; + echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + echo "
    η καθυστέρηση προσπάθειας πρέπει να είναι τουλάχιστον 120δευτερόλεπτα και λιγότερο από 43.200 δευτερολέπτων ή 12 ωρών\n"; + echo "
    οι μέγιστες προσπάθειες πρέπει να είναι από 1 έως 10\n"; + } + else + { + echo "
    ΠΡΟΣΤΙΘΕΜΕΝΟΣ ΟΔΗΓΟΣ ΑΝΑΚΥΚΛΩΣΗΣ ΕΚΣΤΡΑΤΕΙΑΣ: $campaign_id - $status - $attempt_delay\n"; - $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$status';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=25; @@ -11786,40 +12607,47 @@ if ($ADD==25) if ($ADD==26) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτήν τηνθέση\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτήν τηνθέση\n";} else { - echo "
    ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + } + else + { + echo "
    ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ: $campaign_id - $status\n"; - $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $auto_alt_dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ ALT DIAL', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$auto_alt_dial_statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ ALT DIAL', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$auto_alt_dial_statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=26; @@ -11833,34 +12661,41 @@ if ($ADD==26) if ($ADD==27) { - echo ""; - $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτόν τονκώδικα μικρής διακοπής\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) - { - echo "
    ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    pause code must be between 1 and 6 characters in length\n"; - echo "
    pause κωδικό όνομα πρέπει να είναι μεταξύ 2 και 30 χαρακτήρες\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτόν τονκώδικα μικρής διακοπής\n";} else { - echo "
    ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ: $campaign_id - $pause_code - $pause_code_name\n"; + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + echo "
    pause κωδικό όνομα πρέπει να είναι μεταξύ 2 και 30 χαρακτήρες\n"; + } + else + { + echo "
    ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ: $campaign_id - $pause_code - $pause_code_name\n"; - $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Κώδικας μικρής διακοπής: $pause_code';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Κώδικας μικρής διακοπής: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=27; @@ -11874,40 +12709,47 @@ if ($ADD==27) if ($ADD==28) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτήν τηνθέση\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτήν τηνθέση\n";} else { - echo "
    ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + } + else + { + echo "
    ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ: $campaign_id - $status\n"; - $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Κατάσταση:$statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } #$SUB=28; @@ -11920,37 +12762,44 @@ if ($ADD==28) ###################### if ($ADD==201) { - echo ""; - $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PRESET ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - υπάρχει ήδη μια καταχώρηση για την εκστρατεία αυτή με αυτήν την προκαθορισμένη ρύθμιση\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) - { - echo "
    PRESET ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    preset name must be between 1 and 40 characters in length\n"; - echo "
    preset number must be between 2 and 50 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PRESET ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - υπάρχει ήδη μια καταχώρηση για την εκστρατεία αυτή με αυτήν την προκαθορισμένη ρύθμιση\n";} else { - echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; + if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) + { + echo "
    PRESET ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    preset name must be between 1 and 40 characters in length\n"; + echo "
    preset number must be between 2 and 50 characters in length\n"; + } + else + { + echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; - $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; + $rslt=mysql_query($stmt, $link); - $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=201; @@ -11963,121 +12812,128 @@ if ($ADD==201) ###################### if ($ADD==202) { - echo ""; - if ($stage == 'ADD') + if ($add_copy_disabled > 0) { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AREACODE ΔΕΝ CID ΠΡΟΣΤΙΘΕΜΕΝΗΣ - υπάρχει ήδη μια καταχώρηση για την εκστρατεία αυτή με αυτό το CID
    \n";} - else - { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    AREACODE ΔΕΝ CID ΠΡΟΣΤΙΘΕΜΕΝΗΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε
    \n"; - } - else - { - echo "
    AREACODE CID ΠΡΟΣΤΙΘΕΜΕΝΗΣ: $campaign_id - $areacode - $outbound_cid
    \n"; - - $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - if ($stage == 'DELETE') + else { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    AREACODE CID δεν διαγράφεται - Αυτή η καταχώρηση δεν υπάρχει
    \n";} - else + echo ""; + if ($stage == 'ADD') { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    AREACODE CID δεν διαγράφεται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    AREACODE ΔΕΝ CID ΠΡΟΣΤΙΘΕΜΕΝΗΣ - υπάρχει ήδη μια καταχώρηση για την εκστρατεία αυτή με αυτό το CID
    \n";} else { - echo "
    AREACODE CID ΔΙΑΓΡΑΦΟΝΤΑΙ: $campaign_id - $areacode - $outbound_cid
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    AREACODE ΔΕΝ CID ΠΡΟΣΤΙΘΕΜΕΝΗΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε
    \n"; + } + else + { + echo "
    AREACODE CID ΠΡΟΣΤΙΘΕΜΕΝΗΣ: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } - } - if ($stage == 'MODIFY') - { - $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; - $rslt=mysql_query($stmt, $link); - $accids_to_print = mysql_num_rows($rslt); - $o=0; - while ($accids_to_print > $o) + if ($stage == 'DELETE') { - $rowx=mysql_fetch_row($rslt); - $Xareacode[$o] = $rowx[0]; - $Xoutbound_cid[$o] = $rowx[1]; - $Xactive[$o] = $rowx[2]; - $Xcid_description[$o] = $rowx[3]; - $Xcall_count_today[$o] = $rowx[4]; - $o++; - } - - $o=0; - while ($accids_to_print > $o) - { - $Factive_value=''; - $Fcid_description_value=''; - $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; - $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; - - if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} - elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} - if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} - elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} - $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); - $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); - - # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; - - if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) - { - # echo "
    AREACODE CID NOT MODIFIED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    AREACODE CID δεν διαγράφεται - Αυτή η καταχώρηση δεν υπάρχει
    \n";} else { - echo "AREACODE CID ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    AREACODE CID δεν διαγράφεται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε
    \n"; + } + else + { + echo "
    AREACODE CID ΔΙΑΓΡΑΦΟΝΤΑΙ: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; - $rslt=mysql_query($stmt, $link); + $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + if ($stage == 'MODIFY') + { + $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; + $rslt=mysql_query($stmt, $link); + $accids_to_print = mysql_num_rows($rslt); + $o=0; + while ($accids_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xareacode[$o] = $rowx[0]; + $Xoutbound_cid[$o] = $rowx[1]; + $Xactive[$o] = $rowx[2]; + $Xcid_description[$o] = $rowx[3]; + $Xcall_count_today[$o] = $rowx[4]; + $o++; + } + + $o=0; + while ($accids_to_print > $o) + { + $Factive_value=''; + $Fcid_description_value=''; + $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; + $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; + + if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} + elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} + if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} + elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} + $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); + $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); + + # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; + + if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) + { + # echo "
    AREACODE CID NOT MODIFIED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε
    \n"; + } + else + { + echo "AREACODE CID ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + + $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + $o++; } - $o++; } } $SUB=202; @@ -12091,49 +12947,56 @@ if ($ADD==202) if ($ADD==211) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $list_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΛΙΣΤΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία λίστα με αυτό το ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    Η ΛΙΣΤΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    Το ID λίστας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; - echo "
    Το όνομα λίστας πρέπει να είναι 2 χαρακτήρες\n"; - echo "
    ID Λίστας must be greater than 100\n"; + $row=mysql_fetch_row($rslt); + $list_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Η ΛΙΣΤΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία λίστα με αυτό το ID\n";} else { - echo "
    ΛΙΣΤΑ ΠΡΟΣΤΕΘΗΚΕ: $list_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 19) ) + { + echo "
    Η ΛΙΣΤΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Το ID λίστας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
    Το όνομα λίστας πρέπει να είναι 2 χαρακτήρες\n"; + echo "
    ID Λίστας must be greater than 100\n"; + } + else + { + echo "
    ΛΙΣΤΑ ΠΡΟΣΤΕΘΗΚΕ: $list_id\n"; - $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311; @@ -12147,67 +13010,148 @@ if ($ADD==211) if ($ADD==2111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    Το ID ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες ' -+'.\n"; - echo "
    Το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Το ID ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες ' -+'.\n"; + echo "
    Το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group','$group_handling');"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    ΟΜΑΔΑ ΠΡΟΣΤΕΘΗΚΕ: $group_id\n"; + echo "
    ΟΜΑΔΑ ΠΡΟΣΤΕΘΗΚΕ: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2811 adds the new EMAIL inbound group to the system +###################### + +if ( ($ADD==2811) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΟΜΙΛΟΣ EMAIL ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Το ID ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες ' -+'.\n"; + echo "
    Το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','EMAIL','','','','','','$user_group','EMAIL');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    ΟΜΙΛΟΣ EMAIL ΠΡΟΣΤΙΘΕΜΕΝΗΣ: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2011 adds copied inbound group to the system @@ -12215,67 +13159,148 @@ if ($ADD==2111) if ($ADD==2011) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    Το ID ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες ' -+'.\n"; - echo "
    Το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id=\"$source_group_id\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Το ID ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες ' -+'.\n"; + echo "
    Το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    ΟΜΑΔΑ ΠΡΟΣΤΕΘΗΚΕ: $group_id\n"; + echo "
    ΟΜΑΔΑ ΠΡΟΣΤΕΘΗΚΕ: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN ΕΙΣΕΡΧΟΜΕΝΗ ΟΜΑΔΑ ΑΝΤΙΓΡΑΦΩΝ', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN ΕΙΣΕΡΧΟΜΕΝΗ ΟΜΑΔΑ ΑΝΤΙΓΡΑΦΩΝ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2911 adds copied inbound group to the system +###################### + +if ( ($ADD==2911) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΟΜΙΛΟΣ EMAIL ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    EMAIL Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "ΟΜΙΛΟΣ EMAIL ΠΡΟΣΤΙΘΕΜΕΝΗΣ: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN ΕΙΣΕΡΧΟΜΕΝΗ ΟΜΑΔΑ ΑΝΤΙΓΡΑΦΩΝ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2311 adds the new did to the system @@ -12283,45 +13308,52 @@ if ($ADD==2011) if ($ADD==2311) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια DID στο σύστημα με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { + echo ""; $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια DID στο σύστημα με την παράταση αυτή\n";} + {echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια DID στο σύστημα με αυτό το ID\n";} else { - if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) - { - echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια DID στο σύστημα με την παράταση αυτή\n";} else - { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + { # or (eregi("\+",$did_pattern)) + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) ) + { + echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; + echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12335,38 +13367,45 @@ if ($ADD==2311) if ($ADD==2411) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια DID στο σύστημα με την παράταση αυτή\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) - { - echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια DID στο σύστημα με την παράταση αυτή\n";} else { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
    Δέν ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern - $did_id\n"; + echo "
    DID ADDED: $did_pattern - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN ΑΝΤΙΤΥΠΟ DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN ΑΝΤΙΤΥΠΟ DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3311; @@ -12379,61 +13418,68 @@ if ($ADD==2411) if ($ADD==2511) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Καλέστε ID μενού δεν μπορούν να χρησιμοποιήσουν δεσμευμένες λέξεις: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Καλέστε Μενού ID πρέπει να είναι μεταξύ 2 και 50 χαρακτήρες και δεν περιέχουν ' '.\n"; + echo "
    Καλέστε ID μενού δεν μπορούν να χρησιμοποιήσουν δεσμευμένες λέξεις: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + { + echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    Καλέστε Μενού ID πρέπει να είναι μεταξύ 2 και 50 χαρακτήρες και δεν περιέχουν ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    ΠΡΟΣΚΛΗΣΗ MENU ADDED: $menu_id $menu_name\n"; + echo "
    ΠΡΟΣΚΛΗΣΗ MENU ADDED: $menu_id $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12446,64 +13492,71 @@ if ($ADD==2511) if ($ADD==2611) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Καλέστε ID μενού δεν μπορούν να χρησιμοποιήσουν δεσμευμένες λέξεις: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Καλέστε Μενού ID πρέπει να είναι μεταξύ 2 και 50 χαρακτήρες και δεν περιέχουν ' '.\n"; + echo "
    Καλέστε ID μενού δεν μπορούν να χρησιμοποιήσουν δεσμευμένες λέξεις: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id=\"$source_menu\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + { + echo "
    ΠΡΟΣΚΛΗΣΗ MENU δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    Καλέστε Μενού ID πρέπει να είναι μεταξύ 2 και 50 χαρακτήρες και δεν περιέχουν ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id=\"$source_menu\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; + $rslt=mysql_query($stmtA, $link); - echo "
    ΠΡΟΣΚΛΗΣΗ MENU ADDED: $menu_id - $menu_name\n"; + echo "
    ΠΡΟΣΚΛΗΣΗ MENU ADDED: $menu_id - $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtA"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtA"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12516,33 +13569,40 @@ if ($ADD==2611) if ($ADD==2711) { - echo ""; - $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΤΗΛΕΦΩΝΟ ΦΙΛΤΡΟ ΟΜΑΔΑ ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - υπάρχει ήδη ένα τηλέφωνο ΦΙΛΤΡΟ GROUP στο σύστημα με αυτό το αναγνωριστικό\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) - { - echo "
    PHONE FILTER Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    Τηλέφωνο ID Ομάδας φίλτρου πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες και δεν περιέχουν ' '.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΤΗΛΕΦΩΝΟ ΦΙΛΤΡΟ ΟΜΑΔΑ ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - υπάρχει ήδη ένα τηλέφωνο ΦΙΛΤΡΟ GROUP στο σύστημα με αυτό το αναγνωριστικό\n";} else { - $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) + { + echo "
    PHONE FILTER Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Τηλέφωνο ID Ομάδας φίλτρου πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες και δεν περιέχουν ' '.\n"; + } + else + { + $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    ΤΗΛΕΦΩΝΟ ΦΙΛΤΡΟ ΟΜΑΔΑ ΠΡΟΣΤΙΘΕΜΕΝΗΣ: $filter_phone_group_id $filter_phone_group_name\n"; + echo "
    ΤΗΛΕΦΩΝΟ ΦΙΛΤΡΟ ΟΜΑΔΑ ΠΡΟΣΤΙΘΕΜΕΝΗΣ: $filter_phone_group_id $filter_phone_group_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN ΠΡΟΣΘΕΣΕ ΦΙΛΤΡΟ PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN ΠΡΟΣΘΕΣΕ ΦΙΛΤΡΟ PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3711; @@ -12555,50 +13615,57 @@ if ($ADD==2711) if ($ADD==21111) { - echo ""; - $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΟΙ ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΑΝ - υπάρχει ήδη καταχώρηση απομακρυσμένων χειριστών που ξεκινάει με αυτό το ID χρήστη\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - ### check for a valid user that will be associated with this account - $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ NOT ADDED - πρέπει να χρησιμοποιήσετε ένα έγκυρο χρήστη ως user_start για απομακρυσμένη πράκτορες\n";} + if ($row[0] > 0) + {echo "
    ΟΙ ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΑΝ - υπάρχει ήδη καταχώρηση απομακρυσμένων χειριστών που ξεκινάει με αυτό το ID χρήστη\n";} else { - ### check for closest remote agents to this account to ensure no overlapping - $user_finish = ($user_start + $number_of_lines); - $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + ### check for a valid user that will be associated with this account + $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ NOT ADDED - αριθμό των γραμμών επικαλύπτεται με άλλο απομακρυσμένο πράκτορα\n";} + if ($row[0] < 1) + {echo "
    ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ NOT ADDED - πρέπει να χρησιμοποιήσετε ένα έγκυρο χρήστη ως user_start για απομακρυσμένη πράκτορες\n";} else { - if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) - { - echo "
    ΟΙ ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΑΝ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    Το ID χρήστη και η εξωτερική εσωτ.σύνδεση πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; - } + ### check for closest remote agents to this account to ensure no overlapping + $user_finish = ($user_start + $number_of_lines); + $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ NOT ADDED - αριθμό των γραμμών επικαλύπτεται με άλλο απομακρυσμένο πράκτορα\n";} else { - $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    ΟΙ ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΑΝ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Το ID χρήστη και η εξωτερική εσωτ.σύνδεση πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); - echo "
    ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΠΡΟΣΤΕΘΗΚΑΝ: $user_start\n"; + echo "
    ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΠΡΟΣΤΕΘΗΚΑΝ: $user_start\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12613,38 +13680,45 @@ if ($ADD==21111) if ($ADD==22111) { - echo ""; - $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΕΙΣΟΔΟΣ ΟΜΑΔΑΣ ΕΠΕΚΤΑΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια είσοδος ομάδας επέκτασης με αυτές τις τιμές\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) - { - echo "
    ΕΙΣΟΔΟΣ ΟΜΑΔΑΣ ΕΠΕΚΤΑΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΕΙΣΟΔΟΣ ΟΜΑΔΑΣ ΕΠΕΚΤΑΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια είσοδος ομάδας επέκτασης με αυτές τις τιμές\n";} else { - $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) + { + echo "
    ΕΙΣΟΔΟΣ ΟΜΑΔΑΣ ΕΠΕΚΤΑΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $extension_id = $row[0]; + $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension_id = $row[0]; - echo "
    ΕΙΣΟΔΟΣ ΟΜΑΔΑΣ ΕΠΕΚΤΑΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ: $extension_id - $extension_group_id - $extension\n"; + echo "
    ΕΙΣΟΔΟΣ ΟΜΑΔΑΣ ΕΠΕΚΤΑΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ: $extension_id - $extension_group_id - $extension\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=12000; @@ -12657,147 +13731,154 @@ if ($ADD==22111) if ($ADD==211111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user_group = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ Η ΟΜΑΔΑ ΧΡΗΣΤΗ - υπάρχει ήδη μία καταχώρηση ομάδας χρήστη με αυτό το όνομα\n";} else { - if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ Η ΟΜΑΔΑ ΧΡΗΣΤΗ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    Η ομάδα και η περιγραφή πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + $row=mysql_fetch_row($rslt); + $user_group = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ Η ΟΜΑΔΑ ΧΡΗΣΤΗ - υπάρχει ήδη μία καταχώρηση ομάδας χρήστη με αυτό το όνομα\n";} else { - $allowed_user_group_insert_SQL = '---ALL---'; - $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; - # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups - if ($admin_viewable_groupsALL < 1) + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) { - $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; - $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); - $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; + echo "
    ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ Η ΟΜΑΔΑ ΧΡΗΣΤΗ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Η ομάδα και η περιγραφή πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $allowed_user_group_insert_SQL = '---ALL---'; + $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; + # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups + if ($admin_viewable_groupsALL < 1) + { + $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; + $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); + $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; - $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + + $allowed_user_group_insert_SQL = " $user_group -"; + + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $allowed_campaign_insert_SQL = $LOGallowed_campaigns; + } + + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; $rslt=mysql_query($stmt, $link); - $allowed_user_group_insert_SQL = " $user_group -"; - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); - $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - } - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) - { - $allowed_campaign_insert_SQL = $LOGallowed_campaigns; - } + echo "
    ΟΜΑΔΑ ΧΡΗΣΤΗ ΠΡΟΣΤΕΘΗΚΕ: $user_group\n"; - $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΟΜΑΔΑΣ ΧΡΗΣΤΗ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - - echo "
    ΟΜΑΔΑ ΧΡΗΣΤΗ ΠΡΟΣΤΕΘΗΚΕ: $user_group\n"; - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΟΜΑΔΑΣ ΧΡΗΣΤΗ', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} if (!$rslt) {die('Could not execute: ' . mysql_error());} $row=mysql_fetch_row($rslt); - $groupid = $row[0]; + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### } } } @@ -12810,47 +13891,54 @@ if ($ADD==211111) if ($ADD==2111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $script_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Ο ΒΟΗΘΟΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μια είσοδος χειρογράφων με αυτό το όνομα\n";} else { - if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    Ο ΒΟΗΘΟΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Το όνομα, η περιγραφή και το κείμενο χειρογράφων πρέπει να είναι τουλάχιστον 2 χαρακτήρες στο μήκος\n"; + $row=mysql_fetch_row($rslt); + $script_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Ο ΒΟΗΘΟΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μια είσοδος χειρογράφων με αυτό το όνομα\n";} else { - $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    Ο ΒΟΗΘΟΣ ΠΡΟΣΤΕΘΗΚΕ: $script_id\n"; + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    Ο ΒΟΗΘΟΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    Το όνομα, η περιγραφή και το κείμενο χειρογράφων πρέπει να είναι τουλάχιστον 2 χαρακτήρες στο μήκος\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + echo "
    Ο ΒΟΗΘΟΣ ΠΡΟΣΤΕΘΗΚΕ: $script_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΒΟΗΘΟΙ', event_type='ADD', record_id='$script_id', event_code='ADMIN ΠΡΟΣΘΕΣΕ ΒΟΗΘΟ', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΒΟΗΘΟΙ', event_type='ADD', record_id='$script_id', event_code='ADMIN ΠΡΟΣΘΕΣΕ ΒΟΗΘΟ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=1000000; @@ -12863,48 +13951,55 @@ if ($ADD==2111111) if ($ADD==21111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $lead_filter_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένα φίλτρο με αυτό το ID\n";} else { - if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    ID φίλτρου, όνομα και SQL πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + $row=mysql_fetch_row($rslt); + $lead_filter_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένα φίλτρο με αυτό το ID\n";} else { - $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    ID φίλτρου, όνομα και SQL πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; + $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    ΤΟ ΦΙΛΤΡΟ ΠΡΟΣΤΕΘΗΚΕ: $lead_filter_id\n"; + if ($DB > 0) {echo "|$stmt|";} + echo "
    ΤΟ ΦΙΛΤΡΟ ΠΡΟΣΤΕΘΗΚΕ: $lead_filter_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΦΙΛΤΡΑ', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN ΠΡΟΣΘΕΣΕ ΦΙΛΤΡΟ', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΦΙΛΤΡΑ', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN ΠΡΟΣΘΕΣΕ ΦΙΛΤΡΟ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=10000000; @@ -12917,34 +14012,41 @@ if ($ADD==21111111) if ($ADD==211111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - υπάρχει ήδη μία εγγραφή χρόνου κλήσης με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) - { - echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Το ID Χρόνου Κλήσης και το όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - υπάρχει ήδη μία εγγραφή χρόνου κλήσης με αυτό το ID\n";} else { - $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    Το ID Χρόνου Κλήσης και το όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group',ct_state_call_times='',ct_holidays='';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    ΠΡΟΣΘΗΚΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ: $call_time_id\n"; + echo "
    ΠΡΟΣΘΗΚΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111; @@ -12957,98 +14059,159 @@ if ($ADD==211111111) if ($ADD==2111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εγγραφή χρόνου κλήσης με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) - { - echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Το ID Χρόνου Κλήσης Κατάστασης, το όνομα και η κατάσταση πρέπει να είναι τουλάχιστον 2 χαρακτήρες \n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εγγραφή χρόνου κλήσης με αυτό το ID\n";} else { - $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    Το ID Χρόνου Κλήσης Κατάστασης, το όνομα και η κατάσταση πρέπει να είναι τουλάχιστον 2 χαρακτήρες \n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    ΠΡΟΣΘΗΚΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ: $call_time_id\n"; + echo "
    ΠΡΟΣΘΗΚΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111; } +###################### +# ADD=2211111111 adds new holiday definition to the system +###################### + +if ($ADD==2211111111) + { + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_call_time_holidays where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    HOLIDAY ορισμός δεν ΠΡΟΣΘΗΚΗ - υπάρχει ήδη μια καταχώρηση διακοπές με αυτό το ID\n";} + else + { + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    HOLIDAY ορισμός δεν ΠΡΟΣΘΗΚΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    ID Holiday, το όνομα και η ημερομηνία πρέπει να συμπληρωθεί\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_time_holidays SET holiday_id='$holiday_id',holiday_name='$holiday_name',holiday_comments='$holiday_comments',holiday_date='$holiday_date',holiday_status='INACTIVE',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + + echo "
    HOLIDAY ΠΡΟΣΤΙΘΕΜΕΝΗΣ: $holiday_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='ADD', record_id='$holiday_id', event_code='ADMIN ADD HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3211111111; + } + + ###################### # ADD=231111111 adds new shift definition to the system ###################### if ($ADD==231111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $shift_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SHIFT ΟΡΙΣΜΟΣ δεν προστίθενται - υπάρχει ήδη μια μετατόπιση προς την παρούσα θέση ID\n";} else { - $shift_length_test = eregi_replace(':','',$shift_length); - if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    SHIFT ΟΡΙΣΜΟΣ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    ID Shift και το όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; - echo "
    Shift ώρα έναρξης πρέπει να είναι 4 ψηφία στο μήκος και να είναι μια έγκυρη ώρα\n"; - echo "
    Shift Μήκος 5 χαρακτήρες πρέπει να είναι σε μήκος και να είναι 24 ώρες ή λιγότερο\n"; + $row=mysql_fetch_row($rslt); + $shift_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SHIFT ΟΡΙΣΜΟΣ δεν προστίθενται - υπάρχει ήδη μια μετατόπιση προς την παρούσα θέση ID\n";} else { - $p=0; - $shift_weekdays_ct = count($shift_weekdays); - while ($p <= $shift_weekdays_ct) + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) { - $SHIFT_weekdays .= "$shift_weekdays[$p]"; - $p++; + echo "
    SHIFT ΟΡΙΣΜΟΣ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    ID Shift και το όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + echo "
    Shift ώρα έναρξης πρέπει να είναι 4 ψηφία στο μήκος και να είναι μια έγκυρη ώρα\n"; + echo "
    Shift Μήκος 5 χαρακτήρες πρέπει να είναι σε μήκος και να είναι 24 ώρες ή λιγότερο\n"; } - $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    SHIFT ΠΡΟΣΤΙΘΕΜΕΝΗ:$shift_id\n"; + echo "
    SHIFT ΠΡΟΣΤΙΘΕΜΕΝΗ:$shift_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111; @@ -13061,71 +14224,78 @@ if ($ADD==231111111) if ($ADD==21111111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $extension = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένα τηλέφωνο με αυτή την εσωτ.σύνδεση/διακομιστή\n";} else { - $stmt="SELECT count(*) from phones where login='$login';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $extension = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - υπάρχει ήδη ένα τηλέφωνο στο σύστημα με αυτή τη σύνδεση\n";} + {echo "
    ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένα τηλέφωνο με αυτή την εσωτ.σύνδεση/διακομιστή\n";} else { - $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $stmt="SELECT count(*) from phones where login='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - υπάρχει ήδη ένα τηλέφωνο άλλως στο σύστημα με αυτή τη σύνδεση\n";} + {echo "
    PHONE NOT ADDED - υπάρχει ήδη ένα τηλέφωνο στο σύστημα με αυτή τη σύνδεση\n";} else { - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - there is already a Ταυτότητα φωνητικού ταχυδρομείου in the system with this ID\n";} + {echo "
    PHONE NOT ADDED - υπάρχει ήδη ένα τηλέφωνο άλλως στο σύστημα με αυτή τη σύνδεση\n";} else { - if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) - { - echo "
    ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; - echo "
    Τα παρακάτω πεδία πρέπει να διαθέτουν στοιχεία: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; - } + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a Ταυτότητα φωνητικού ταχυδρομείου in the system with this ID\n";} else { - echo "
    ΤΟ ΤΗΛΕΦΩΝΟ ΠΡΟΣΤΕΘΗΚΕ\n"; + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + { + echo "
    ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
    Τα παρακάτω πεδία πρέπει να διαθέτουν στοιχεία: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; + } + else + { + echo "
    ΤΟ ΤΗΛΕΦΩΝΟ ΠΡΟΣΤΕΘΗΚΕ\n"; - $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13141,37 +14311,44 @@ if ($ADD==21111111111) if ($ADD==22111111111) { - echo ""; - $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PHONE ALIAS δεν προστίθενται - υπάρχει ήδη ένα τηλέφωνο Γνωστός στο σύστημα με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where login='$alias_id';"; + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE ALIAS δεν προστίθενται - υπάρχει ήδη μια Τηλέφωνο Σύνδεση στο σύστημα με αυτό το ID\n";} + {echo "
    PHONE ALIAS δεν προστίθενται - υπάρχει ήδη ένα τηλέφωνο Γνωστός στο σύστημα με αυτό το ID\n";} else { - if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) - {echo "
    PHONE ALIAS δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE ALIAS δεν προστίθενται - υπάρχει ήδη μια Τηλέφωνο Σύνδεση στο σύστημα με αυτό το ID\n";} else { - echo "
    PHONE ALIAS ΠΡΟΣΤΙΘΕΜΕΝΗ\n"; + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    PHONE ALIAS δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    PHONE ALIAS ΠΡΟΣΤΙΘΕΜΕΝΗ\n"; - $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD PHONE ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD PHONE ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13185,34 +14362,41 @@ if ($ADD==22111111111) if ($ADD==23111111111) { - echo ""; - $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΟΜΑΔΑ ALIAS δεν προστίθενται - υπάρχει ήδη ένα τηλέφωνο Γνωστός στο σύστημα με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) - {echo "
    ΟΜΑΔΑ ALIAS δεν προστίθενται - δεν μπορείτε να χρησιμοποιήσετε τις δεσμευμένες λέξεις της ομάδας ψευδώνυμα\n";} + echo ""; + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΟΜΑΔΑ ALIAS δεν προστίθενται - υπάρχει ήδη ένα τηλέφωνο Γνωστός στο σύστημα με αυτό το ID\n";} else { - if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) - {echo "
    ΟΜΑΔΑ ALIAS δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) + {echo "
    ΟΜΑΔΑ ALIAS δεν προστίθενται - δεν μπορείτε να χρησιμοποιήσετε τις δεσμευμένες λέξεις της ομάδας ψευδώνυμα\n";} else { - echo "
    ΟΜΑΔΑ ALIAS ΠΡΟΣΤΙΘΕΜΕΝΗ\n"; + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    ΟΜΑΔΑ ALIAS δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    ΟΜΑΔΑ ALIAS ΠΡΟΣΤΙΘΕΜΕΝΗ\n"; - $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13226,33 +14410,40 @@ if ($ADD==23111111111) if ($ADD==211111111111) { - echo ""; - $stmt="SELECT count(*) from servers where server_id='$server_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας διακομιστής με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) - {echo "
    Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας διακομιστής με αυτό το ID\n";} else { - echo "
    Ο ΔΙΑΚΟΜΙΣΤΗΣ ΠΡΟΣΤΕΘΗΚΕ\n"; + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
    Ο ΔΙΑΚΟΜΙΣΤΗΣ ΠΡΟΣΤΕΘΗΚΕ\n"; - $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111111; @@ -13265,51 +14456,58 @@ if ($ADD==211111111111) if ($ADD==221111111111) { - echo ""; - $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $MAXvicidial_trunks = $rowx[0]; - - $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); - - if ($SUMvicidial_trunks > $MAXvicidial_trunks) + if ($add_copy_disabled > 0) { - echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - ο αριθμός των κορμών είναι πολύ υψηλός: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εγγραφή-κορμού στον εξυπηρετητή για την εκστρατεία\n";} + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - ο αριθμός των κορμών είναι πολύ υψηλός: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) - { - echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    η εκστρατεία πρέπει να είναι μεταξύ 3 και 8 χαρακτήρων στο μήκος\n"; - echo "
    η server_ip καθυστέρηση πρέπει να είναι τουλάχιστον 7 χαρακτήρες\n"; - echo "
    οι κορμοί πρέπει να είναι ένα ψηφίο από 0 έως 9999\n"; - } + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εγγραφή-κορμού στον εξυπηρετητή για την εκστρατεία\n";} else { - echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    η εκστρατεία πρέπει να είναι μεταξύ 3 και 8 χαρακτήρων στο μήκος\n"; + echo "
    η server_ip καθυστέρηση πρέπει να είναι τουλάχιστον 7 χαρακτήρες\n"; + echo "
    οι κορμοί πρέπει να είναι ένα ψηφίο από 0 έως 9999\n"; + } + else + { + echo "
    Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; - $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD ΔΙΑΚΟΜΙΣΤΗΣ TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD ΔΙΑΚΟΜΙΣΤΗΣ TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13323,30 +14521,37 @@ if ($ADD==221111111111) if ($ADD==231111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΠΙΣΤ TEMPLATE δεν προστίθενται - υπάρχει ήδη ένα πρότυπο σε αυτό το σύστημα, με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if (strlen($template_id) < 2) - {echo "
    ΠΙΣΤ TEMPLATE δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΠΙΣΤ TEMPLATE δεν προστίθενται - υπάρχει ήδη ένα πρότυπο σε αυτό το σύστημα, με αυτό το ID\n";} else { - echo "
    ΠΙΣΤ TEMPLATE ΠΡΟΣΤΙΘΕΜΕΝΗ\n"; + if (strlen($template_id) < 2) + {echo "
    ΠΙΣΤ TEMPLATE δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    ΠΙΣΤ TEMPLATE ΠΡΟΣΤΙΘΕΜΕΝΗ\n"; - $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111; @@ -13359,33 +14564,40 @@ if ($ADD==231111111111) if ($ADD==241111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - υπάρχει ήδη ένα μεταφορέα στο σύστημα με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - υπάρχει ήδη ένα μεταφορέα στο σύστημα με αυτό το ID\n";} else { - echo "
    CARRIER ADDED\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    CARRIER ADDED\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13398,33 +14610,40 @@ if ($ADD==241111111111) if ($ADD==240111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - υπάρχει ήδη ένα μεταφορέα στο σύστημα με αυτό το ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - υπάρχει ήδη ένα μεταφορέα στο σύστημα με αυτό το ID\n";} else { - echo "
    ΑΝΤΙΓΡΑΜΜΕΝΟΣ ΜΕΤΑΦΟΡΕΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    ΘΑΛΑΜΙΣΚΟ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    ΑΝΤΙΓΡΑΜΜΕΝΟΣ ΜΕΤΑΦΟΡΕΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13437,30 +14656,37 @@ if ($ADD==240111111111) if ($ADD==251111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TTS ΕΙΣΟΔΟΥ δεν προστίθενται - υπάρχει ήδη TTS εισόδου στο σύστημα με αυτό το αναγνωριστικό\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) - {echo "
    TTS ΕΙΣΟΔΟΥ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TTS ΕΙΣΟΔΟΥ δεν προστίθενται - υπάρχει ήδη TTS εισόδου στο σύστημα με αυτό το αναγνωριστικό\n";} else { - echo "
    TTS ΕΙΣΟΔΟΥ ADDED\n"; + if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) + {echo "
    TTS ΕΙΣΟΔΟΥ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    TTS ΕΙΣΟΔΟΥ ADDED\n"; - $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=351111111111; @@ -13473,30 +14699,37 @@ if ($ADD==251111111111) if ($ADD==261111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Music on Hold ΕΙΣΟΔΟΥ δεν προστίθενται - υπάρχει ήδη moh εισόδου στο σύστημα με αυτό το αναγνωριστικό\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) - {echo "
    Music on Hold ΕΙΣΟΔΟΥ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Music on Hold ΕΙΣΟΔΟΥ δεν προστίθενται - υπάρχει ήδη moh εισόδου στο σύστημα με αυτό το αναγνωριστικό\n";} else { - echo "
    Music on Hold ΕΙΣΟΔΟΥ ADDED\n"; + if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) + {echo "
    Music on Hold ΕΙΣΟΔΟΥ δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    Music on Hold ΕΙΣΟΔΟΥ ADDED\n"; - $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=361111111111; @@ -13509,45 +14742,52 @@ if ($ADD==261111111111) if ($ADD==271111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX δεν προστίθενται - υπάρχει ήδη ένα φωνητικό κουτί στο σύστημα με αυτό το αναγνωριστικό\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX δεν προστίθενται - υπάρχει ήδη ένα τηλέφωνο στο σύστημα με αυτό το μήνυμα ID\n";} + {echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX δεν προστίθενται - υπάρχει ήδη ένα φωνητικό κουτί στο σύστημα με αυτό το αναγνωριστικό\n";} else { - if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) - {echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX δεν προστίθενται - υπάρχει ήδη ένα τηλέφωνο στο σύστημα με αυτό το μήνυμα ID\n";} else { - echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX ADDED\n"; + if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) + {echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX δεν προστίθενται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX ADDED\n"; - $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT active_voicemail_server from system_settings;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $active_voicemail_server = $row[0]; + $stmt="SELECT active_voicemail_server from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13561,30 +14801,37 @@ if ($ADD==271111111111) if ($ADD==281111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΕΤΙΚΕΤΑ ΟΘΟΝΗ ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - υπάρχει ήδη μια ετικέτα στο σύστημα με αυτό το αναγνωριστικό\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) - {echo "
    ΕΤΙΚΕΤΑ ΟΘΟΝΗ ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΕΤΙΚΕΤΑ ΟΘΟΝΗ ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - υπάρχει ήδη μια ετικέτα στο σύστημα με αυτό το αναγνωριστικό\n";} else { - echo "
    ΕΤΙΚΕΤΑ ΟΘΟΝΗ ΠΡΟΣΤΙΘΕΜΕΝΗΣ\n"; + if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) + {echo "
    ΕΤΙΚΕΤΑ ΟΘΟΝΗ ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    ΕΤΙΚΕΤΑ ΟΘΟΝΗ ΠΡΟΣΤΙΘΕΜΕΝΗΣ\n"; - $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=381111111111; @@ -13597,38 +14844,45 @@ if ($ADD==281111111111) if ($ADD==291111111111) { - if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + if ($add_copy_disabled > 0) { - $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); - mysql_select_db("$SSalt_log_dbname", $linkALT); + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } - else - {$linkALT = $link;} - echo ""; - $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; - $rslt=mysql_query($stmt, $linkALT); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Μην έρχεται σε επαφή ΠΡΟΣΘΗΚΗ - υπάρχει ήδη μια επαφή με το σύστημα με αυτό το όνομα και τον αριθμό\n";} else { - if (strlen($last_name) < 2) - {echo "
    Μην έρχεται σε επαφή ΠΡΟΣΘΗΚΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + { + $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); + mysql_select_db("$SSalt_log_dbname", $linkALT); + } + else + {$linkALT = $link;} + echo ""; + $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; + $rslt=mysql_query($stmt, $linkALT); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Μην έρχεται σε επαφή ΠΡΟΣΘΗΚΗ - υπάρχει ήδη μια επαφή με το σύστημα με αυτό το όνομα και τον αριθμό\n";} else { - echo "
    ΕΠΙΚΟΙΝΩΝΙΑ ΠΡΟΣΘΗΚΗ\n"; + if (strlen($last_name) < 2) + {echo "
    Μην έρχεται σε επαφή ΠΡΟΣΘΗΚΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} + else + { + echo "
    ΕΠΙΚΟΙΝΩΝΙΑ ΠΡΟΣΘΗΚΗ\n"; - $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; - $rslt=mysql_query($stmt, $linkALT); - $contact_id = mysql_insert_id($linkALT); + $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; + $rslt=mysql_query($stmt, $linkALT); + $contact_id = mysql_insert_id($linkALT); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=391111111111; @@ -13641,22 +14895,29 @@ if ($ADD==291111111111) if ($ADD==2111111111111) { - echo ""; - $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία συνδιάλεξη με αυτό το ID και διακομιστή\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία συνδιάλεξη με αυτό το ID και διακομιστή\n";} else { - echo "
    Η ΣΥΝΔΙΑΛΕΞΗ ΠΡΟΣΤΕΘΗΚΕ\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
    Η ΣΥΝΔΙΑΛΕΞΗ ΠΡΟΣΤΕΘΗΚΕ\n"; - $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111111; @@ -13669,22 +14930,29 @@ if ($ADD==2111111111111) if ($ADD==21111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} else { - echo "
    VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΠΡΟΣΤΕΘΗΚΕ\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
    VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΠΡΟΣΤΕΘΗΚΕ\n"; - $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=31111111111111; @@ -13697,41 +14965,48 @@ if ($ADD==21111111111111) if ($ADD==221111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - there is already a campaign-status in the system with this name: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - there is already a global-status in the system with this name\n";} + {echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - there is already a campaign-status in the system with this name: $row[0]\n";} else { - if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; - echo "
    το όνομα της κατάστασης πρέπει να είναι μεταξύ 2 και 30 χαρακτήρρες\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - there is already a global-status in the system with this name\n";} else { - echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ: $status_name - $status_id\n"; + if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; + echo "
    το όνομα της κατάστασης πρέπει να είναι μεταξύ 2 και 30 χαρακτήρρες\n"; + } + else + { + echo "
    ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ: $status_name - $status_id\n"; - $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13745,43 +15020,50 @@ if ($ADD==221111111111111) if ($ADD==231111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια κατηγορία θέσης στο σύστημα με αυτήν τηνταυτότητα: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } else { - if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) - { - echo "
    ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    Η ταυτότητα πρέπει να είναι μεταξύ 2 και 20 χαρακτήρων στο μήκος\n"; - echo "
    το όνομα ονόματος πρέπει να είναι μεταξύ 2 και 50 χαρακτήρων στομήκος\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια κατηγορία θέσης στο σύστημα με αυτήν τηνταυτότητα: $row[0]\n";} else { - echo "
    STATUS ΚΑΤΗΓΟΡΙΑ ADDED: $vsc_id - $vsc_name\n"; - - $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) { - $tovdad_display = 'N'; - echo "
    ΛΑΘΟΣ: Υπάρχουν ήδη 4 κατηγορίες θέσης καθορισμένες την επίδειξηTimeOnVDAD\n"; + echo "
    ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    Η ταυτότητα πρέπει να είναι μεταξύ 2 και 20 χαρακτήρων στο μήκος\n"; + echo "
    το όνομα ονόματος πρέπει να είναι μεταξύ 2 και 50 χαρακτήρων στομήκος\n"; } + else + { + echo "
    STATUS ΚΑΤΗΓΟΡΙΑ ADDED: $vsc_id - $vsc_name\n"; - $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; - $rslt=mysql_query($stmt, $link); + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    ΛΑΘΟΣ: Υπάρχουν ήδη 4 κατηγορίες θέσης καθορισμένες την επίδειξηTimeOnVDAD\n"; + } - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS ΚΑΤΗΓΟΡΙΑ', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS ΚΑΤΗΓΟΡΙΑ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111111; @@ -13792,41 +15074,7 @@ if ($ADD==231111111111111) ###################### # ADD=241111111111111 adds the new qc status code to the system ###################### - -if ($ADD==241111111111111) - { - echo ""; - $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    QC Κατάσταση ΚΩΔΙΚΟΣ δεν προστίθενται- υπάρχει ήδη μια qc κωδικό στο σύστημα με αυτό το όνομα: $row[0]\n";} - else - { - if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) - { - echo "
    QC Κατάσταση ΚΩΔΙΚΟΣ δεν προστίθενται- Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    κωδικός πρέπει να είναι μεταξύ 1 και 8 χαρακτήρες\n"; - echo "
    κωδικό όνομα πρέπει να είναι μεταξύ 2 και 30 χαρακτήρες\n"; - } - else - { - echo "
    QC Κατάσταση ΠΡΟΣΤΙΘΕΝΤΑΙ ΚΩΔΙΚΟΣ:$code_name - $code\n"; - - $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $ADD=341111111111111; - } +//Moved to qc/QC_status_codes_include.php include file @@ -13863,7 +15111,7 @@ if ($ADD=="4A") } echo "
    ΧΡΗΣΤΗΣ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data' where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts' where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -14603,9 +15851,11 @@ if ($ADD==41) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $survey_camp_record_dir = '/home/survey'; $survey_dtmf_digits = '1238'; + $survey_wait_sec = '10'; $survey_first_audio_file = 'US_pol_survey_hello'; $survey_method = 'AGENT_XFER'; $survey_ni_audio_file = ''; @@ -14622,6 +15872,8 @@ if ($ADD==41) $call_count_target = '0'; $lead_order_randomize = 'N'; $lead_order_secondary = 'LEAD_ASCEND'; + $amd_inbound_group = ''; + $amd_callmenu = ''; } if ( (ereg('list_activation',$stage)) or (ereg('test_call',$stage)) ) { @@ -14688,13 +15940,17 @@ if ($ADD==41) else {$CIDstring = "$VqueryCID";} ### insert a NEW record to the vicidial_manager table to be processed - $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$SSactive_voicemail_server','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; + $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$old_server_ip','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; $rslt=mysql_query($stmtB, $link); ### insert a SENT record to the vicidial_auto_calls table - $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$SSactive_voicemail_server','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; + $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$old_server_ip','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; $rslt=mysql_query($stmtC, $link); + ### insert a record in the vicidial_dial_log table + $stmtD = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$old_server_ip',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $rslt=mysql_query($stmtD, $link); + ### LOG INSERTION Admin Log Table, for campaign ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -14835,7 +16091,7 @@ if ($ADD==41) if (strlen($groups_value)>2) {$groups_value .= " -";} } - $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_ανανέωσης='$campaign_stats_ανανέωσης',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check' where campaign_id='$campaign_id';"; + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_ανανέωσης='$campaign_stats_ανανέωσης',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check',in_group_dial='$in_group_dial',in_group_dial_select='$in_group_dial_select',safe_harbor_audio_field='$safe_harbor_audio_field',pause_after_next_call='$pause_after_next_call',owner_populate='$owner_populate',use_other_campaign_dnc='$use_other_campaign_dnc',allow_emails='$allow_emails',amd_inbound_group='$amd_inbound_group',amd_callmenu='$amd_callmenu' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmtA, $link); if ($reset_hopper == 'Y') @@ -15022,6 +16278,7 @@ if ($ADD==44) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $voicemail_ext = ''; } @@ -15285,7 +16542,7 @@ if ($ADD=='40A') { echo "
    ΕΡΕΥΝΑ SETTINGS ΤΡΟΠΟΠΟΙΗΜΕΝΩΝ: $campaign_id\n"; - $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording' where campaign_id='$campaign_id';"; + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording',survey_wait_sec='$survey_wait_sec' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15469,37 +16726,44 @@ if ($ADD==49) ##### ADD a NEW list mix ##### if ($stage=='NEWMIX') { - echo ""; - - if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + if ($add_copy_disabled > 0) { - echo "
    ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ- Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; - echo "
    vcl_id must be between 1 and 20 characters in length\n"; - echo "
    vcl_name must be at least 2 characters in length\n"; + echo "
    Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) { - echo "
    ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ- Υπάρχει ήδη ένα μίγμα καταλόγων με αυτήν την ταυτότητα στοσύστημα\n"; + echo "
    ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ- Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name must be at least 2 characters in length\n"; } else { - $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ- Υπάρχει ήδη ένα μίγμα καταλόγων με αυτήν την ταυτότητα στοσύστημα\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ LIST MIX', event_sql=\"$SQL_log\", event_notes='Κατάλογος Mix: $vcl_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ LIST MIX', event_sql=\"$SQL_log\", event_notes='Κατάλογος Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - echo "
    ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ:$campaign_id - $vcl_id - $vcl_name\n"; + echo "
    ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ:$campaign_id - $vcl_id - $vcl_name\n"; + } } } } @@ -15593,7 +16857,6 @@ if ($ADD==401) $stmt="UPDATE vicidial_xfer_presets SET preset_dtmf='$preset_dtmf',preset_number='$preset_number',preset_hide_number='$preset_hide_number' where campaign_id='$campaign_id' and preset_name='$preset_name';"; $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15660,12 +16923,19 @@ if ($ADD==411) else { if (strlen($reset_time) < 4) {$reset_time='';} + if (strlen($expiration_date) < 10) {$expiration_date='2099-12-31';} echo "
    ΛΙΣΤΑ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $list_id\n"; - $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report' where list_id='$list_id';"; + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date' where list_id='$list_id';"; $rslt=mysql_query($stmt, $link); +## BEGIN QC Addition for Audited Comments + $stmt="INSERT INTO vicidial_lists_custom (audit_comments, list_id) VALUES ('" . mysql_real_escape_string($audit_comments) . "','$list_id') ON DUPLICATE KEY UPDATE audit_comments='" . mysql_real_escape_string($audit_comments) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} +## END QC Addition for Audited Comments + ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15710,7 +16980,7 @@ if ($ADD==411) # ADD=4111 modify in-group info in the system ###################### -if ($ADD==4111) +if ($ADD==4111 || $ADD==4811) { if ($SUB=='agents_select') { @@ -15872,7 +17142,7 @@ if ($ADD==4111) echo "
    ΟΜΑΔΑ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $group_id\n"; - $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action' where group_id='$group_id';"; + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid' where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15891,7 +17161,7 @@ if ($ADD==4111) exit; } } - $ADD=3111; # go to in-group modification form below + $ADD-=1000; #$ADD=3111; # go to in-group modification form below } @@ -15954,7 +17224,7 @@ if ($ADD==4511) { echo "
    ΠΡΟΣΚΛΗΣΗ MENU MODIFIED: $menu_id\n"; - $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group' where menu_id='$menu_id';"; + $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group',qualify_sql='$qualify_sql' where menu_id='$menu_id';"; $rslt=mysql_query($stmt, $link); $h=0; @@ -16294,6 +17564,39 @@ if ($ADD==411111) } $allowed_reports = preg_replace("/,$/","",$new_field_value); + # update allowed_camapigns with values that the editor cant see http://www.vicidial.org/VICIDIALforum/viewtopic.php?f=5&t=26101 + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $changer_allowed_campaigns = preg_replace("/ -/",'',$LOGallowed_campaigns); + $changer_allowed_campaigns = explode(" ", $changer_allowed_campaigns); + + $stmt="SELECT allowed_campaigns FROM vicidial_user_groups WHERE user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $old_allowed_rows = mysql_num_rows($rslt); + if ($old_allowed_rows > 0) + { + $row=mysql_fetch_row($rslt); + $old_allowed = $row[0]; + } + if ( (!eregi("-ALL",$old_allowed)) ) + { + $invis_campaigns=""; + $campaigns_value = preg_replace("/ -/",'',$campaigns_value); + $old_allowed = preg_replace("/ -/",'',$old_allowed); + $old_allowed = explode(" ", $old_allowed); + + foreach ($old_allowed as $oac) + { + if (!in_array($oac, $changer_allowed_campaigns)) + { + $invis_campaigns .= "$oac "; + } + } + $campaigns_value .= " $invis_campaigns-"; + } + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement',agent_status_viewable_groups='$VGROUP_vgroups',agent_status_view_time='$agent_status_view_time',agent_call_log_view='$agent_call_log_view',agent_xfer_consultative='$agent_xfer_consultative',agent_xfer_dial_override='$agent_xfer_dial_override',agent_xfer_vm_transfer='$agent_xfer_vm_transfer',agent_xfer_blind_transfer='$agent_xfer_blind_transfer',agent_xfer_dial_with_customer='$agent_xfer_dial_with_customer',agent_xfer_park_customer_dial='$agent_xfer_park_customer_dial',agent_fullscreen='$agent_fullscreen',allowed_reports='$allowed_reports',webphone_url_override='" . mysql_real_escape_string($webphone_url_override) . "',webphone_systemkey_override='$webphone_systemkey_override',webphone_dialpad_override='$webphone_dialpad_override',admin_viewable_groups='$Vadmin_viewable_groups',admin_viewable_call_times='$Vadmin_viewable_call_times' where user_group='$OLDuser_group';"; $rslt=mysql_query($stmt, $link); @@ -16581,7 +17884,7 @@ if ($ADD==4111111111) $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } @@ -16595,6 +17898,48 @@ if ($ADD==4111111111) } +###################### +# ADD=4211111111 modify holiday in the system +###################### + +if ($ADD==4211111111) + { + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    HOLIDAY δεν τροποποιούνται - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    ID Holiday, το όνομα και η ημερομηνία πρέπει να συμπληρωθεί\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $stmt="UPDATE vicidial_call_time_holidays set holiday_name='$holiday_name', holiday_comments='$holiday_comments', holiday_date='$holiday_date', holiday_status='$holiday_status', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop',user_group='$user_group', default_afterhours_filename_override='$default_afterhours_filename_override' where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    HOLIDAY MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='MODIFY', record_id='$holiday_id', event_code='ADMIN MODIFY HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + $ADD=3211111111; # go to holiday modification form below + } + + ###################### # ADD=431111111 modify shift in the system ###################### @@ -16669,7 +18014,7 @@ if ($ADD==41111111111) { echo "
    ΤΟ ΤΗΛΕΦΩΝΟ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $extension\n"; - $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_ανανέωσης='$enable_fast_ανανέωσης', fast_ανανέωσης_rate='$fast_ανανέωσης_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where extension='$old_extension' and server_ip='$old_server_ip';"; + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_ανανέωσης='$enable_fast_ανανέωσης', fast_ανανέωσης_rate='$fast_ανανέωσης_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where extension='$old_extension' and server_ip='$old_server_ip';"; $rslt=mysql_query($stmt, $link); $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; @@ -17120,15 +18465,18 @@ if ($ADD==471111111111) {echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX μη τροποποιημένες - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n";} else { - $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where voicemail_id='$voicemail_id';"; + $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|";} $stmt="SELECT active_voicemail_server from system_settings;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $sounds_updateSQL=''; + if ($SSallow_voicemail_greeting > 0) {$sounds_updateSQL = ",sounds_update='Y'";} + $stmtA="UPDATE servers SET rebuild_conf_files='Y'$sounds_updateSQL where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; $rslt=mysql_query($stmtA, $link); echo "
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX MODIFIED: $voicemail_id\n"; @@ -17339,7 +18687,7 @@ if ($ADD==411111111111111) } $tables_use_alt_log_db = preg_replace("/,$/","",$new_altlog_value); - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_ανανέωσης='$admin_modify_ανανέωσης',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled';"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_ανανέωσης='$admin_modify_ανανέωσης',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add';"; $rslt=mysql_query($stmt, $link); if ($reload_dialplan_on_servers > 0) @@ -17939,6 +19287,30 @@ if ($ADD==5111111111) $ADD='3111111111'; # go to state call time modification below } + +###################### +# ADD=5211111111 confirmation before deletion of holiday record +###################### + +if ($ADD==5211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY δεν έχουν διαγραφεί - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    ID διακοπές πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + echo "
    HOLIDAY επιβεβαίωσης διαγραφής: $holiday_id\n"; + echo "

    Κάντε κλικ εδώ για να διαγράψετε τις διακοπές $holiday_id


    \n"; + } + + $ADD='3211111111'; # go to holiday modification below + } + + ###################### # ADD=531111111 confirmation before deletion of shift record ###################### @@ -19418,6 +20790,64 @@ if ($ADD==6111111111) } +###################### +# ADD=6211111111 delete holiday record +###################### + +if ($ADD==6211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY δεν έχουν διαγραφεί - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    ID διακοπές πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmtA="DELETE from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="SELECT call_time_id,ct_holidays from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_ids[$o] = "$rowx[0]"; + $hct_holidays[$o] = "$rowx[1]"; + $o++; + } + $o=0; + while ($hct_to_print > $o) + { + $hct_holidays[$o] = eregi_replace("\|$holiday_id\|",'|',$hct_holidays[$o]); + $stmt="UPDATE vicidial_call_times set ct_holidays='$hct_holidays[$o]' where call_time_id='$hct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} + echo "Κανόνας Holiday Αφαιρέθηκε: $hct_ids[$o]
    \n"; + $o++; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='DELETE', record_id='$holiday_id', event_code='ADMIN DELETE HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    ΔΙΑΓΡΑΦΗ HOLIDAY ΟΛΟΚΛΗΡΩΘΗΚΕ: $holiday_id\n"; + echo "

    \n"; + } + + $ADD='1200000000'; # go to holidays list + } + + ###################### # ADD=631111111 delete shift record ###################### @@ -19993,7 +21423,7 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -20186,6 +21618,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -20198,7 +21637,7 @@ if ($ADD==3) echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -20296,6 +21735,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -20393,7 +21839,7 @@ if ($ADD==31) $enable_vtiger_integration_LU = $row[0]; $vtiger_url_LU = $row[1]; - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $campaign_name = $row[1]; @@ -20600,6 +22046,16 @@ if ($ADD==31) $callback_list_calltime = $row[202]; $user_group = $row[203]; $hopper_vlc_dup_check = $row[204]; + $in_group_dial = $row[205]; + $in_group_dial_select = $row[206]; + $safe_harbor_audio_field = $row[207]; + $pause_after_next_call = $row[208]; + $owner_populate = $row[209]; + $use_other_campaign_dnc = $row[210]; + $allow_emails = $row[211]; + $amd_inbound_group = $row[212]; + $amd_callmenu = $row[213]; + $survey_wait_sec = $row[214]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -20753,6 +22209,7 @@ if ($ADD==31) $nxLOGadmin_viewable_groupsSQL = $LOGadmin_viewable_groupsSQL; if (strlen($xfer_groupsSQL) < 6) {$nxLOGadmin_viewable_groupsSQL = $whereLOGadmin_viewable_groupsSQL;} + ##### get in-groups listings for dynamic transfer group pulldown list menu $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL $nxLOGadmin_viewable_groupsSQL order by group_id;"; $rslt=mysql_query($stmt, $link); @@ -20777,6 +22234,54 @@ if ($ADD==31) else {$Xgroups_menu .= "\n";} + ##### get in-groups listings for dynamic AMD inbound group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $AMDgroups_to_print = mysql_num_rows($rslt); + $AMDgroups_menu=''; + $AMDgroups_selected=0; + $o=0; + while ($AMDgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDgroups_menu .= "\n"; + $o++; + } + if ($AMDgroups_selected < 1) + {$AMDgroups_menu .= "\n";} + else + {$AMDgroups_menu .= "\n";} + + ##### get callmenus listings for dynamic AMD callmenu pulldown list menu + $stmt="SELECT menu_id from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $AMDmenus_to_print = mysql_num_rows($rslt); + $AMDmenus_menu=''; + $AMDmenus_selected=0; + $o=0; + while ($AMDmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDmenus_menu .= "\n"; + $o++; + } + if ($AMDmenus_selected < 1) + {$AMDmenus_menu .= "\n";} + else + {$AMDmenus_menu .= "\n";} + ##### get agent screen label listings for dynamic pulldown list menu $stmt="SELECT label_id,label_name from vicidial_screen_labels where active='Y' $LOGadmin_viewable_groupsSQL order by label_id;"; $rslt=mysql_query($stmt, $link); @@ -20834,7 +22339,7 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -20877,10 +22382,10 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -20889,7 +22394,7 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-user_group$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSenable_second_webform > 0) { @@ -20897,7 +22402,14 @@ if ($ADD==31) } echo "\n"; echo "\n"; - + if ($SSallow_emails > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -21308,9 +22820,26 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-local_call_time$NWE\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) { - echo "\n"; + echo "\n"; } echo "\n"; @@ -21340,11 +22869,11 @@ if ($ADD==31) echo "\n"; echo "\n"; +: \n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21366,7 +22895,7 @@ if ($ADD==31) {$cfwHTML = '';} echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; } echo "\n"; @@ -21444,11 +22983,13 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -21493,7 +23036,9 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; if ($SSuser_territories_active > 0) { @@ -21505,7 +23050,7 @@ if ($ADD==31) else {$ASLlink = "$PHP_SELF?ADD=381111111111&label_id=$screen_labels";} echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21515,13 +23060,15 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21535,6 +23082,10 @@ if ($ADD==31) echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -21644,7 +23195,7 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; if ($campaign_allow_inbound == 'Y') { @@ -21705,7 +23256,9 @@ if ($ADD==31) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -21714,8 +23267,8 @@ if ($ADD==31) echo ""; echo ""; echo "\n"; - echo "\n"; - echo ""; + echo "\n"; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -21747,21 +23300,27 @@ if ($ADD==31) echo ""; + echo ""; echo "\n"; $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $user_id = $row[0]; @@ -20092,6 +21522,8 @@ if ($ADD==3) $modify_same_user_level = $row[95]; $admin_hide_lead_data = $row[96]; $admin_hide_phone_data = $row[97]; + $agentcall_email = $row[98]; + $modify_email_accounts = $row[99]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -20152,7 +21584,7 @@ if ($ADD==3) echo "
    Τηλέφωνο Σύνδεσης: $NWB#vicidial_users-phone_login$NWE
    Κωδικός Πρόσβασης Τηλεφώνου: $NWB#vicidial_users-phone_pass$NWE
    Ενεργή:$NWB#vicidial_users-active$NWE
    Ταυτότητα φωνητικού ταχυδρομείου: voicemail chooser$NWB#vicidial_users-voicemail_id$NWE
    Ταυτότητα φωνητικού ταχυδρομείου: επιλογέα αυτόματου τηλεφωνητή$NWB#vicidial_users-voicemail_id$NWE
    Email:$NWB#vicidial_users-optional$NWE
    Χρήστης Code: $NWB#vicidial_users-optional$NWE
    Main Επικράτεια: $NWB#vicidial_users-optional$NWE
    Προγραμματισμένες Επανακλήσεις: $NWB#vicidial_users-scheduled_callbacks$NWE
    Μόνο του Χειριστή Επανακλήσεις: $NWB#vicidial_users-agentonly_callbacks$NWE
    Εγχειρίδιο κλήσεων Χειριστή: $NWB#vicidial_users-agentcall_manual$NWE
    Agent Call Email:$NWB#vicidial_users-agentcall_email$NWE
    Καταγραφή: $NWB#vicidial_users-vicidial_recording$NWE
    Μεταφορές: $NWB#vicidial_users-vicidial_transfers$NWE
    Agent Shift Επιβολή Override: $NWB#vicidial_users-agent_shift_enforcement_override$NWE
    Συμπληρωματική προμήθεια άποψης κούτσουρων κλήσης πρακτόρων: $NWB#vicidial_users-agent_call_log_view_override$NWE
    Πράκτορας Παράκαμψη Αναζήτηση μόλυβδο: $NWB#vicidial_users-agent_lead_search_override$NWE
    Πράκτορας Παράκαμψη Αναζήτηση μόλυβδο: $NWB#vicidial_users-agent_lead_search_override$NWE
    Alert Enabled: $alert_enabled $NWB#vicidial_users-alert_enabled$NWE
    Τροποποιήστε Βάρδιες: $NWB#vicidial_users-modify_sections$NWE
    ModifyΤηλέφωνα: $NWB#vicidial_users-modify_sections$NWE
    ModifyCarriers: $NWB#vicidial_users-modify_sections$NWE
    Τροποποίηση Email Λογαριασμοί: $NWB#vicidial_users-modify_email_accounts$NWE
    ModifyLabels: $NWB#vicidial_users-modify_sections$NWE
    ModifyΚαθεστώτων: $NWB#vicidial_users-modify_sections$NWE
    ModifyΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: $NWB#vicidial_users-modify_sections$NWE
    Lead RecyclingΜόλυβδος ΑνακύκλωσηAlt Auto DialΚατάλογος MixΈρευνα
    Περιγραφή εκστρατείας: $NWB#vicidial_campaigns-campaign_description$NWE
    Εκστρατεία Αλλαγή Ημερομηνία: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Εκστρατεία Σύνδεση Ημερομηνία: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Εκστρατεία Call Date: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    Εκστρατεία Ημερομηνία κλήσης: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    \n"; - horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1); + horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1,'',''); echo "
    Ενεργή:$NWB#vicidial_campaigns-active$NWE
    Πάρκο Μουσική-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Πάρκο Μουσική-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Ιστο-σελίδα: $NWB#vicidial_campaigns-web_form_address$NWE
    Web Μορφή Target: $NWB#vicidial_campaigns-web_form_target$NWE
    Επιτρέπω τους Closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Αφήστε Emails: $NWB#vicidial_campaigns-allow_emails$NWE
    Επιτρέψτε πλησίον και συνδύασε:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    \n"; + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$local_call_time';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_state_call_times = $rowx[0]; + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + if ($ct_srs < 0) {$ct_hrs=0;} + echo "Κανόνες για τις κρατικές ορίζεται, για το χρόνο εφημερίας: $ct_srs\n"; + } + else + {echo "Call time not found!: $local_call_time\n";} + echo "
    Κλήση εκτός χρόνου: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
    Κλήση εκτός χρόνου: σε δευτερόλεπτα$NWB#vicidial_campaigns-dial_timeout$NWE
    Πρόθεμα Κλήσης: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
    Όνομα αρχείου εκστρατείας Ηχογρ: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
    Καθυστέρηση Ηχογράφησης -: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
    σε δευτερόλεπτα$NWB#vicidial_campaigns-allcalls_delay$NWE
    Καλέστε Σημειώσεις ανά κλήση: $NWB#vicidial_campaigns-per_call_notes$NWE
    Πράκτορας Αναζήτηση μόλυβδο: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Πράκτορας Αναζήτηση μόλυβδο: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Πράκτορας Μέθοδος Αναζήτηση μόλυβδο: $NWB#vicidial_campaigns-agent_lead_search_method$NWE
    Κατά την έναρξη κλήσης: $NWB#vicidial_campaigns-get_call_launch$NWE
    Μήνυμα Αυτόματου Τηλεφωνητή: audio chooser $NWB#vicidial_campaigns-am_message_exten$NWE\n"; + echo "
    Μήνυμα Αυτόματου Τηλεφωνητή: ήχου επιλογέα $NWB#vicidial_campaigns-am_message_exten$NWE\n"; $stmt="SELECT count(*) from vicidial_lists where campaign_id='$campaign_id' and am_message_exten_override != '' and active='Y' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $rowx=mysql_fetch_row($rslt); @@ -21378,9 +22907,19 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo "
    AMD στέλνει στο VM: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    AMD αποστολή σε Δράση: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    CPD AMD δράσης: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    CPD AMD δράσης: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    AMD  εισερχόμενοςΟμάδα: $NWB#vicidial_campaigns-amd_inbound_group$NWE\n"; + echo "
    AMD Μενού Κλήσεων: $NWB#vicidial_campaigns-amd_callmenu$NWE\n"; + echo "
    DTMF Μεταφοράς-Συνδ 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Εσωτ.Σύνδεση Ασφαλούς Φιλοξενίας: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
    Ασφαλής ήχου Harbor: audio chooser $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Ασφαλής ήχου Harbor: ήχου επιλογέα $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbor Πεδίο ήχου: $NWB#vicidial_campaigns-safe_harbor_audio_field$NWE
    Ασφαλής Μενού κλήσεων Harbor: $NWB#vicidial_campaigns-safe_harbor_menu_id$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: voicemail chooser$NWB#vicidial_campaigns-voicemail_ext$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: επιλογέα αυτόματου τηλεφωνητή$NWB#vicidial_campaigns-voicemail_ext$NWE
    Drop Μεταφορά Ομάδα:
    Χρησιμοποίησε Καμπάνια DNC Κατάλογος: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
    Άλλα DNC Καμπάνιας: $NWB#vicidial_campaigns-use_other_campaign_dnc$NWE
    AgentΚώδικες μικρής διακοπήςΕνεργή:$NWB#vicidial_campaigns-agent_pause_codes_active$NWE
    Αυτόματη Παύση Προ-Call: $NWB#vicidial_campaigns-auto_pause_precall$NWE
    Δεν Hopper Κλήση: $NWB#vicidial_campaigns-no_hopper_dialing$NWE
    Ιδιοκτήτης Μόνο Κλήση: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Ιδιοκτήτης Μόνο Κλήση: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Ιδιοκτήτης Συμπλήρωση: $NWB#vicidial_campaigns-owner_populate$NWE
    Ετικέτες οθόνης γραφείο: $NWB#vicidial_campaigns-screen_labels$NWE
    Εμφάνιση Πεδία Κατάσταση: $NWB#vicidial_campaigns-status_display_fields$NWE
    Εμφάνιση Πεδία Κατάσταση: $NWB#vicidial_campaigns-status_display_fields$NWE
    Εμφάνιση Agent Queue Count:$NWB#vicidial_campaigns-display_queue_count$NWE
    Agent καλεί Πιάσε στην ουρά: $NWB#vicidial_campaigns-grab_calls_in_queue$NWE
    Agent Call Re-Queue Button: $NWB#vicidial_campaigns-call_requeue_button$NWE
    πράκτορα ουρά κλήση και πάλι το κουμπί: $NWB#vicidial_campaigns-call_requeue_button$NWE
    Agent Παύση Μετά από κάθε πρόσκληση: $NWB#vicidial_campaigns-pause_after_each_call$NWE
    Παύση Agent Μετά επόμενο σύνδεσμο Call: $NWB#vicidial_campaigns-pause_after_next_call$NWE
    Χειρωνακτική συμπληρωματική προμήθεια πινάκων: $NWB#vicidial_campaigns-manual_dial_override$NWE
    Χειρωνακτικός κατάλογος ταυτότητα πινάκων:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Χειρωνακτικός κατάλογος ταυτότητα πινάκων:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Εγχειρίδιο Dial Filter:$NWB#vicidial_campaigns-manual_dial_filter$NWE
    Τηλέφωνο Ώρα δημοσίευσης προειδοποίησης Διαφορά: $NWB#vicidial_campaigns-post_phone_time_diff_alert$NWE
    Σε-Group Dial Εγχειρίδιο: $NWB#vicidial_campaigns-in_group_dial$NWE
    Σε-Group Manual Dial Επιλογή: $NWB#vicidial_campaigns-in_group_dial_select$NWE
    Agent Screen Clipboard Αντιγραφή: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
    Τυφλή ειδοποίηση οργάνων ελέγχου: $NWB#vicidial_campaigns-blind_monitor_message$NWE
    Τυφλό όνομα αρχείου οργάνων ελέγχου: audio chooser $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    Τυφλό όνομα αρχείου οργάνων ελέγχου: ήχου επιλογέα $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    ID ΛΙΣΤΑΣΟΝΟΜΑ ΛΙΣΤΑΣΠΕΡΙΓΡΑΦΗLEADS COUNTΕΝΕΡΓΟοδηγεί μετράνεΕΝΕΡΓΟΤΕΛΕΥΤΑΙΑ ΗΜΕΡΟΜΗΝΙΑ ΥΠΟΒΟΛΗΣΤΡΟΠΟΠΟΙΗΣΗ
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]ΤΡΟΠΟΠΟΙΗΣΗ

    \n"; $filterSQL = $filtersql_list[$lead_filter_id]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -21820,7 +23379,7 @@ if ($ADD==31) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -21978,6 +23537,18 @@ if ($ADD==31) { if ( ($SStest_campaign_calls > 0) and ($campaign_active == 'Y') ) { + ##### get list of active asterisk server for dynamic pulldown list menu + $stmt="SELECT server_id,server_ip from servers where active='Y' and active_asterisk_server='Y' $LOGadmin_viewable_groupsSQL order by server_id;"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_menu="\n"; + $os=0; + while ($servers_to_print > $os) + { + $rowx=mysql_fetch_row($rslt); + $servers_menu .= "\n"; + $os++; + } echo "
    \n"; echo "\n"; echo "\n"; @@ -21990,8 +23561,9 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "Δοκιμάστε εξερχόμενη κλήση: "; - echo "code:   "; - echo "number:   "; + echo "code:   "; + echo "αριθμός:   "; + echo "διακομιστή:   "; echo "   $NWB#settings-test_campaign_calls$NWE


    \n"; } else @@ -22183,8 +23755,10 @@ if ($ADD==31) echo "   \n"; echo "Κατάσταση:   \n"; echo "
    \n"; echo "
    \n"; @@ -22460,29 +24034,30 @@ if ($ADD==31) echo "
    \n"; echo "\n"; - echo "
    Έρευνα Πρώτο αρχείο ήχου: audio chooser $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Έρευνα Πρώτο αρχείο ήχου: ήχου επιλογέα $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Έρευνα DTMF Digits: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
    Έρευνα δεν ενδιαφέρεται Digit: $NWB#vicidial_campaigns-survey_ni_digit$NWE
    Έρευνα Opt-σε αρχείο ήχου: audio chooser $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Έρευνα δεν ενδιαφέρεται αρχείο ήχου: audio chooser $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Έρευνα Περιμένετε Δευτερόλεπτα: $NWB#vicidial_campaigns-survey_wait_sec$NWE
    Έρευνα Opt-σε αρχείο ήχου: ήχου επιλογέα $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Έρευνα δεν ενδιαφέρεται αρχείο ήχου: ήχου επιλογέα $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Έρευνα Μέθοδος: $NWB#vicidial_campaigns-survey_method$NWE
    Έρευνα της μη αντίδρασης δράσης: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Έρευνα της μη αντίδρασης δράσης: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Έρευνα δεν ενδιαφέρεται Κατάσταση: $NWB#vicidial_campaigns-survey_ni_status$NWE
    Έρευνα τρίτο ψηφίο: $NWB#vicidial_campaigns-survey_third_digit$NWE
    Έρευνα Τρίτη αρχείου ήχου: audio chooser $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Έρευνα Τρίτη αρχείου ήχου: ήχου επιλογέα $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Έρευνα Τρίτη Κατάσταση: $NWB#vicidial_campaigns-survey_third_status$NWE
    Έρευνα Τρίτη Παράταση: $NWB#vicidial_campaigns-survey_third_exten$NWE
    Έρευνα τέταρτο ψηφίο: $NWB#vicidial_campaigns-survey_fourth_digit$NWE
    Έρευνα Τέταρτη αρχείου ήχου: audio chooser $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Έρευνα Τέταρτη αρχείου ήχου: ήχου επιλογέα $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Έρευνα Τέταρτη Κατάσταση: $NWB#vicidial_campaigns-survey_fourth_status$NWE
    Έρευνα Τέταρτη Παράταση: $NWB#vicidial_campaigns-survey_fourth_exten$NWE
    Έρευνα Απάντηση Digit Χάρτης: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
    Έρευνα Έρευνα Xfer Παράταση: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
    Έρευνα Καμπάνια Καταγραφή Directory: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: voicemail chooser $NWB#vicidial_campaigns-voicemail_ext$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: επιλογέα αυτόματου τηλεφωνητή $NWB#vicidial_campaigns-voicemail_ext$NWE
    Έρευνα Μενού κλήσεων: $NWB#vicidial_campaigns-survey_menu_id$NWE
    Εγγραφή Έρευνα: $NWB#vicidial_campaigns-survey_recording$NWE
    Ιστο-σελίδα: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
    Επιτρέπω τους Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
    Ομάδα μεταφοράς προεπιλογής:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
    Αφήστε Emails: $allow_emails $NWB#vicidial_campaigns-allow_emails$NWE
    Επιτρέψτε πλησίον και συνδύασε:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    ID ΛΙΣΤΑΣΟΝΟΜΑ ΛΙΣΤΑΣΠΕΡΙΓΡΑΦΗLEADS COUNTΕΝΕΡΓΟοδηγεί μετράνεΕΝΕΡΓΟΤΕΛΕΥΤΑΙΑ ΗΜΕΡΟΜΗΝΙΑ ΥΠΟΒΟΛΗΣΤΡΟΠΟΠΟΙΗΣΗ
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]ΤΡΟΠΟΠΟΙΗΣΗ

    \n"; echo "
    \n"; @@ -23204,7 +24793,7 @@ if ($ADD==34) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -24172,8 +25761,9 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + + echo "\n"; + + if($audit_comments=='1') { + echo "\n"; + } else { + echo "\n"; + } echo "\n"; echo "\n"; @@ -24300,7 +25922,7 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report from vicidial_lists where list_id='$list_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} $row=mysql_fetch_row($rslt); $list_name = $row[1]; $campaign_id = $row[2]; @@ -24195,6 +25785,9 @@ if ($ADD==311) $web_form_address_two = $row[18]; $time_zone_setting = $row[19]; $inventory_report = $row[20]; + $audit_comments = $row[21]; + $expiration_date = $row[22]; + $expiration_dateINT = $row[23]; # grab names of global statuses and statuses in the selected campaign $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; @@ -24263,7 +25856,7 @@ if ($ADD==311) {$Dgroups_menu .= "\n";} - echo "
    ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΛΙΣΤΑΣ: $list_id
    \n"; + echo "
    ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΛΙΣΤΑΣ: $list_id\n"; echo "\n"; echo "\n"; echo "\n"; @@ -24287,9 +25880,38 @@ if ($ADD==311) echo "$campaigns_list"; echo "\n"; echo "$NWB#vicidial_lists-campaign_id$NWE
    Ενεργή:$NWB#vicidial_lists-active$NWE
    Ενεργή:$NWB#vicidial_lists-active$NWE \n"; + if ( ($expiration_dateINT < $EXPtestdate) and ($active == 'Y') ) + {echo "     ΚΑΤΑΛΟΓΟΣ λήξει και ρυθμιστεί ως ενεργή";} + echo "
    ΕΠΑΝΑΦΟΡΑ ΚΑΤΑΣΤΑΣΗΣ ΚΛΗΣΗΣ ΟΔΗΓΟΥ ΓΙΑ ΤΗΝ ΛΙΣΤΑ: $NWB#vicidial_lists-reset_list$NWE
    Reset Times: $NWB#vicidial_lists-reset_time$NWE
    Ημερομηνία λήξης: \n"; + echo " $NWB#vicidial_lists-expiration_date$NWE \n"; + if ($expiration_dateINT < $EXPtestdate) + { + if ($active == 'Y') + {echo "     ΚΑΤΑΛΟΓΟΣ λήξει και ρυθμιστεί ως ενεργή";} + else + {echo "     LIST EXPIRED";} + } + echo "
    Σχόλια Ελέγχου: $NWB#vicidial_lists-audit_comments$NWE
    Σχόλια Ελέγχου: $NWB#vicidial_lists-audit_comments$NWE
    Ημερομηνία αλλαγής καταλόγων: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    Κατάλογος Last Call Ημερομηνία: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    Καμπάνια CID Παράκαμψη: $NWB#vicidial_lists-campaign_cid_override$NWE
    Τηλεφωνητής Μήνυμα Παράκαμψη: audio chooser $NWB#vicidial_lists-am_message_exten_override$NWE
    Τηλεφωνητής Μήνυμα Παράκαμψη: ήχου επιλογέα $NWB#vicidial_lists-am_message_exten_override$NWE
    Drop  εισερχόμενοςΟμάδα Παράκαμψη: \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25377,7 +27018,7 @@ if ($ADD==3111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25397,21 +27038,21 @@ if ($ADD==3111) echo "$Wmenuslist"; echo "$NWB#vicidial_inbound_groups-wait_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25431,23 +27072,23 @@ if ($ADD==3111) echo "$Xmenuslist"; echo "$NWB#vicidial_inbound_groups-hold_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25480,6 +27121,8 @@ if ($ADD==3111) echo "$group_alias_menu"; echo "$NWB#vicidial_inbound_groups-default_group_alias$NWE\n"; + echo "\n"; + echo "\n"; @@ -25906,6 +27549,708 @@ if ($ADD==3111) +###################### +# ADD=3811 modify in-group info in the system +###################### + +if ($ADD==3811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + if ( ($SSadmin_modify_ανανέωσης > 1) and ($modify_ανανέωσης_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3811&group_id=$group_id"; + $modify_footer_ανανέωσης=1; + } + echo "
    \n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -25032,6 +26654,8 @@ if ($ADD==3111) $max_calls_method = $row[109]; $max_calls_count = $row[110]; $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; ##### get callmenu listings for dynamic pulldown $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; @@ -25171,7 +26795,7 @@ if ($ADD==3111) echo "
    Στην ομάδα-Calldate: $group_calldate$NWB#vicidial_inbound_groups-group_calldate$NWE
    \n"; - horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1,'',''); echo "
    Διαχειριστής Ομάδα Χρηστών:
    Εσωτ. Σύνδεση Εγκατάλειψης: $NWB#vicidial_inbound_groups-drop_exten$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: επιλογέα αυτόματου τηλεφωνητή$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Drop Transfer Group: $NWB#vicidial_inbound_groups-call_time_id$NWE
    \n"; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "Διακοπές defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!: $call_time_id\n";} + echo "
    Μεταφορά δράσης CID: $NWB#vicidial_inbound_groups-action_xfer_cid$NWE
    Μετά από τη δράση ωρών:$NWB#vicidial_inbound_groups-after_hours_action$NWE
    Μετά από το όνομα αρχείου μηνυμάτων ωρών: audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Μετά από το όνομα αρχείου μηνυμάτων ωρών: ήχου επιλογέα $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Μετά από την παράταση ωρών:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
    Μετά από το φωνητικό ταχυδρομείο ωρών: voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Μετά από το φωνητικό ταχυδρομείο ωρών: επιλογέα αυτόματου τηλεφωνητή$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    After Hours Transfer Group: \n"; echo "
    Μέθοδος Αναζήτηση: \n"; - echo "   ID Λίστας: "; + echo "   ID Λίστας: "; echo "
    ID Εκστρατείας: \n"; echo "   Phone Code: "; @@ -25332,7 +26973,7 @@ if ($ADD==3111) { if (strlen($no_agent_action_value) < 3) {$no_agent_action_value = 'nbdy-avail-to-take-call|vm-goodbye';} - echo "αρχείου ήχου: audio chooser\n"; + echo "αρχείου ήχου: ήχου επιλογέα\n"; } if ($no_agent_action=='EXTENSION') { @@ -25345,7 +26986,7 @@ if ($ADD==3111) } if ($no_agent_action=='VOICEMAIL') { - echo "Τηλεφωνητής Box: voicemail chooser\n"; + echo "Τηλεφωνητής Box: επιλογέα αυτόματου τηλεφωνητή\n"; } echo " @@ -25357,13 +26998,13 @@ if ($ADD==3111) echo "
    Μέγιστη Κλήσεις δράσης: $NWB#vicidial_inbound_groups-max_calls_action$NWE
    Ευπρόσδεκτο όνομα αρχείου μηνυμάτων: audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Ευπρόσδεκτο όνομα αρχείου μηνυμάτων: ήχου επιλογέα $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Παίξτε Καλωσόρισμα:$NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Μουσική στο πλαίσιο λαβής: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Μουσική στο πλαίσιο λαβής: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Στο γρήγορο όνομα αρχείου λαβής: audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Στο γρήγορο όνομα αρχείου λαβής: ήχου επιλογέα $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Στο γρήγορο διάστημα λαβής:$NWB#vicidial_inbound_groups-prompt_interval$NWE
    Υπολογίστε περίπου δευτερόλεπτα Hold: $NWB#vicidial_inbound_groups-calculate_estimated_hold_seconds$NWE
    Εκτιμώμενος χρόνος Κρατήστε Όνομα Ελάχιστες: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Εκτιμώμενος χρόνος Κρατήστε Όνομα Ελάχιστες: ήχου επιλογέα $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Εκτιμώμενος χρόνο παραμονής τουλάχιστον Ερώτηση αριθ. Μπλοκ: $NWB#vicidial_inbound_groups-eht_minimum_prompt_no_block$NWE
    Περιμένετε ώρα Τηλεφωνητής Επιλογή: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Περιμένετε ώρα Τηλεφωνητής Επιλογή: επιλογέα αυτόματου τηλεφωνητή $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Περιμένετε Χρόνος Μεταγωγής επιλογή-ομάδα: $NWB#vicidial_inbound_groups-wait_time_option_xfer_group$NWE
    Περιμένετε Ώρα Όνομα Επιλογή Τύπου: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Περιμένετε Ώρα Όνομα Επιλογή Τύπου: ήχου επιλογέα $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Περιμένετε ώρα Τύπου επιλογή Χωρίς Κλείδωμα: $NWB#vicidial_inbound_groups-wait_time_option_no_block$NWE
    Περιμένετε δευτερόλεπτα χρόνος Επιλογή Όνομα Τύπου: $NWB#vicidial_inbound_groups-wait_time_option_prompt_seconds$NWE
    Περιμένετε Επιλογή ώρα μετά το όνομα αρχείου Τύπου: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Περιμένετε Επιλογή ώρα μετά το όνομα αρχείου Τύπου: ήχου επιλογέα $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Περιμένετε Χρόνος επανάκλησης Επιλογή ID της λίστας: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Περιμένετε Χρόνος επανάκλησης Επιλογή ID της λίστας: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Περιμένετε Κρατήστε Προτεραιότητα Επιλογή: $NWB#vicidial_inbound_groups-wait_hold_option_priority$NWE
    Κρατήστε Ώρα Επιλογή Τηλεφωνητής: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Κρατήστε Ώρα Επιλογή Τηλεφωνητής: επιλογέα αυτόματου τηλεφωνητή $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Κρατήστε Ώρα Επιλογή Μεταφορά σε ομάδα:$NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Όνομα αρχείου Τύπου χρονικής επιλογής λαβής: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Όνομα αρχείου Τύπου χρονικής επιλογής λαβής: ήχου επιλογέα $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Κρατήστε τον Τύπο χρονικής επιλογής κανένας φραγμός: $NWB#vicidial_inbound_groups-hold_time_option_no_block$NWE
    Δευτερόλεπτα ονομάτων αρχείου Τύπου χρονικής επιλογής λαβής: $NWB#vicidial_inbound_groups-hold_time_option_prompt_seconds$NWE
    Χρονική επιλογή λαβής μετά από το όνομα αρχείου Τύπου: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Χρονική επιλογή λαβής μετά από το όνομα αρχείου Τύπου: ήχου επιλογέα $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Κρατήστε Ώρα Επιλογή Callback Κατάλογος ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Κρατήστε Ώρα Επιλογή Callback Κατάλογος ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Agent Alert Filename: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agent Alert Filename: ήχου επιλογέα $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Αγρυπνη καθυστέρηση πρακτόρων:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Dial In-Ομάδα CID: $NWB#vicidial_inbound_groups-dial_ingroup_cid$NWE
    Κρατήστε Ανάκληση Μεταφορά σε ομάδα:$NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = stripslashes($row[4]); + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = stripslashes($row[39]); + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + $default_group_alias = $row[55]; + $no_agent_no_queue = $row[56]; + $no_agent_action = $row[57]; + $no_agent_action_value = $row[58]; + $web_form_address_two = stripslashes($row[59]); + $timer_action = $row[60]; + $timer_action_message = $row[61]; + $timer_action_seconds = $row[62]; + $start_call_url = $row[63]; + $dispo_call_url = $row[64]; + $ignore_list_script_override = $row[68]; + $extension_appended_cidname = $row[69]; + $uniqueid_status_display = $row[70]; + $uniqueid_status_prefix = $row[71]; + $hold_time_option_minimum = $row[72]; + $hold_time_option_press_filename = $row[73]; + $hold_time_option_callmenu = $row[74]; + $onhold_prompt_no_block = $row[75]; + $onhold_prompt_seconds = $row[76]; + $hold_time_option_no_block = $row[77]; + $hold_time_option_prompt_seconds = $row[78]; + $hold_time_second_option = $row[79]; + $hold_time_third_option = $row[80]; + $wait_hold_option_priority = $row[81]; + $wait_time_option = $row[82]; + $wait_time_second_option = $row[83]; + $wait_time_third_option = $row[84]; + $wait_time_option_seconds = $row[85]; + $wait_time_option_exten = $row[86]; + $wait_time_option_voicemail = $row[87]; + $wait_time_option_xfer_group = $row[88]; + $wait_time_option_callmenu = $row[89]; + $wait_time_option_callback_filename = $row[90]; + $wait_time_option_callback_list_id = $row[91]; + $wait_time_option_press_filename = $row[92]; + $wait_time_option_no_block = $row[93]; + $wait_time_option_prompt_seconds = $row[94]; + $timer_action_destination = $row[95]; + $calculate_estimated_hold_seconds = $row[96]; + $add_lead_url = $row[97]; + $eht_minimum_prompt_filename = $row[98]; + $eht_minimum_prompt_no_block = $row[99]; + $eht_minimum_prompt_seconds = $row[100]; + $na_call_url = $row[102]; + $group_calldate = $row[104]; + $action_xfer_cid = $row[105]; + $drop_callmenu = $row[106]; + $after_hours_callmenu = $row[107]; + $user_group = $row[108]; + $max_calls_method = $row[109]; + $max_calls_count = $row[110]; + $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; + + ##### get callmenu listings for dynamic pulldown + $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $Xmenus_to_print = mysql_num_rows($rslt); + $o=0; + $Xmenuslist=''; + $Wmenuslist=''; + while ($Xmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xmenuslist .= "\n"; + $Wmenuslist .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $o++; + } + if ($Xmenus_selected < 1) + {$Xmenuslist .= "\n";} + if ($Wmenus_selected < 1) + {$Wmenuslist .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Wgroups_menu=''; + $Wgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Wgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Wgroups_selected < 1) + {$Wgroups_menu .= "\n";} + else + {$Wgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
    MODIFY AN EMAIL GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + if ($SSenable_second_webform > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + +/* Commenting this out because it is handled by the Email Account section and is redundant here + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +*/ + + + echo "\n"; + + echo "\n"; + + # echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts $whereLOGadmin_viewable_groupsSQL order by shift_id;"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    ID Ομάδας: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Ονομα Ομάδας: $NWB#vicidial_inbound_groups-group_name$NWE
    Χρώμα Ομάδας: $NWB#vicidial_inbound_groups-group_color$NWE
    Ενεργή:$NWB#vicidial_inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#vicidial_inbound_groups-group_emaildate$NWE
    \n"; + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + echo "
    Διαχειριστής Ομάδα Χρηστών: $NWB#vicidial_inbound_groups-user_group$NWE
    Ιστο-σελίδα: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Ιστο-σελίδα Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Επόμενη Email Agent: $NWB#vicidial_inbound_groups-next_agent_email$NWE
    Κοτσίδας Προτεραιότητα: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Μπροστινή Οθόνη: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Στην Ομάδα-Call Χειροκίνητος Τρόπος:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Στην Ομάδα-Agent Search Μέθοδος:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Στην ομάδα Κατάλογος-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Στην ομάδα της εκστρατείας-ID:$NWB#vicidial_inbound_dids-campaign_id$NWE
    Ξεκινήστε URL Email:$NWB#vicidial_inbound_groups-start_email_url$NWE
    Dispo URL Email:$NWB#vicidial_inbound_groups-dispo_email_url$NWE
    Μόλυβδος Προσθήκη URL: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    Δεν URL Email Agent: $NWB#vicidial_inbound_groups-na_email_url$NWE
    Η επέκταση επισυνάπτει CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    Επίδειξη θέσης Uniqueid: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    Πρόθεμα θέσης Uniqueid: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
     
      εισερχόμενοςΟμάδα QC Ρυθμίσεις:
    QC Enabled: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    QC καθεστώτα:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC WebForm:$NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    QC Script: $NWB#vicidial_inbound_groups-qc_script$NWE
    QC Shift: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    QC Get Record Launch: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    QC Δείτε Καταγραφή: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    \n"; + echo "


    \n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
    \n"; + echo "
    ΧΕΙΡΙΣΤΗΣRANKS FOR THIS INBOUND GROUP:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,full_name,closer_campaigns,user_group from vicidial_users where active='Y' $LOGadmin_viewable_groupsSQL order by user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_name[$o] = $rowx[1]; + $ARIG_close[$o] = $rowx[2]; + $ARIG_group[$o] = $rowx[3]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + + $o=0; + $ARIG_changenotes=''; + $stmtDlog=''; + while ($users_to_print > $o) + { + $o++; + $stmt="SELECT group_rank,calls_today,group_grade from vicidial_inbound_group_agents where group_id='$group_id' and user='$ARIG_user[$o]';"; + $rsltx=mysql_query($stmt, $link); + $viga_to_print = mysql_num_rows($rsltx); + if ($viga_to_print > 0) + { + $rowx=mysql_fetch_row($rsltx); + $ARIG_rank[$o] = $rowx[0]; + $ARIG_calls[$o] = $rowx[1]; + $ARIG_grade[$o] = $rowx[2]; + } + else + { + $stmtD="INSERT INTO vicidial_inbound_group_agents set calls_today='0',group_rank='0',group_weight='0',user='$ARIG_user[$o]',group_id='$group_id',group_grade='1';"; + $rslt=mysql_query($stmtD, $link); + if ($DB > 0) {echo "|$stmtD|";} + $stmtDlog .= "$stmtD|"; + $ARIG_changenotes .= "added missing user to viga table $ARIG_user[$o]|"; + $ARIG_rank[$o] = '0'; + $ARIG_calls[$o] = '0'; + $ARIG_grade[$o] = '1'; + } + } + if (strlen($ARIG_changenotes) > 10) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtDlog|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + if ($stage=='ΕΠΙΒΕΒΑΙΩΣΗ') + { + $o=0; + while ($users_to_print > $o) + { + $o++; + + $ARIG_checked=''; + $ARIG_ranked=''; + $ARIG_graded=''; + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + + if (isset($_GET["$checkbox_field"])) {$ARIG_checked=$_GET["$checkbox_field"];} + elseif (isset($_POST["$checkbox_field"])) {$ARIG_checked=$_POST["$checkbox_field"];} + if (isset($_GET["$rank_field"])) {$ARIG_ranked=$_GET["$rank_field"];} + elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} + if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} + elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} + $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); + $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); + $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + + $stmtA=''; + $stmtB=''; + $stmtC=''; + $ARIG_updated=0; + $ARIG_changenotes=''; + if ( ($ARIG_check[$o]=='') and ($ARIG_checked=='YES') ) + { + if (strlen($ARIG_close[$o]) < 4) {$ARIG_close[$o]=' - ';} + $stmtA="UPDATE vicidial_users set closer_campaigns=' $group_id$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtA, $link); + if ($DB > 0) {echo "|$stmtA|";} + $ARIG_updated++; + $ARIG_changenotes .= "added $group_id to selected in-groups|"; + } + if ( ($ARIG_check[$o]==' CHECKED') and ($ARIG_checked=='') ) + { + $ARIG_close[$o] = preg_replace("/ $group_id /",' ',$ARIG_close[$o]); + $stmtB="UPDATE vicidial_users set closer_campaigns='$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtB, $link); + if ($DB > 0) {echo "|$stmtB|";} + $ARIG_updated++; + $ARIG_changenotes .= "removed $group_id from selected in-groups|"; + } + if ( ($ARIG_ranked < $ARIG_rank[$o]) or ($ARIG_ranked > $ARIG_rank[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_rank='$ARIG_ranked',group_weight='$ARIG_ranked' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed rank from $ARIG_rank[$o] to $ARIG_ranked|"; + } + if ( ($ARIG_graded < $ARIG_grade[$o]) or ($ARIG_graded > $ARIG_grade[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_grade='$ARIG_graded' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed grade from $ARIG_grade[$o] to $ARIG_graded|"; + } + if ($ARIG_updated > 0) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ΧΡΗΣΤΕΣ', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + + $stmt="SELECT vu.user,viga.group_rank,calls_today,full_name,closer_campaigns,viga.group_grade from vicidial_inbound_group_agents viga, vicidial_users vu where group_id='$group_id' and active='Y' and vu.user=viga.user $LOGadmin_viewable_groupsSQL order by vu.user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_rank[$o] = $rowx[1]; + $ARIG_calls[$o] = $rowx[2]; + $ARIG_name[$o] = $rowx[3]; + $ARIG_close[$o] = $rowx[4]; + $ARIG_grade[$o] = $rowx[5]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + } + + $checkbox_count=0; + $o=0; + while ($users_to_print > $o) + { + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + $checkbox_list .= "|$checkbox_field"; + $checkbox_count++; + + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + + echo "$users_output"; + + echo "\n"; + + echo "
    USERGROUPSELECTED     RANK     GRADE     CALLS TODAY
    $ARIG_user[$o] - $ARIG_name[$o]$ARIG_group[$o]     select all  

    \n"; + + echo "
    Κάντε κλικ εδώ για να δείτε μια έκθεση για αυτό το εισερχόμενο ομάδα

    \n"; + + echo "Χτυπήστε εδώ για να δείτε τους πράκτορες που συνδέονται σε αυτήν την εισερχόμενη ομάδα

    \n"; + + echo "
    \n"; + + echo "ΛΟΓΑΡΙΑΣΜΟΙ ταχυδρομείου χρησιμοποιώντας αυτή IN-ΟΜΑΔΑ:
    \n"; + echo "\n"; + + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $emails_to_print = mysql_num_rows($rslt); + $o=0; + while ($emails_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]

    \n"; + echo "ΕΚΣΤΡΑΤΕΙΕΣ οποίες καθιστούν δυνατή την ομάδα της:
    \n"; + echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where closer_campaigns LIKE \"% $group_id %\" $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $campin_to_print = mysql_num_rows($rslt); + $o=0; + while ($campin_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + + if ($LOGdelete_ingroups > 0) + { + # echo "

    EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

    \n"; + echo "

    ΔΙΑΓΡΑΨΕ ΑΥΤΗΝ ΤΗΝ ΕΙΣ-ΟΜΑΔΑ\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Κάντε κλικ εδώ για να δείτε Διαχειριστής αλλαγές σε αυτή την ομάδα In-
    \n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + + } + + + ###################### # ADD=3311 modify did info in the system ###################### @@ -26069,8 +28414,10 @@ if ($ADD==3311) echo "
    MODIFY A DID RECORD:$row[0]
    \n"; echo "\n"; echo "\n"; + echo "\n"; echo "
    \n"; - echo "\n"; + # echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "
    DID Επέκταση:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Επέκταση:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Επέκταση:$did_pattern $NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Περιγραφή:$NWB#vicidial_inbound_dids-did_description$NWE
    Ενεργή:$NWB#vicidial_inbound_dids-did_active$NWE
    Διαχειριστής Ομάδα Χρηστών:
    Κλήση αρχείων: $NWB#vicidial_inbound_dids-record_call$NWE
    Παράταση:$NWB#vicidial_inbound_dids-extension$NWE
    Παράταση Πλαίσιο:$NWB#vicidial_inbound_dids-exten_context$NWE
    Τηλεφωνητής Box: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Τηλεφωνητής Box: επιλογέα αυτόματου τηλεφωνητή$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Παράταση Τηλέφωνο:$NWB#vicidial_inbound_dids-phone$NWE
    IP Διακομιστή: $NWB#vicidial_inbound_dids-group_id$NWE
    Στην Ομάδα-Call Χειροκίνητος Τρόπος:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Στην Ομάδα-Agent Search Μέθοδος:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Στην ομάδα Κατάλογος-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Στην ομάδα Κατάλογος-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Στην ομάδα της εκστρατείας-ID:
    Filter Παράταση:$NWB#vicidial_inbound_dids-extension$NWE
    Filter Παράταση Πλαίσιο:$NWB#vicidial_inbound_dids-exten_context$NWE
    Filter Τηλεφωνητής Box: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Τηλεφωνητής Box: επιλογέα αυτόματου τηλεφωνητή$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Παράταση Τηλέφωνο:$NWB#vicidial_inbound_dids-phone$NWE
    Filter IP Διακομιστή: $NWB#vicidial_inbound_dids-group_id$NWE
    Filter Στην Ομάδα-Call Χειροκίνητος Τρόπος:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Filter Στην Ομάδα-Agent Search Μέθοδος:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Filter Στην ομάδα Κατάλογος-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter Στην ομάδα Κατάλογος-ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter Στην ομάδα της εκστρατείας-ID:\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-call_time_id$NWE "; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "   Διακοπές defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!\n";} + echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-dtmf_field$NWE\n"; echo "\n"; echo "\n"; @@ -26619,7 +28998,7 @@ if ($ADD==3511) $j=0; while ($menus_to_print > $j) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $option_value = $Aoption_value[$j]; $option_description = $Aoption_description[$j]; $option_route = $Aoption_route[$j]; @@ -26693,13 +29072,13 @@ if ($ADD==3511) echo "$IGhandle_method_list $NWB#vicidial_call_menu-ingroup_settings$NWE\n"; echo "
    Μέθοδος Αναζήτηση: \n"; - echo "   ID Λίστας: "; + echo "   ID Λίστας: "; echo "
    ID Εκστρατείας: \n"; echo "   Phone Code: "; - echo "
      VID εισάγει το όνομα αρχείου: audio chooser"; - echo "
      Όνομα αρχείου αριθμού ταυτότητας VID: audio chooser"; - echo "
      VID επιβεβαιώνει το όνομα αρχείου: audio chooser"; + echo "
      VID εισάγει το όνομα αρχείου: ήχου επιλογέα"; + echo "
      Όνομα αρχείου αριθμού ταυτότητας VID: ήχου επιλογέα"; + echo "
      VID επιβεβαιώνει το όνομα αρχείου: ήχου επιλογέα"; echo "   VID ψηφία: "; } if ($option_route=='DID') @@ -26716,7 +29095,7 @@ if ($ADD==3511) } if ($option_route=='HANGUP') { - echo "αρχείου ήχου: audio chooser\n"; + echo "αρχείου ήχου: ήχου επιλογέα\n"; } if ($option_route=='EXTENSION') { @@ -26728,7 +29107,7 @@ if ($ADD==3511) } if ($option_route=='VOICEMAIL') { - echo "Τηλεφωνητής Box:voicemail chooser\n"; + echo "Τηλεφωνητής Box:επιλογέα αυτόματου τηλεφωνητή\n"; } if ($option_route=='AGI') { @@ -26742,7 +29121,7 @@ if ($ADD==3511) while ($j <= 20) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $dtmf_list = "\n"; } + if ($SScall_menu_qualify_enabled > 0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $menu_name = $row[0]; @@ -26537,6 +28891,7 @@ if ($ADD==3511) $dtmf_log = $row[11]; $dtmf_field = $row[12]; $user_group = $row[13]; + $qualify_sql = $row[14]; echo "
    Τροποποίηση μιας ΠΡΟΣΚΛΗΣΗ MENU RECORD: $menu_id\n"; @@ -26549,10 +28904,10 @@ if ($ADD==3511) echo "$UUgroups_list"; echo "\n"; echo "$NWB#vicidial_call_menu-user_group$NWE
    Μενού Προτροπή: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Μενού Προτροπή: ήχου επιλογέα $NWB#vicidial_call_menu-menu_prompt$NWE
    Μενού Timeout: $NWB#vicidial_call_menu-menu_timeout$NWE
    Μενού Timeout Προτροπή: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Μενού Άκυρα Προτροπή: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Μενού Timeout Προτροπή: ήχου επιλογέα $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Μενού Άκυρα Προτροπή: ήχου επιλογέα $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Επαναλάβετε μενού: $NWB#vicidial_call_menu-menu_repeat$NWE
    Μενού Ώρα Check:
    Χρόνος κλήσης:$NWB#vicidial_call_menu-call_time_id$NWE
    Track καλεί σε πραγματικό χρόνο έκθεση: $NWB#vicidial_call_menu-dtmf_log$NWE     Σύνδεση Πεδίο: \n"; - echo "$NWB#vicidial_call_menu-dtmf_field$NWE
    Καλέστε Μενού Επιλογές:
    Είσοδος Dialplan συνήθειας: Disabled $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Προκριθείτε SQL:
    $NWB#vicidial_call_menu-qualify_sql$NWE
    \n"; echo "

    \n"; @@ -26920,7 +29306,7 @@ if ($ADD==31111) echo "
    On-Hook Ώρα δαχτυλίδι: $NWB#vicidial_remote_agents-on_hook_ring_time$NWE
    \n"; - horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1); + horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1,'',''); echo "
    Εισερχόμενες Ομάδες: \n"; @@ -27490,7 +29876,7 @@ if ($ADD==3111111) echo "
    Κείμενο χειρόγραφου:

    Προεπισκόπιση Βοηθού
    "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -27730,6 +30117,7 @@ if ($ADD==321111111) $modify_url = "$PHP_SELF?ADD=311111111&call_time_id=$call_time_id"; $modify_footer_ανανέωσης=1; } + ### add-remove state rule if ( ($stage=="ADD") and (strlen($state_rule)>0) ) { $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; @@ -27743,6 +30131,15 @@ if ($ADD==321111111) {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD STATE RULE', event_sql=\"$SQL_log\", event_notes='Προσθήκη Κανόνα Κατάστασης: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Προσθήκη Κανόνα Κατάστασης: $state_rule
    \n"; } if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) @@ -27755,8 +30152,63 @@ if ($ADD==321111111) $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE STATE RULE', event_sql=\"$SQL_log\", event_notes='Απομάκρυνση Κανόνα Κατάστασης: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Απομάκρυνση Κανόνα Κατάστασης: $state_rule
    \n"; } + ### add-remove holiday rule + if ( ($stage=="ADD") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + if (eregi("\|$",$ct_holidays)) + {$ct_holidays = "$ct_holidays$holiday_rule\|";} + else + {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Κανόνας Holiday Προστέθηκε: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Κανόνας Holiday Προστέθηκε: $holiday_rule
    \n"; + } + if ( ($stage=="REMOVE") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Κανόνας Holiday Αφαιρέθηκε: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Κανόνας Holiday Αφαιρέθηκε: $holiday_rule
    \n"; + } $ADD=311111111; } @@ -27783,7 +30235,7 @@ if ($ADD==311111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; $ct_srs=1; @@ -27891,6 +30344,60 @@ if ($ADD==311111111) echo "\n"; echo "\n"; + + $ct_hrs=1; + $b=0; + $hrs_SQL =''; + if (strlen($ct_holidays)>2) + { + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 1); + } + echo "\n"; + echo "\n"; + while($ct_hrs >= $b) + { + if (strlen($holiday_rules[$b])>0) + { + $stmt="SELECT holiday_date,holiday_name from vicidial_call_time_holidays where holiday_id='$holiday_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $hrs_SQL .= "'$holiday_rules[$b]',"; + $hrs_holiday_SQL .= "'$row[0]',"; + } + $b++; + } + if (strlen($hrs_SQL)>2) + { + $hrs_SQL = "$hrs_SQL''"; + $hrs_holiday_SQL = "$hrs_holiday_SQL''"; + $hrs_SQL = "where holiday_id NOT IN($hrs_SQL) and holiday_date NOT IN($hrs_holiday_SQL) $LOGadmin_viewable_groupsSQL"; + } + else + {$hrs_SQL="$whereLOGadmin_viewable_groupsSQL";} + $stmt="SELECT holiday_id,holiday_date from vicidial_call_time_holidays $hrs_SQL order by holiday_date;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_list .= "\n"; + $o++; + } + echo "\n"; + echo "\n"; + + echo "
    \n"; echo ""; - $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group,ct_holidays from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $call_time_name = $row[1]; @@ -27814,6 +30266,7 @@ if ($ADD==311111111) $friday_afterhours_filename_override = $row[26]; $saturday_afterhours_filename_override = $row[27]; $user_group = $row[28]; + $ct_holidays = $row[29]; echo ""; @@ -27825,18 +30278,18 @@ if ($ADD==311111111) echo "
    ID Χρόνου Κλήσης: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Ονομα Χρόνου Κλήσης: (σύντομη περιγραφή του χρόνου κλήσης)$NWB#vicidial_call_times-call_time_name$NWE
    Σχόλια Χρόνου Κλήσης: $NWB#vicidial_call_times-call_time_comments$NWE
    Διαχειριστής Ομάδα Χρηστών:
    Διαχειριστής Ομάδα Χρηστών: $NWB#vicidial_call_times-user_group$NWE
    Προκαθορσμένη Εκκίνηση Προκαθορσμένη Παύση: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Κυριακή Εκκίνηση: Κυριακή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Δευτέρα Εκκίνηση: Δευτέρα Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Τρίτη Εκκίνηση: Τρίτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Τετάρτη Start: Τετάρτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Πέμπτη Εκκίνηση: Πέμπτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Παρασκευή Εκκίνηση: Παρασκευή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Σάββατο Εκκίνηση: Σάββατο Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Προκαθορσμένη Εκκίνηση Προκαθορσμένη Παύση: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Κυριακή Εκκίνηση: Κυριακή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Δευτέρα Εκκίνηση: Δευτέρα Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Τρίτη Εκκίνηση: Τρίτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Τετάρτη Start: Τετάρτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Πέμπτη Εκκίνηση: Πέμπτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Παρασκευή Εκκίνηση: Παρασκευή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Σάββατο Εκκίνηση: Σάββατο Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Ενεργό  εισερχόμενοςΟρισμοί διακοπών για αυτό το Record:  
    $holiday_rules[$b] - REMOVE $row[0] - $row[1]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Προσθήκη εισερχόμενος κανόνας διακοπών:


    \n"; echo "ΕΚΣΤΑΤΕΙΕΣ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΥΤΟ ΤΟΝ ΧΡΟΝΟ ΚΛΗΣΗΣ:
    \n"; echo "\n"; @@ -27992,7 +30499,7 @@ if ($ADD==3111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; @@ -28028,6 +30535,105 @@ if ($ADD==3111111111) { echo "

    ΔΙΑΓΡΑΦΗ ΟΡΙΣΜΟΥ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ\n"; } + if ($LOGuser_level >= 9) + { + echo "

    Κάντε κλικ εδώ για να δείτε τις αλλαγές Διαχειριστής to this call time\n"; + } + } + else + { + echo "Δεν έχετε το δικαίωμα για να δείτε την σελίδα. Παρακαλώ επιστρέψτε."; + } + } + + +###################### +# ADD=3211111111 modify holiday definition info in the system +###################### + +if ($ADD==3211111111) + { + if ($LOGmodify_call_times==1) + { + if ( ($SSadmin_modify_ανανέωσης > 1) and ($modify_ανανέωσης_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3211111111&holiday_id=$holiday_id"; + $modify_footer_ανανέωσης=1; + } + echo "
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    Ονομα Χρόνου Κλήσης Κατάτασης: (σύντομη περιγραφή του χρόνου κλήσης)$NWB#vicidial_call_times-call_time_name$NWE
    Σχόλια Χρόνου Κλήσης Κατάστασης: $NWB#vicidial_call_times-call_time_comments$NWE
    Διαχειριστής Ομάδα Χρηστών:
    Διαχειριστής Ομάδα Χρηστών: $NWB#vicidial_call_times-user_group$NWE
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_comments,holiday_status,ct_default_start,ct_default_stop,user_group,default_afterhours_filename_override from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $holiday_date = $row[1]; + $holiday_name = $row[2]; + $holiday_comments = $row[3]; + $holiday_status = $row[4]; + $ct_default_start = $row[5]; + $ct_default_stop = $row[6]; + $user_group = $row[7]; + $default_afterhours_filename_override = $row[8]; + + echo ""; + + echo "
    Τροποποιήσετε ένα HOLIDAY
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Holiday ID: $holiday_id$NWB#vicidial_call_times-holiday_id$NWE
    Όνομα διακοπών: (σύντομη περιγραφή των διακοπών)$NWB#vicidial_call_times-holiday_name$NWE
    Σχόλια για διακοπές: $NWB#vicidial_call_times-holiday_comments$NWE
    Διαχειριστής Ομάδα Χρηστών: $NWB#vicidial_call_times-user_group$NWE
    Προκαθορσμένη Εκκίνηση Προκαθορσμένη Παύση: $NWB#vicidial_call_times-ct_default_start$NWE
    AH Override: ήχου επιλογέα $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Ημερομηνία διακοπών: \n"; + echo " $NWB#vicidial_call_times-holiday_date$NWE
    Κατάσταση διακοπών: $NWB#vicidial_call_times-holiday_status$NWE


    \n"; + echo "ΠΡΟΣΚΛΗΣΗ φορές χρησιμοποιώντας αυτό το διακοπών:
    \n"; + echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" $whereLOGadmin_viewable_call_timesSQL;"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + echo "


    \n"; + + if ($LOGdelete_call_times > 0) + { + echo "

    Διαγράψτε αυτό το ΟΡΙΣΜΟΣ HOLIDAY\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Κάντε κλικ εδώ για να δείτε Διαχειριστής αλλαγές σε αυτές τις γιορτές
    \n"; + } } else { @@ -28187,7 +30793,7 @@ if ($ADD==31111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -28245,6 +30851,12 @@ if ($ADD==31111111111) } echo " $NWB#phones-voicemail_timezone$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "\n"; echo "\n"; echo "\n"; @@ -29159,7 +31771,7 @@ if ($ADD==361111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -28217,7 +30823,7 @@ if ($ADD==31111111111) echo "
    Πράκτορας Είσοδος οθόνης: $NWB#phones-login$NWE
    Υποσελίδες: $NWB#phones-pass$NWE
    Κωδικός Εγγραφή: $NWB#phones-conf_secret$NWE     Δύναμη:
    Σύνολο ως Webphone: $NWB#phones-is_webphone$NWE
    Σύνολο ως Webphone: $NWB#phones-is_webphone$NWE
    Διαδικτυακό κοινόχρηστο τηλέφωνο dialpad: $NWB#phones-webphone_dialpad$NWE
    Διαδικτυακό κοινόχρηστο τηλέφωνο Αυτόματη Απάντηση: $NWB#phones-webphone_auto_answer$NWE
    Εξωτερικός κεντρικός υπολογιστής IP χρήσης: $NWB#phones-use_external_server_ip$NWE
    Επιλογές Τηλεφωνητής: $NWB#phones-voicemail_options$NWE
    Χαιρετισμός ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: ήχου επιλογέα $NWB#phones-voicemail_greeting$NWE
    Εταιρία:$NWB#phones-company$NWE
    Εικόνα:$NWB#phones-picture$NWE
    Νέα Μηνύματα: $row[14]$NWB#phones-messages$NWE
    Προσθέσετε ένα αρχείο ήχου: audio chooser $NWB#vicidial_music_on_hold-filename$NWE
    Προσθέσετε ένα αρχείο ήχου: ήχου επιλογέα $NWB#vicidial_music_on_hold-filename$NWE
    \n"; @@ -29198,7 +31810,7 @@ if ($ADD==371111111111) echo "
    \n"; echo ""; - $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $voicemail_id = $row[0]; @@ -29212,9 +31824,11 @@ if ($ADD==371111111111) $voicemail_timezone = $row[8]; $voicemail_options = $row[9]; $user_group = $row[10]; + $voicemail_greeting = $row[11]; echo "
    Τροποποίηση μιας ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ BOX: $tts_id\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; @@ -29228,6 +31842,13 @@ if ($ADD==371111111111) echo "\n"; echo "$NWB#vicidial_voicemail-user_group$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "
    Διαγραφή ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ Μετά Email:$NWB#vicidial_voicemail-delete_vm_after_email$NWE
    Χαιρετισμός ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: ήχου επιλογέα $NWB#vicidial_voicemail-voicemail_greeting$NWE
    Ζώνη Τηλεφωνητής: \n"; echo "\n"; echo "
    \n"; echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -29857,7 +32488,12 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; - echo "\n"; + + $admin_web_dir=''; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} + + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; echo "\n"; @@ -29957,7 +32605,7 @@ if ($ADD==311111111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; } @@ -30082,6 +32730,8 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo ""; -$MAIN.=""; +$MAIN.=""; +$MAIN.=""; + +$MAIN.=""; $MAIN.="
    Έκδοση: $version
    SVN Έκδοση: $svn_revision
    DB Schema Έκδοση: $db_schema_version
    DB Schema Update Date: $db_schema_update_date
    Auto Χρήστης-add Value: $auto_user_add_value
    Κεντρική Sound Control Ενεργό: $NWB#settings-sounds_central_control_active$NWE
    Ήχοι Web Server: $NWB#settings-sounds_web_server$NWE
    Ήχοι Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Ήχοι Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Διαχειριστής Web Directory: $NWB#settings-admin_web_directory$NWE
    Ενεργή ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ Server: $NWB#settings-active_voicemail_server$NWE
    Αφήστε ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ Ευχετήριες Chooser: $NWB#settings-allow_voicemail_greeting$NWE
    Auto Dial Όριο:
    Ενεργοποίηση Διευρυμένη Στατιστικά Λίστα: $NWB#settings-expanded_list_stats$NWE
    Ενισχυμένη Αποσύνδεση Logging: $NWB#settings-enhanced_disconnect_logging$NWE
    Ενεργοποίηση Areacode Εκστρατεία CID: $NWB#settings-campaign_cid_areacodes_enabled$NWE
    Ενεργοποίηση απομακρυσμένης παρακάμψεων Επέκταση γραφείο: $NWB#settings-did_ra_extensions_enabled$NWE
    Enable Contacts: $NWB#settings-contacts_enabled$NWE
    Μενού κλήσεων Προκριματικά Enabled: $NWB#settings-call_menu_qualify_enabled$NWE
    Επίπεδο 8 Απενεργοποίηση Προσθήκη: $NWB#settings-level_8_disable_add$NWE
    Διαχειριστής Counts List: $NWB#settings-admin_list_counts$NWE
    Αφήστε Emails: $NWB#settings-allow_emails$NWE
    Πρώτη Trigger Είσοδος: $first_login_trigger   $NWB#settings-first_login_trigger$NWE
    Προεπιλεγμένος κωδικός πρόσβασης Εγγραφή Τηλέφωνο: $NWB#settings-default_phone_registration_password$NWE     Δύναμη:
    Slave διακομιστή βάσης δεδομένων: $NWB#settings-slave_db_server$NWE
    Εκθέσεις για την χρήση της DB Slave:
    Εκθέσεις για την χρήση της DB Slave:
    Είσοδος Dialplan συνήθειας: $NWB#settings-custom_dialplan_entry$NWE
    Είσοδος Dialplan συνήθειας: $NWB#settings-custom_dialplan_entry$NWE
    Ανανέωση Dialplan Στις Διακομιστές: $NWB#settings-reload_dialplan_on_servers$NWE
    QueueMetrics Addmember Ενεργοποιήθηκε: $NWB#settings-queuemetrics_addmember_enabled$NWE
    QueueMetrics Κωδικός Παύση DISPO: $NWB#settings-queuemetrics_dispo_pause$NWE
    QueueMetrics Τηλέφωνο Περιβάλλοντος Τηλέφωνο Προσάρτηση: $NWB#settings-queuemetrics_pe_phone_append$NWE
    QueueMetrics Socket Αποστολή: $NWB#settings-queuemetrics_socket$NWE
    QueueMetrics Socket Αποστολή URL: $NWB#settings-queuemetrics_socket_url$NWE
    Ενεργοποίηση Vtiger Ένταξη: $NWB#settings-enable_vtiger_integration$NWE\n"; echo "   Κάντε κλικ εδώ για να Συγχρονίστε χρήστες με Vtiger\n"; @@ -30358,89 +33008,12 @@ if ($ADD==331111111111111) +##QC +require_once('qc/QC_status_codes_include.php'); ###################### # ADD=341111111111111 modify vicidial QC status code ###################### - -if ($ADD==341111111111111) - { - if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) - { - if ( ($SSadmin_modify_ανανέωσης > 1) and ($modify_ανανέωσης_set < 1) ) - { - $modify_url = "$PHP_SELF?ADD=341111111111111"; - $modify_footer_ανανέωσης=1; - } - echo ""; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo ""; echo ""; echo "\n"; @@ -30895,7 +33470,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30903,7 +33481,7 @@ if ($ADD==100) $o++; } - $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; + $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); $o=0; @@ -30919,7 +33497,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30977,6 +33558,61 @@ if ($ADD==1000) echo "
    \n"; - echo ""; - - echo "
    \n"; - echo "QC VICIDIAL κωδικοί στα πλαίσια αυτού του συστήματος:  $NWB#vicidial_qc_status_codes$NWE
    \n"; - echo "\n"; - echo "\n"; - - ##### go through each QC status code - $stmt="SELECT count(*) from vicidial_qc_codes;"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - if ($rowx[0] > 0) - { - $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; - $rslt=mysql_query($stmt, $link); - $statuses_to_print = mysql_num_rows($rslt); - $o=0; - while ($statuses_to_print > $o) - { - $rowx=mysql_fetch_row($rslt); - $o++; - - if (eregi("1$|3$|5$|7$|9$", $o)) - {$bgcolor='bgcolor="#B9CBFD"';} - else - {$bgcolor='bgcolor="#9BB9FB"';} - - echo "\n"; - echo "\n"; - echo "\n"; - } - } - echo "
    STATUS CODEΠΕΡΙΓΡΑΦΗMODIFY/DELETE
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "$rowx[0]         \n"; - echo "   \n"; - - if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) - { - echo "ΔΙΑΓΡΑΦΗ\n"; - } - else - { - echo "ΔΙΑΓΡΑΦΗ\n"; - } - echo "
    \n"; - - echo "
    Προσθήκη νέου QC Κατάσταση ΚΩΔΙΚΟΣ
    \n"; - echo "\n"; - echo "Κατάσταση:   \n"; - echo "Περιγραφή:
    \n"; - echo "
    \n"; - - echo "

    \n"; - - } - else - { - echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; - exit; - } - } - - - - - +//This section moved to include file as part of QC ###################### # ADD=550 user search form @@ -30863,7 +33436,9 @@ if ($ADD==100) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists $whereLOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -30874,7 +33449,7 @@ if ($ADD==100) echo "
    ΟΝΟΜΑ ΛΙΣΤΑΣΠΕΡΙΓΡΑΦΗRTIMELEADS COUNTοδηγεί μετράνεΕΝΕΡΓΟΤΕΛΕΥΤΑΙΑ ΗΜΕΡΟΜΗΝΙΑ ΥΠΟΒΟΛΗΣCAMPAIGN $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]ΤΡΟΠΟΠΟΙΗΣΗ
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]ΤΡΟΠΟΠΟΙΗΣΗ
    \n"; } +###################### +# ADD=1800 display all email groups +###################### +if ( ($ADD==1800) and ($SSallow_emails>0) ) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,queue_priority,active,call_time_id,group_color,user_group from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $ingroups_to_print = mysql_num_rows($rslt); + + echo "
    EMAIL GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($ingroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and group_id='$row[0]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IN-GROUPΟΝΟΜΑΠΡΟΤΕΡΑΙΟΤΗΤΑΣΕΝΕΡΓΟΑδιάβασών ηλεκτρονικών ταχυδρομείωνΜέλη της ομάδας adminTIMECOLORΤΡΟΠΟΠΟΙΗΣΗ
    $row[0] $row[1] $row[2] $row[3] $unhandled_emails $row[6] $row[4]  ΤΡΟΠΟΠΟΙΗΣΗ
    \n"; + } ###################### # ADD=1300 display all inbound dids @@ -31364,8 +34000,8 @@ if ($ADD==10000000) echo "
    ΛΙΣΤΕΣ ΟΔΗΓΟΥ ΦΙΛΤΡΟΥ:\n"; echo "
    \n"; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo "\n"; @@ -31477,6 +34113,52 @@ if ($ADD==1000000000) echo "
    FILTER IDFILTER NAMEφίλτρο ταυτότηταΌνομα του φίλτρουΜέλη της ομάδας adminΤΡΟΠΟΠΟΙΗΣΗ
    \n"; } +###################### +# ADD=1200000000 display all holidays +###################### +if ($ADD==1200000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_status,ct_default_start,ct_default_stop,user_group from vicidial_call_time_holidays $whereLOGadmin_viewable_groupsSQL order by holiday_date,holiday_id;"; + $rslt=mysql_query($stmt, $link); + $holidays_to_print = mysql_num_rows($rslt); + + echo "
    HOLIDAY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($holidays_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    HOLIDAY IDDATEΟΝΟΜΑΚΑΤΑΣΤΑΣΗSTARTSTOPΜέλη της ομάδας adminΤΡΟΠΟΠΟΙΗΣΗ
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] ΤΡΟΠΟΠΟΙΗΣΗ
    \n"; + } + ###################### # ADD=130000000 display all shifts ###################### @@ -32122,7 +34804,10 @@ if ($ADD==10000000000000) } - +###################### +# ADD=100000000000000 display all qc campaigns +###################### +require_once('qc/QC_admin_include01.php'); ###################### @@ -32134,22 +34819,22 @@ if ($ADD==700000000000000) echo ""; $DURATION_graph.=" "; $HANDLETIME_graph.=" "; - } + } $CALLS_graph.="
    \n"; echo ""; - if ($stage > 9999) + if ($stage > 4999) { - $next_limit = ($stage + 10000); - $limitSQL = "10000 offset $stage"; + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; } else { - $next_limit = "10000"; - $limitSQL = "10000"; + $next_limit = "5000"; + $limitSQL = "5000"; } $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log $whereLOGadmin_viewable_groupsSQL order by event_date desc limit $limitSQL;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); - echo "
    ADMIN CHANGE LOG: (Τελευταία 10.000 εγγραφές)\n"; + echo "
    ADMIN CHANGE LOG: (Last 5000 records)\n"; echo "
    \n"; echo ""; echo ""; @@ -32231,7 +34916,7 @@ if ($ADD==710000000000000) $user_name = $row[0]; } - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32317,7 +35002,7 @@ if ($ADD==720000000000000) if (preg_match("/DIDS/",$category)) {$sectionSQL = "event_section IN('DIDS','DID_RA-EXTEN')";} - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32353,6 +35038,8 @@ if ($ADD==720000000000000) if (eregi('REMOTEAGENT',$row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} if (eregi('PHONE',$row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} if (eregi('CALLTIME',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} + if (eregi('CALLTIMES_STATE',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} + if (eregi('HOLIDAY',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} if (eregi('SHIFT',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} if (eregi('CARRIER',$row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} @@ -32362,6 +35049,7 @@ if ($ADD==720000000000000) if (eregi('CATEGOR',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} if (eregi('GROUPALIAS',$row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} if (eregi('LEADS',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} + if (eregi('EMAIL',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} if (eregi("1$|3$|5$|7$|9$", $o)) {$bgcolor='bgcolor="#B9CBFD"';} @@ -32463,6 +35151,214 @@ if ($ADD==730000000000000) } +###################### +# ADD=800000000000000 view all activity in the admin report log +###################### + +if ($ADD==800000000000000) + { + echo "
    ID
    \n"; + echo ""; + + if ($stage > 4999) + { + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; + } + else + { + $next_limit = "5000"; + $limitSQL = "5000"; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log order by event_date desc limit $limitSQL;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + + echo "
    ADMIN LOG ΕΚΘΕΣΗ: (Last 5000 records)\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "NEXT\n"; + echo "
    \n"; + } + + +###################### +# ADD=810000000000000 view all activity in the report log made by one user +###################### + +if ($ADD==810000000000000) + { + echo "\n"; echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT full_name from vicidial_users where user='$stage' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $names_to_print = mysql_num_rows($rslt); + if ($names_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $user_name = $row[0]; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log where user='$stage' order by event_date desc limit 5000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    ADMIN LOG ΕΚΘΕΣΗ: Οι αλλαγές που έγιναν από $stage - $user_name\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=830000000000000 detail view of one report log entry +###################### + +if ($ADD==830000000000000) + { + if ($LOGuser_level >= 9) + { + echo ""; - echo "\n"; + echo "\n"; } else { @@ -32663,6 +35567,7 @@ if ($ADD==999999) } $o=0; + $web_u_time = date('U'); while ($servers_to_print > $o) { $cpu = (100 - $cpu_idle_percent[$o]); @@ -32681,7 +35586,23 @@ if ($ADD==999999) $k++; } $disk = "$disk%"; - echo "\n"; + $s_time=' '; + $s_ver=' '; + $u_time=$web_u_time; + $stmt="SELECT last_update,UNIX_TIMESTAMP(last_update) from server_updater where server_ip='$server_ip[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servertime_to_print = mysql_num_rows($rslt); + if ($servertime_to_print) + { + $row=mysql_fetch_row($rslt); + $s_time = $row[0]; + $u_time = ($row[1] + 10); + } + $server_bgcolor=''; + if ($web_u_time > $u_time) + {$server_bgcolor=' bgcolor=red';} + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32691,15 +35612,16 @@ if ($ADD==999999) echo "\n"; if ($stage == 'TIME') { - $stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';"; + $stmt="SELECT svn_revision from servers where server_ip='$server_ip[$o]';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $servertime_to_print = mysql_num_rows($rslt); - if ($servertime_to_print) + $serverver_to_print = mysql_num_rows($rslt); + if ($serverver_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + $s_ver = $row[0]; } + echo ""; } else { @@ -32720,7 +35642,7 @@ if ($ADD==999999) if ($stage == 'TIME') { - echo ""; + echo ""; $stmt="SELECT NOW();"; $rslt=mysql_query($stmt, $link); @@ -32729,7 +35651,7 @@ if ($ADD==999999) if ($dbtime_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + echo ""; } } echo "
    \n"; + echo ""; + + $stmt="SELECT report_log_id,event_date,vrl.user,ip_address,report_name,browser,referer,notes,url,full_name,val.user_group,run_time from vicidial_report_log vrl, vicidial_users val where report_log_id='$stage' and val.user=vrl.user $valLOGadmin_viewable_groupsSQL;"; + if ($DB > 0) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + if ($logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + + $run_color='color=blue'; + if ($row[11] > 5) {$run_color='color=black';} + if ($row[11] > 10) {$run_color='color=purple';} + if ($row[11] > 30) {$run_color='color=red';} + + echo "
    ADMIN LOG ΕΚΘΕΣΗ: Εγγραφή Λεπτομέρειες - $stage

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "
    ID: $row[0]
    DATE TIME: $row[1]
    RUN TIME: $row[11] seconds
    USER: $row[2] - $row[9]
    IP: $row[3]
    REPORT: $row[4]
    BROWSER: $row[5]
    NOTES: $row[7]
    REFERER:

    $row[6]

    URL:

    $row[8]



    \n"; + echo "\n"; + echo "
    \n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } + + ###################### # ADD=999999 display reports section ###################### @@ -32570,7 +35466,13 @@ if ($ADD==999999) # echo "
  • ΧΕΙΡΙΣΤΗΣSPREADSHEET ΑΠΟΔΟΣΗ\n"; if ( ( (preg_match("/Dialer Έκθεση απογραφής/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) and ($inventory_report_count > 0) ) {echo "
  • Dialer Έκθεση απογραφής\n";} - + if ($SSemail_enabled > 0) + { + if ( ( (preg_match("/Inbound Report/",$LOGallowed_reports)) and (preg_match("/Inbound Email Report/",$LOGallowed_reports)) ) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) + {echo "
  • Inbound Email Report\n";} + if ( (preg_match("/Email Log Report/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) + {echo "
  • \n";} + } if ($LOGexport_reports >= 1) { if ( (preg_match("/Εξαγωγή ζητεί έκθεση/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) @@ -32594,6 +35496,8 @@ if ($ADD==999999) {echo "
  • Team Performance Λεπτομέρειες\n";} if ( (preg_match("/Single Agent Daily/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) {echo "
  • Single Agent Daily\n";} + if ( (preg_match("/Ομάδα Χρήστη Login Report/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) + {echo "
  • Ομάδα Χρήστη Login Report\n";} if ( (preg_match("/Στατιστικά Χρήστη/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) {echo "
  • Στατιστικά Χρήστη\n";} if ( (preg_match("/Χρήστης Ώρα Φύλλο/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) @@ -32654,7 +35558,7 @@ if ($ADD==999999) if ($stage == 'TIME') { echo "
  • ΔΙΑΚΟΜΙΣΤΗΣ -ΠΕΡΙΓΡΑΦΗIPACTLOADCHANDISKTIME
    ΠΕΡΙΓΡΑΦΗIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$disk$row[0]$s_time$s_ver
      PHP Time   " . date("Y-m-d H:i:s") . "
      PHP Time   " . date("Y-m-d H:i:s") . "  
      DB Time   $row[0]
      DB Time   $row[0]  
    \n"; @@ -32778,6 +35700,10 @@ if ($ADD==999998) echo "
  • Θέσεις συστημάτων\n"; echo "
  • ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ \n"; + if ($SSemail_enabled > 0) + { + echo "
  • Λογαριασμοί Email \n"; + } if ( ($sounds_central_control_active > 0) or ($SSsounds_central_control_active > 0) ) { echo "
  • Audio Store \n"; @@ -32789,11 +35715,11 @@ if ($ADD==999998) } if ($SScallcard_enabled > 0) { - echo "
  • CallCard Admin \n"; + echo "
  • Καλέστε Διαχειριστής κάρτα \n"; } if ($SScontacts_enabled > 0) { - echo "
  • Contacts \n"; + echo "
  • Επαφές \n"; } echo "\n"; @@ -32999,7 +35925,7 @@ if ($ADD==999995) echo "
    Καλώς ήλθατε στο ViciDial: πνευματικά δικαιώματα, εμπορικό σήμα και άδεια σελίδα

    \n"; echo "
    \n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -33033,9 +35959,13 @@ if ($ADD==999994) echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } } @@ -33147,11 +36077,47 @@ if ($ADD==999993) ###################### if ($ADD==999992) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + echo "
    Copyright:   Το Call Center της ViciDial Σουίτα συντηρείται από το ViciDial Group, © 2012
    Copyright:   Το Call Center της ViciDial Σουίτα συντηρείται από το ViciDial Group, © 2013
    Trademark:   \"VICIDIAL\" είναι σήμα κατατεθέν της ViciDial Group. Εδώ είναι ο δικός μας σήμα κατατεθέν της πολιτικής χρήσης
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0,'',''); echo "
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; } } $k++; @@ -700,7 +748,7 @@ if ($function == 'sounds_list') ################################################################################ if ($function == 'moh_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -866,7 +914,7 @@ if ($function == 'moh_list') ################################################################################ if ($function == 'vm_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1018,7 +1066,7 @@ if ($function == 'agent_ingroup_info') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1114,12 +1162,12 @@ if ($function == 'agent_ingroup_info') $row=mysql_fetch_row($rslt); $allowed_campaign_autodial=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_change_ingroups=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_modify_user=$row[0]; @@ -1344,7 +1392,7 @@ if ($function == 'blind_monitor') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1441,6 +1489,21 @@ if ($function == 'blind_monitor') { $man_id = mysql_insert_id($link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$BMquery',lead_id='0',server_ip='$monitor_server_ip',call_date='$NOW_TIME',extension='$dialplan_number',channel='Local/$monitor_dialstring$stage$session_id@default',timeout='0',outbound_cid='\"VC Blind Monitor\" <$outbound_cid>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ##### BEGIN log visit to the vicidial_report_log table ##### + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$user', ip_address='1.1.1.1', report_name='API Blind Monitor', browser='API', referer='realtime_report.php', notes='$user, $monitor_server_ip, $dialplan_number, $session_id, $phone_login', url='REALTIME BLIND MONITOR',run_time='$TOTALrun';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + ##### END log visit to the vicidial_report_log table ##### + $result = 'SUCCESS'; $result_reason = "blind_monitor HAS BEEN LAUNCHED"; echo "$result: $result_reason - $phone_login|$monitor_dialstring$stage$session_id|$dialplan_number|$session_id|$man_id|$user\n"; @@ -1500,7 +1563,7 @@ if ($function == 'add_user') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1660,6 +1723,97 @@ if ($function == 'add_user') +################################################################################ +### add_group_alias - adds group alias to the system +################################################################################ +if ($function == 'add_group_alias') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "add_group_alias USER DOES NOT HAVE PERMISSION TO ADD GROUP ALIASES"; + $data = "$allowed_user"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($caller_id_number)<6) + { + $result = 'ERROR'; + $result_reason = "add_group_alias YOU MUST USE ALL REQUIRED FIELDS"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($group_alias_id)<2) {$group_alias_id = $caller_id_number;} + if (strlen($group_alias_name)<2) {$group_alias_name = $caller_id_number;} + if (strlen($active)<1) {$active = 'Y';} + if (strlen($admin_user_group)<1) {$admin_user_group = '---ALL---';} + $group_alias_name = preg_replace("/\+/",' ',$group_alias_name); + $caller_id_name = preg_replace("/\+/",' ',$caller_id_name); + + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $alias_exists=$row[0]; + if ($alias_exists > 0) + { + $result = 'ERROR'; + $result_reason = "add_group_alias GROUP ALIAS ALREADY EXISTS"; + $data = "$group_alias_id|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$admin_user_group');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN API ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $result = 'SUCCESS'; + $result_reason = "add_group_alias GROUP ALIAS HAS BEEN ADDED"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + } + exit; + } +################################################################################ +### END add_group_alias +################################################################################ + + ################################################################################ ### add_phone - adds phone to the phones table @@ -1677,7 +1831,7 @@ if ($function == 'add_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1815,7 +1969,7 @@ if ($function == 'update_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1896,7 +2050,7 @@ if ($function == 'update_phone') { if ($delete_phone == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2210,8 +2364,6 @@ if ($function == 'update_phone') - - ################################################################################ ### add_phone_alias - adds phone alias to the system ################################################################################ @@ -2228,7 +2380,7 @@ if ($function == 'add_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2337,7 +2489,7 @@ if ($function == 'update_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2380,7 +2532,7 @@ if ($function == 'update_phone_alias') { if ($delete_alias == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2522,7 +2674,7 @@ if ($function == 'update_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2609,6 +2761,7 @@ if ($function == 'update_list') $webformSQL=''; $webformtwoSQL=''; $resettimeSQL=''; + $expiration_dateSQL=''; if (strlen($campaign_id) > 0) { $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; @@ -2758,6 +2911,25 @@ if ($function == 'update_list') {$resettimeSQL = " ,reset_time='$reset_time'";} } } + if (strlen($expiration_date) > 9) + { + if ($expiration_date == '--BLANK--') + {$expiration_dateSQL = " ,expiration_date='2099-12-31'";} + else + { + if (strlen($expiration_date) < 10) + { + $result = 'ERROR'; + $result_reason = "update_list EXPIRATION DATE IS NOT VALID, THIS IS AN OPTIONAL FIELD"; + $data = "$expiration_date"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + {$resettimeSQL = " ,expiration_date='$expiration_date'";} + } + } if (strlen($web_form_address) > 0) { if ($web_form_address == '--BLANK--') @@ -2773,7 +2945,7 @@ if ($function == 'update_list') {$webformtwoSQL = " ,web_form_address_two='$web_form_address_two'";} } - $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL"; + $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL$expiration_dateSQL"; if (strlen($updateSQL)< 3) { @@ -2846,7 +3018,7 @@ if ($function == 'update_list') if ($delete_list == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2884,7 +3056,7 @@ if ($function == 'update_list') if ($delete_leads == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2950,7 +3122,7 @@ if ($function == 'add_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3086,8 +3258,9 @@ if ($function == 'add_list') exit; } if (strlen($active)<1) {$active='N';} + if (strlen($expiration_date)<10) {$expiration_date='2099-12-31';} - $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time';"; + $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time', expiration_date='$expiration_date';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "|$stmt|\n";} @@ -3136,7 +3309,7 @@ if ($function == 'recording_lookup') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3308,7 +3481,7 @@ if ($function == 'did_log_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3448,7 +3621,7 @@ if ($function == 'agent_stats_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3596,6 +3769,7 @@ if ($function == 'agent_stats_export') if ($AScalls[$k] < 1) { $cust_sec = 0; + $wait_sec = 0; $avg_cust_sec = 0; $avg_wait_sec = 0; $pct_of_queue = 0; @@ -3603,6 +3777,7 @@ if ($function == 'agent_stats_export') else { $cust_sec = ($AStalk_sec[$k] - $ASdead_sec[$k]); + $wait_sec = $ASwait_sec[$k]; $avg_cust_sec = ($cust_sec / $AScalls[$k]); $avg_wait_sec = ($ASwait_sec[$k] / $AScalls[$k]); $pct_of_queue = ( ($AScalls[$k] / $total_calls) * 100); @@ -3618,10 +3793,11 @@ if ($function == 'agent_stats_export') $avg_session_sec = sec_convert($avg_session_sec,$time_format); $avg_pause_sec = sec_convert($avg_pause_sec,$time_format); $cust_sec = sec_convert($cust_sec,$time_format); + $wait_sec = sec_convert($wait_sec,$time_format); $avg_cust_sec = sec_convert($avg_cust_sec,$time_format); $avg_wait_sec = sec_convert($avg_wait_sec,$time_format); - $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session\n"; + $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session$DL$wait_sec\n"; $k++; } @@ -3647,6 +3823,737 @@ if ($function == 'agent_stats_export') +################################################################################ +### user_group_status - exports user group real-time stats +################################################################################ +if ($function == 'user_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status USER DOES NOT HAVE PERMISSION TO GET USER GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($user_groups)>0) and (strlen($user_groups)<10000) ) + { + $user_groupsOUTPUT = preg_replace("/\|/",' ',$user_groups); + $user_groupsSQL = preg_replace("/\|/","','",$user_groups); + $search_SQL .= "and user_group IN('$user_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$user_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $whereLOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $whereLOGallowed_callsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'usergroups' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dead_calls' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $whereLOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $i++; + } + } + + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $search_SQL $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: user_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + + if (eregi("INCALL",$row[1])) + { + $stmtP="select count(*) from parked_channels where channel_group='$row[5]';"; + $rsltP=mysql_query($stmtP,$link); + $rowP=mysql_fetch_row($rsltP); + $parked_channel = $rowP[0]; + + if ($parked_channel > 0) + {$row[1] = 'PARK';} + else + { + if (!ereg("$row[5]\|",$callerids)) + {$row[1] = 'DEAD';} + } + } + + if ($row[1]=='DEAD') + {$total_agents_dead++;} + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$user_groupsOUTPUT$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dead$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$user_groups|$stage"; + $result_reason = "user_group_status AGENTS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END user_group_status +################################################################################ + + + + + +################################################################################ +### in_group_status - exports in-group real-time stats +################################################################################ +if ($function == 'in_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status USER DOES NOT HAVE PERMISSION TO GET IN-GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($in_groups)>0) and (strlen($in_groups)<10000) ) + { + $in_groupsOUTPUT = preg_replace("/\|/",' ',$in_groups); + $in_groupsSQL = preg_replace("/\|/","','",$in_groups); + $search_SQL .= "where campaign_id IN('$in_groupsSQL')"; + $agent_search_SQL .= "where group_id IN('$in_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$in_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $LOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $LOGallowed_callsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'ingroups' . $DL . 'total_calls' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $search_SQL $LOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $total_calls++; + $i++; + } + } + + $users=''; + $stmt="SELECT distinct user from vicidial_live_inbound_agents where group_id IN('$in_groupsSQL');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $IG_users = mysql_num_rows($rslt); + if ($IG_users > 0) + { + $i=0; + while ($i < $IG_users) + { + $row=mysql_fetch_row($rslt); + $users .= "$row[0]','"; + $i++; + } + } + + $k=0; + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and vicidial_live_agents.user IN('$users') $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: in_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$in_groupsOUTPUT$DL$total_calls$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$in_groups|$stage"; + $result_reason = "in_group_status CALLS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END in_group_status +################################################################################ + + + + +################################################################################ +### agent_status - exports agent user real-time stats +################################################################################ +if ($function == 'agent_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status USER DOES NOT HAVE PERMISSION TO GET AGENT INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $agent_search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($agent_user)>0) and (strlen($agent_user)<100) ) + { + $agent_search_SQL .= "where user='$agent_user'"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status INVALID SEARCH PARAMETERS"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGadmin_viewable_groups = $row[0]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'status' . $DL . 'callerid' . $DL . 'lead_id' . $DL . 'campaign_id' . $DL . 'calls_today' . $DL . 'full_name' . $DL . 'user_group' . $DL . 'user_level' . "\n";} + + $stmt="select full_name,user_group,user_level from vicidial_users $agent_search_SQL $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $user_to_list = mysql_num_rows($rslt); + if ($user_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + $user_level = $row[2]; + + $stmt="select status,callerid,lead_id,campaign_id,calls_today from vicidial_live_agents $agent_search_SQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agent_to_list = mysql_num_rows($rslt); + if ($agent_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $callerid = $row[1]; + $lead_id = $row[2]; + $campaign_id = $row[3]; + $calls_today = $row[4]; + + $output .= "$status$DL$callerid$DL$lead_id$DL$campaign_id$DL$calls_today$DL$full_name$DL$user_group$DL$user_level\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$agent_user|$stage"; + $result_reason = "agent_status $output"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT LOGGED IN"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT FOUND"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + } + exit; + } +################################################################################ +### END agent_status +################################################################################ + + + +################################################################################ +### update_log_entry - updates the status of a log entry +################################################################################ +if ($function == 'update_log_entry') + { + if (strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "update_log_entry USER DOES NOT HAVE PERMISSION TO UPDATE LOGS"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + if ( (strlen($group)<2) or (strlen($call_id)<8) or (strlen($status)<8) ) + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $inbound_call=$row[0]; + + if ($inbound_call < 1) + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $outbound_call=$row[0]; + } + + if ( ($inbound_call < 1) and ($outbound_call < 1) ) + { + $result = 'ERROR'; + $result_reason = "update_log_entry GROUP NOT FOUND"; + $data = "$user|$group"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (preg_match("/\./",$call_id)) + { + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and uniqueid='$call_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and uniqueid='$call_id';";} + } + else + { + $lead_id = substr($call_id, -10); + $lead_id = ($lead_id + 0); + + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + } + $rslt=mysql_query($stmt, $link); + $found_recs = mysql_num_rows($rslt); + if ($found_recs > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id = $row[0]; + $old_status = $row[1]; + $uniqueid = $row[2]; + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS FOUND"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + + if ($inbound_call > 0) + {$stmt="UPDATE vicidial_closer_log SET status='$status' where campaign_id='$group' and closecallid='$uniqueid' order by call_date desc limit 1;";} + else + {$stmt="UPDATE vicidial_log SET status='$status' where campaign_id='$group' and uniqueid='$uniqueid';";} + $rslt=mysql_query($stmt, $link); + $update_count = mysql_affected_rows($link); + if ($update_count > 0) + { + $result = 'SUCCESS'; + $result_reason = "update_log_entry RECORD HAS BEEN UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid|$affected_rows"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry INVALID SEARCH PARAMETERS"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + exit; + } +################################################################################ +### END update_log_entry +################################################################################ + + + + + ################################################################################ ### add_lead - inserts a lead into the vicidial_list table ################################################################################ @@ -3663,7 +4570,7 @@ if ($function == 'add_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -3683,6 +4590,24 @@ if ($function == 'add_lead') if (strlen($rank)<1) {$rank='0';} if (strlen($list_id)<3) {$list_id='999';} if (strlen($phone_code)<1) {$phone_code='1';} + if ( ($nanpa_ac_prefix_check == 'Y') or (eregi("NANPA",$tz_method)) ) + { + $stmt="SELECT count(*) from vicidial_nanpa_prefix_codes;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vicidial_nanpa_prefix_codes_count = $row[0]; + if ($vicidial_nanpa_prefix_codes_count < 10) + { + $nanpa_ac_prefix_check='N'; + $tz_method = preg_replace("/NANPA/",'',$tz_method); + + $result = 'NOTICE'; + $result_reason = "add_lead NANPA options disabled, NANPA prefix data not loaded"; + echo "$result: $result_reason - $vicidial_nanpa_prefix_codes_count|$user\n"; + $data = "$inserted_alt_phones|$lead_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } $valid_number=1; if ( (strlen($phone_number)<6) || (strlen($phone_number)>16) ) @@ -3713,6 +4638,20 @@ if ($function == 'add_lead') $result_reason = "add_lead INVALID PHONE NUMBER AREACODE"; } } + if ( ($nanpa_ac_prefix_check=='Y') and ($valid_number > 0) ) + { + $phone_areacode = substr($phone_number, 0, 3); + $phone_prefix = substr($phone_number, 3, 3); + $stmt = "SELECT count(*) from vicidial_nanpa_prefix_codes where areacode='$phone_areacode' and prefix='$phone_prefix';"; + if ($DB>0) {echo "DEBUG: add_lead areacode check query - $stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $valid_number=$row[0]; + if ($valid_number < 1) + { + $result_reason = "add_lead INVALID PHONE NUMBER NANPA AREACODE PREFIX"; + } + } if ($valid_number < 1) { $result = 'ERROR'; @@ -3753,14 +4692,22 @@ if ($function == 'add_lead') if ( ($campaign_dnc_check == 'Y') or ($campaign_dnc_check == 'AREACODE') ) { if ($DB>0) {echo "DEBUG: Checking for campaign DNC\n";} + + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign_id; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if ($campaign_dnc_check == 'AREACODE') { $phone_areacode = substr($phone_number, 0, 3); $phone_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$campaign_id';"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign_id';";} + {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -4035,7 +4982,7 @@ if ($function == 'add_lead') ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); $new_status='NEW'; if ($callback == 'Y') @@ -4225,13 +5172,11 @@ if ($function == 'add_lead') $result = 'NOTICE'; $result_reason = "add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME"; echo "$result: $result_reason - $phone_number|$lead_id|$gmt_offset|$dialable|$user\n"; - $data = "$phone_number|$lead_id|$gmt_offset|$dialable"; + $data = "$phone_number|$lead_id|$gmt_offset|$dialable|$state"; api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); } else { - ### code to insert into hopper goes here - ### insert record into vicidial_hopper for alt_phone call attempt $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$list_id',gmt_offset_now='$gmt_offset',state='$state',user='',priority='$hopper_priority',source='P',vendor_lead_code='$vendor_lead_code';"; if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} @@ -4366,7 +5311,7 @@ if ($function == 'update_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -4561,6 +5506,7 @@ if ($function == 'update_lead') if (strlen($owner)>0) {$VL_update_SQL .= "owner='$owner',";} if (strlen($called_count)>0) {$VL_update_SQL .= "called_count='$called_count',";} if ( (strlen($reset_lead) > 0 && $reset_lead == 'Y') ) {$VL_update_SQL .= "called_since_last_reset='N',";} + if ( (strlen($update_phone_number)>0 && $update_phone_number=='Y' && strlen($phone_number)>0) ) {$VL_update_SQL .= "phone_number='$phone_number',";} $VL_update_SQL = preg_replace("/,$/","",$VL_update_SQL); $VL_update_SQL = preg_replace("/'--BLANK--'/","''",$VL_update_SQL); $VL_update_SQL = preg_replace("/\n/","!N",$VL_update_SQL); @@ -4900,7 +5846,7 @@ if ($function == 'update_lead') else { ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); if (strlen($status)<1) {$status='NEW';} @@ -5094,11 +6040,6 @@ api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$resul - - - - - if ($format=='debug') { $ENDtime = date("U"); @@ -5119,7 +6060,7 @@ exit; ##### LOOKUP GMT, FINDS THE CURRENT GMT OFFSET FOR A PHONE NUMBER ##### -function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner) +function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix) { require("dbconnect.php"); @@ -5171,6 +6112,24 @@ if ( ($tz_method=="TZCODE") && (strlen($owner)>1) ) if (strlen($dst_range)>2) {$dst = 'Y';} } } +if ( (eregi("NANPA",$tz_method)) && (strlen($USarea)>2) && (strlen($USprefix)>2) ) + { + $stmt="select GMT_offset,DST from vicidial_nanpa_prefix_codes where areacode='$USarea' and prefix='$USprefix';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[0]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[1]; + $dst_range = ''; + if ($dst == 'Y') + {$dst_range = 'SSM-FSN';} + $PC_processed++; + $postalgmt_found++; + $post++; + } + } if ($postalgmt_found < 1) { $PC_processed=0; @@ -5924,273 +6883,160 @@ function dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state) $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times FROM vicidial_call_times where call_time_id='$local_call_time';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; - if ($GMT_day==0) #### Sunday local time - { - if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + if ( (strlen($Gct_state_call_times) > 2) and (strlen($state)>0) ) { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==1) #### Monday local time - { - if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==2) #### Tuesday local time - { - if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==3) #### Wednesday local time - { - if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==4) #### Thursday local time - { - if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==5) #### Friday local time - { - if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==6) #### Saturday local time - { - if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) - {$dialable=1;} - } - } + $Gct_state_call_timesSQL = $Gct_state_call_times; + $Gct_state_call_timesSQL = preg_replace("/\|/","','",$Gct_state_call_timesSQL); + $Gct_state_call_timesSQL = preg_replace("/^',|,'$/",'',$Gct_state_call_timesSQL); - return $dialable; - } - -/* - $ct_states = ''; - $ct_state_gmt_SQL = ''; - $ct_srs=0; - $b=0; - if (strlen($Gct_state_call_times)>2) - { - $state_rules = explode('|',$Gct_state_call_times); - $ct_srs = ((count($state_rules)) - 2); - } - while($ct_srs >= $b) - { - if ( (strlen($state_rules[$b])>1) and (strlen($state)>1) ) - { - $stmt="SELECT STAR from vicidial_state_call_times where state_call_time_id='$state_rules[$b]' and state_call_time_state='$state';"; + $stmt="SELECT sct_default_start,sct_default_stop,sct_sunday_start,sct_sunday_stop,sct_monday_start,sct_monday_stop,sct_tuesday_start,sct_tuesday_stop,sct_wednesday_start,sct_wednesday_stop,sct_thursday_start,sct_thursday_stop,sct_friday_start,sct_friday_stop,sct_saturday_start,sct_saturday_stop FROM vicidial_state_call_times where state_call_time_id IN($Gct_state_call_timesSQL) and state_call_time_state='$state';"; + if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; - - $ct_states .="'$Gstate_call_time_state',"; - - $r=0; - $state_gmt=''; - while($r < $g) + $state_times_to_print = mysql_num_rows($rslt); + if ($state_times_to_print > 0) { - if ($GMT_day[$r]==0) #### Sunday local time - { - if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==1) #### Monday local time - { - if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==2) #### Tuesday local time - { - if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==3) #### Wednesday local time - { - if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==4) #### Thursday local time - { - if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==5) #### Friday local time - { - if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==6) #### Saturday local time - { - if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - $r++; + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[0]; + $Gct_default_stop = $rowx[1]; + $Gct_sunday_start = $rowx[2]; + $Gct_sunday_stop = $rowx[3]; + $Gct_monday_start = $rowx[4]; + $Gct_monday_stop = $rowx[5]; + $Gct_tuesday_start = $rowx[6]; + $Gct_tuesday_stop = $rowx[7]; + $Gct_wednesday_start = $rowx[8]; + $Gct_wednesday_stop = $rowx[9]; + $Gct_thursday_start = $rowx[10]; + $Gct_thursday_stop = $rowx[11]; + $Gct_friday_start = $rowx[12]; + $Gct_friday_stop = $rowx[13]; + $Gct_saturday_start = $rowx[14]; + $Gct_saturday_stop = $rowx[15]; } - $state_gmt = "$state_gmt'99'"; - $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; } - $b++; - } - if (strlen($ct_states)>2) - { - $ct_states = eregi_replace(",$",'',$ct_states); - $ct_statesSQL = "and state NOT IN($ct_states)"; + ### go through each day to determine dialability + if ($GMT_day==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) + {$dialable=1;} + } + } + + return $dialable; } else { - $ct_statesSQL = ""; + return 0; } - -*/ - + } @@ -6208,7 +7054,6 @@ function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$val $TOTALrun = ($runS + $runM); $NOW_TIME = date("Y-m-d H:i:s"); - # api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script',run_time='$TOTALrun';"; $rslt=mysql_query($stmt, $link); } diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include01.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include01.php new file mode 100644 index 00000000..90e71f21 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include01.php @@ -0,0 +1,105 @@ +
    \n"; echo ""; echo "
    Administration: Maximum System Stats   $NWB#vicidial_max_stats$NWE

    \n"; - echo "
    \n"; + echo ""; + + echo "\n"; + + echo " to "; + + echo "    
    \n"; + echo "
    [ΛΗΨΗ ALL]
    \n"; if ( (preg_match("/Maximum System Stats/",$LOGallowed_reports)) or (preg_match("/ALL ΑΝΑΦΟΡΕΣ/",$LOGallowed_reports)) ) { @@ -33168,31 +36134,38 @@ if ($ADD==999992) } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } else @@ -33201,8 +36174,128 @@ if ($ADD==999992) } ##### END max system stats report ##### +##### If report run, update the time in the vicidial_report_log table ##### +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } +###################### +# ADD=999991 display server version info +###################### +if ($ADD==999991) + { + echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls','total call count in and out',0); + $download_link="[ΛΗΨΗ]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls','total call count in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_inbound_all','total inbound call count',0); + $download_link="[ΛΗΨΗ]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_inbound_all','total inbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_outbound_all','total outbound call count',0); + $download_link="[ΛΗΨΗ]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_outbound_all','total outbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0); + $download_link="[ΛΗΨΗ]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_inbound','most concurrent calls inbound total',0); + $download_link="[ΛΗΨΗ]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_inbound','most concurrent calls inbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_outbound','most concurrent calls outbound total',0); + $download_link="[ΛΗΨΗ]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_outbound','most concurrent calls outbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_agents','most concurrent agents',0); + $download_link="[ΛΗΨΗ]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_agents','most concurrent agents',0,$end_date,$download_link); echo "
    \n"; + echo ""; + + echo "
    Administration: Server Version Information

    \n"; + + if ($LOGview_reports==1) + { + if ($reports_only_user < 1) + { + echo "
    \n";
    +
    +			echo "";
    +			echo "\n";
    +
    +			$stmt="SELECT server_id,server_description,server_ip,active,sysload,channels_total,cpu_idle_percent,disk_usage from servers order by server_id;";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$servers_to_print = mysql_num_rows($rslt);
    +			$i=0;
    +			while ($i < $servers_to_print)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$server_id[$i] =			$row[0];
    +				$server_description[$i] =	$row[1];
    +				$server_ip[$i] =			$row[2];
    +				$active[$i] =				$row[3];
    +				$sysload[$i] =				$row[4];
    +				$channels_total[$i] =		$row[5];
    +				$cpu_idle_percent[$i] =		$row[6];
    +				$disk_usage[$i] =			$row[7];
    +				$i++;
    +				}
    +
    +			$o=0;
    +			while ($servers_to_print > $o)
    +				{
    +				$cpu = (100 - $cpu_idle_percent[$o]);
    +				$disk = '';
    +				$disk_ary = explode('|',$disk_usage[$o]);
    +				$disk_ary_ct = count($disk_ary);
    +				$k=0;
    +				while ($k < $disk_ary_ct)
    +					{
    +					$disk_ary[$k] = preg_replace("/^\d* /","",$disk_ary[$k]);
    +					if ($k<1) {$disk = "$disk_ary[$k]";}
    +					else
    +						{
    +						if ($disk_ary[$k] > $disk) {$disk = "$disk_ary[$k]";}
    +						}
    +					$k++;
    +					}
    +				$disk = "$disk%";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +
    +				$s_time=' ';
    +				$s_ver=' ';
    +				$s_info_print='no svn information';
    +				$stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$servertime_to_print = mysql_num_rows($rslt);
    +				if ($servertime_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_time = $row[0];
    +					}
    +				$stmt="SELECT svn_revision,svn_info from servers where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$serverver_to_print = mysql_num_rows($rslt);
    +				if ($serverver_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_ver = $row[0];
    +					$s_info = $row[1];
    +					$s_info_print = preg_replace("/\n/",'
    ',$s_info); + } + if (strlen($s_info_print) < 1) {$s_info_print='no svn information';} + echo ""; + echo ""; + + echo "\n"; + $o++; + } + echo "
    SERVERΠΕΡΙΓΡΑΦΗIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]$sysload[$o] - $cpu%$channels_total[$o]$disk$s_time$s_ver
     $s_info_print
    \n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } +##### END server version info ##### echo "
    \n"; @@ -33218,7 +36311,7 @@ echo "

    "; echo "ΕΚΔΟΣΗ: $admin_version
    "; echo "ΔΗΜΙΟΥΡΓΙΑ: $build\n"; if (!preg_match("/_ΔΗΜΙΟΥΡΓΙΑ_/",$SShosted_settings)) - {echo "
    © 2012 ViciDial Group
    ";} + {echo "
    © 2013 ViciDial Group
    ";} echo "
    \n"; ?> @@ -33665,7 +36758,27 @@ if (isset($camp_lists)) $CCLsql = "and (called_count < $call_count_limit)"; } - $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL"; + $EXPsql=''; + $expired_lists=''; + $REPORTdate = date("Y-m-d"); + $stmt="SELECT list_id FROM vicidial_lists where list_id IN($camp_lists) and (active='Y') and (expiration_date < \"$REPORTdate\");"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + $f=0; + while ($rslt_rows > $f) + { + $rowx=mysql_fetch_row($rslt); + $expired_lists .= "'$rowx[0]',"; + $f++; + } + $expired_lists = preg_replace("/,$/",'',$expired_lists); + if (strlen($expired_lists) < 2) {$expired_lists = "''";} + $EXPsql = "and list_id NOT IN($expired_lists)"; + + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $EXPsql"; #$DB=1; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/admin_email_accounts.php b/agc_2-X/trunk/LANG_www/vicidial_el/admin_email_accounts.php new file mode 100644 index 00000000..6a494f0d --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/admin_email_accounts.php @@ -0,0 +1,884 @@ + LICENSE: AGPLv2 +# +# This page manages the inbound email accounts in ViciDial +# +# changes: +# 121214-2245 - First Build +# 130102-1131 - Small admin log change +# 130221-1754 - Added level 8 disable add feature +# + +$admin_version = '2.6-3'; +$build = '130221-1754'; + +$sh="emails"; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["action"])) {$action=$_GET["action"];} + elseif (isset($_POST["action"])) {$action=$_POST["action"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["eact"])) {$eact=$_GET["eact"];} + elseif (isset($_POST["eact"])) {$eact=$_POST["eact"];} +if (isset($_GET["email_account_id"])) {$email_account_id=$_GET["email_account_id"];} + elseif (isset($_POST["email_account_id"])) {$email_account_id=$_POST["email_account_id"];} +if (isset($_GET["email_account_name"])) {$email_account_name=$_GET["email_account_name"];} + elseif (isset($_POST["email_account_name"])) {$email_account_name=$_POST["email_account_name"];} +if (isset($_GET["email_account_description"])) {$email_account_description=$_GET["email_account_description"];} + elseif (isset($_POST["email_account_description"])) {$email_account_description=$_POST["email_account_description"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["email_account_server"])) {$email_account_server=$_GET["email_account_server"];} + elseif (isset($_POST["email_account_server"])) {$email_account_server=$_POST["email_account_server"];} +if (isset($_GET["email_account_user"])) {$email_account_user=$_GET["email_account_user"];} + elseif (isset($_POST["email_account_user"])) {$email_account_user=$_POST["email_account_user"];} +if (isset($_GET["email_account_pass"])) {$email_account_pass=$_GET["email_account_pass"];} + elseif (isset($_POST["email_account_pass"])) {$email_account_pass=$_POST["email_account_pass"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["email_frequency_check_mins"])) {$email_frequency_check_mins=$_GET["email_frequency_check_mins"];} + elseif (isset($_POST["email_frequency_check_mins"])) {$email_frequency_check_mins=$_POST["email_frequency_check_mins"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["default_list_id"])) {$default_list_id=$_GET["default_list_id"];} + elseif (isset($_POST["default_list_id"])) {$default_list_id=$_POST["default_list_id"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["new_account_id"])) {$new_account_id=$_GET["new_account_id"];} + elseif (isset($_POST["new_account_id"])) {$new_account_id=$_POST["new_account_id"];} +if (isset($_GET["source_email_account"])) {$source_email_account=$_GET["source_email_account"];} + elseif (isset($_POST["source_email_account"])) {$source_email_account=$_POST["source_email_account"];} +if (isset($_GET["confirm_deletion"])) {$confirm_deletion=$_GET["confirm_deletion"];} + elseif (isset($_POST["confirm_deletion"])) {$confirm_deletion=$_POST["confirm_deletion"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_account_type"])) {$email_account_type=$_GET["email_account_type"];} + elseif (isset($_POST["email_account_type"])) {$email_account_type=$_POST["email_account_type"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,allow_emails,allow_emails,level_8_disable_add FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_queuemetrics_logging = $row[1]; + $SSenable_vtiger_integration = $row[2]; + $SSqc_features_active = $row[3]; + $SSoutbound_autodial_active = $row[4]; + $SSsounds_central_control_active = $row[5]; + $SSenable_second_webform = $row[6]; + $SSuser_territories_active = $row[7]; + $SScustom_fields_enabled = $row[8]; + $SSadmin_web_directory = $row[9]; + $SSwebphone_url = $row[10]; + $SSfirst_login_trigger = $row[11]; + $SShosted_settings = $row[12]; + $SSdefault_phone_registration_password =$row[13]; + $SSdefault_phone_login_password = $row[14]; + $SSdefault_server_password = $row[15]; + $SStest_campaign_calls = $row[16]; + $SSactive_voicemail_server = $row[17]; + $SSvoicemail_timezones = $row[18]; + $SSdefault_voicemail_timezone = $row[19]; + $SSdefault_local_gmt = $row[20]; + $SScampaign_cid_areacodes_enabled = $row[21]; + $SSpllb_grouping_limit = $row[22]; + $SSdid_ra_extensions_enabled = $row[23]; + $SSexpanded_list_stats = $row[24]; + $SScontacts_enabled = $row[25]; + $SSalt_log_server_ip = $row[26]; + $SSalt_log_dbname = $row[27]; + $SSalt_log_login = $row[28]; + $SSalt_log_pass = $row[29]; + $SStables_use_alt_log_db = $row[30]; + $SSallow_emails = $row[31]; + $SSemail_enabled = $row[32]; + $SSlevel_8_disable_add = $row[33]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $email_account_id = ereg_replace("[^_0-9a-zA-Z]","",$email_account_id); + $email_account_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_name); + $email_account_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_description); + $user_group = ereg_replace("[^_0-9a-zA-Z]","",$user_group); + $protocol = ereg_replace("[^_0-9a-zA-Z]","",$protocol); + $email_account_server = ereg_replace("[^\.\-\_0-9a-zA-Z]","",$email_account_server); + $active = ereg_replace("[^_0-9a-zA-Z]","",$active); + $email_frequency_check_mins = preg_replace("/^0-9/","",$email_frequency_check_mins); + $list_id = ereg_replace("[^0-9]","",$list_id); + + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$add_copy_disabled=0; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_email_accounts='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($webroot_writable > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$user = $PHP_AUTH_USER; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + if ($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,user_level,user_group,modify_email_accounts from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $LOGuser_level = $row[1]; + $LOGuser_group = $row[2]; + $LOGemails_modify = $row[3]; + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} + + $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGallowed_reports = $row[1]; + $LOGadmin_viewable_groups = $row[2]; + $LOGadmin_viewable_call_times = $row[3]; + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} + $regexLOGadmin_viewable_groups = " $LOGadmin_viewable_groups "; + + $UUgroups_list=''; + if ($admin_viewable_groupsALL > 0) + {$UUgroups_list .= "\n";} + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + $UUgroups_to_print = mysql_num_rows($rslt); + $o=0; + while ($UUgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $UUgroups_list .= "\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + # $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ADMINISTRATION: Dialer πεδία λογαριασμό ηλεκτρονικού ταχυδρομείου +<?php + +##### BEGIN Set variables to make header show properly ##### +$ADD = '0'; +$hh = 'admin'; +$sh = 'emails'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$admin_color = '#FFFF99'; +$admin_font = 'BLACK'; +$admin_color = '#E6E6E6'; +$emails_color = '#FFFF99'; +$emails_font = 'BLACK'; +$emails_color = '#C6C6C6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +if ( ($LOGemails_modify < 1) or ($LOGuser_level < 8) ) + { + echo "You are not authorized to view this section\n"; + exit; + } + +if ($SSemail_enabled < 1) + { + echo "ΣΦΑΛΜΑ:  εισερχόμενοςemails δεν δραστηριοποιούνται σε αυτό το σύστημα\n"; + exit; + } + + +$NWB = "   <a href=\"javascript:openNewWindow('admin.php?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"ΒΟΗΘΕΙΑ\" ALIGN=TOP></A>"; + + +if ($DB > 0) +{ +echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_email_account,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order"; +} + +if ($eact=="DELETE" && $confirm_deletion=="yes" && $email_account_id) + { + $del_stmt="delete from vicidial_email_accounts where email_account_id='$email_account_id'"; + $del_rslt=mysql_query($del_stmt, $link); + $message="ACCOUNT $email_account_id DELETED<BR/>"; + $eact=""; + } + + + +if (($ΕΠΙΒΕΒΑΙΩΣΗ=="ΕΠΙΒΕΒΑΙΩΣΗ" || $ΕΠΙΒΕΒΑΙΩΣΗ=="UPDATE") && $email_account_id) + { + $error_msg=""; + if (!$list_id) {$error_msg.="- Default list ID is άκυρη ή null<BR/>";} + if (!$email_account_id) {$error_msg.="- Email account ID is άκυρη ή null<BR/>";} + if (!$email_account_name) {$error_msg.="- Email account name is άκυρη ή null<BR/>";} + if (!$email_account_server) {$error_msg.="- Email account server is άκυρη ή null<BR/>";} + if (!$email_account_user) {$error_msg.="- Email account user is άκυρη ή null<BR/>";} + if (!$email_account_pass) {$error_msg.="- Email account password is άκυρη ή null<BR/>";} + if (!filter_var($email_replyto_address, FILTER_VALIDATE_EMAIL)) {$error_msg.="- Email reply-to address is άκυρη ή null<BR/>";} + + if (!$error_msg) + { + if ($ΕΠΙΒΕΒΑΙΩΣΗ=="ΕΠΙΒΕΒΑΙΩΣΗ") + { + if ($add_copy_disabled > 0) + { + echo "<br>Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } + else + { + $ins_stmt="INSERT INTO vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, email_replyto_address, protocol, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$email_account_id', '$email_account_name', '$email_account_description', '$user_group', '$email_replyto_address', '$protocol', '$email_account_server', '$email_account_user', '$email_account_pass', '$active', '$email_frequency_check_mins', '$group_id', '$default_list_id', '$email_account_type', '$call_handle_method', '$agent_search_method', '$list_id', '$campaign_id')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to create the new account<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="Νέος λογαριασμός $email_account_id Δημιουργήθηκε με επιτυχία"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $upd_stmt="update vicidial_email_accounts set email_account_name='$email_account_name', email_account_description='$email_account_description', user_group='$user_group', protocol='$protocol', email_replyto_address='$email_replyto_address', email_account_server='$email_account_server', email_account_user='$email_account_user', email_account_pass='$email_account_pass', active='$active', email_frequency_check_mins='$email_frequency_check_mins', group_id='$group_id', default_list_id='$default_list_id', email_account_type='$email_account_type', call_handle_method='$call_handle_method', agent_search_method='$agent_search_method', campaign_id='$campaign_id', list_id='$list_id' WHERE email_account_id='$email_account_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to update account $email_account_id<BR/>"; + if($DB>0) {$error_msg.="<B>$upd_stmt</B><BR>";} + } + else + { + $message="ACCOUNT $email_account_id Τροποποιήθηκε επιτυχώς"; + # $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$upd_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='MODIFY', record_id='$email_account_id', event_code='EMAIL ACCOUNT MODIFIED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } +else if ($ΕΠΙΒΕΒΑΙΩΣΗ=="COPY") + { + $stmt="select * from vicidial_email_accounts where email_account_id='$source_email_account'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) + { + if ($add_copy_disabled > 0) + { + echo "<br>Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα -system_settings-\n"; + } + else + { + $row=mysql_fetch_array($rslt); + $ins_stmt="insert into vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, protocol, email_replyto_address, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$new_account_id', '$email_account_name', '$row[email_account_description]', '$row[user_group]', '$row[protocol]', '$row[email_replyto_address]', '$row[email_account_server]', '$row[email_account_user]', '$row[email_account_pass]', '$row[active]', '$row[email_frequency_check_mins]', '$row[group_id]','$row[default_list_id]', '$row[email_account_type]', '$row[call_handle_method]','$row[agent_search_method]', '$row[list_id]', '$row[campaign_id]')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- Υπήρξε ένα άγνωστο σφάλμα όταν προσπαθείτε να αντιγράψετε το νέο λογαριασμό<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="Νέος λογαριασμός $new_account_id Αντιγράφηκαν με επιτυχία από $source_email_account<BR/>"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $error_msg="- Error - email πηγή δεν υπάρχει<BR/>"; + if($DB>0) {$error_msg.="<B>$stmt</B><BR>";} + } + } + + +################################################################################ +##### BEGIN copy fields to a list form +if ($eact == "COPY") + { + ##### get lists listing for dynamic pulldown + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts order by email_account_id"; + $rsltx=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rsltx); + $accounts_list=''; + $o=0; + if ($accounts_to_print>0) + { + while ($accounts_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $accounts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Δεν λαμβάνουν υπόψη COPIED<BR/>Τα δεδομένα που υποβάλλονται έχει τα ακόλουθα σφάλματα:<BR/>$error_msg";} + echo "<br>Αντιγράψτε νέου λογαριασμού από τον υπάρχοντα λογαριασμό<form action='$PHP_SELF' method='GET'>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=action value=COPY_EMAIL_ΕΠΙΒΕΒΑΙΩΣΗ>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Αριθμός λογαριασμού για να αντιγράψει από: </td><td align=left><select size=1 name=source_email_account>\n"; + echo "$accounts_list"; + echo "</select></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Νέα αναγνωριστικό λογαριασμού: </td><td align=left><input type=text name=new_account_id value='$new_account_id' size=10 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Νέο Όνομα λογαριασμού: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100>$NWB#vicidial_email_accounts-carrier_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ΕΠΙΒΕΒΑΙΩΣΗ value='COPY'></td></tr>\n"; + echo "</TABLE></center>\n"; + echo "</TD></TR></TABLE>\n"; + } + else + { + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><br>*** Δεν υπάρχουν υπάρχοντες λογαριασμούς να αντιγράψετε από ***\n"; + echo "</TD></TR></TABLE>\n"; + } + } +### END copy fields to a list form +else if ($eact == "ADD") + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Δεν λαμβάνουν υπόψη ΕΙΣΗΓΜΕΝΗ<BR/>Τα δεδομένα που υποβάλλονται έχει τα ακόλουθα σφάλματα:<BR/>$error_msg";} + echo "<br>Προσθήκη νέων ΕΙΣΕΡΧΟΜΕΝΟ λογαριασμό email<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοID λογαριασμού: </td><td align=left><input type=text name=email_account_id size=15 maxlength=20 value='$email_account_id'>$NWB#vicidial_email_accounts-email_account_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Το όνομα του λογαριασμού: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Ενεργή:</td><td align=left><select size=1 name=active><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΠεριγραφή λογαριασμού: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Τύπο του λογαριασμού email: </td><td align=left><select size=1 name=email_account_type><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Διαχειριστής Ομάδα Χρηστών: </td><td align=left><select size=1 name=user_group>\n"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Όλες οι Ομάδες Χρηστών Διαχειριστής</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΠρωτόκολλο λογαριασμού: </td><td align=left><select size=1 name=protocol><option SELECTED>IMAP</option><option>POP3</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΑπάντηση στη διεύθυνση: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοδιακομιστή λογαριασμού: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείολογαριασμού χρήστη: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΚωδικός Λογαριασμού: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοFrequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">In-ID Ομάδας</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "</select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Προεπιλογή ID Κατάλογος</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Στην Ομάδα-Call Χειροκίνητος Τρόπος:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Στην Ομάδα-Agent Search Μέθοδος:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Στην ομάδα Κατάλογος-ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Στην ομάδα της εκστρατείας-ID:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ΕΠΙΒΕΒΑΙΩΣΗ VALUE=ΥΠΟΒΑΛΛΩ><input type=hidden name='eact' value='ADD'></td></tr>\n"; + echo "</TABLE></center></form>\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } +else if (($eact=="DELETE" || $eact=="UPDATE") && $email_account_id) + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT * from vicidial_email_accounts where email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_array($rslt); + + $email_account_id=$row["email_account_id"]; + $email_account_name=$row["email_account_name"]; + $email_account_description=$row["email_account_description"]; + $user_group=$row["user_group"]; + $protocol=$row["protocol"]; + $email_replyto_address=$row["email_replyto_address"]; + $email_account_server=$row["email_account_server"]; + $email_account_user=$row["email_account_user"]; + $email_account_pass=$row["email_account_pass"]; + $active=$row["active"]; + $email_frequency_check_mins=$row["email_frequency_check_mins"]; + $group_id=$row["group_id"]; + $call_handle_method=$row["call_handle_method"]; + $agent_search_method=$row["agent_search_method"]; + $campaign_id=$row["campaign_id"]; + $list_id=$row["list_id"]; + $default_list_id=$row["default_list_id"]; + $email_account_type=$row["email_account_type"]; + + if ($eact=="DELETE" && $email_account_id) + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><B>Επιβεβαιώστε τη διαγραφή των εισερχόμενων λογαριασμό email $email_account_id</B><BR>\n"; + echo "<a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id&confirm_deletion=yes'>Κάντε κλικ για να διαγράψετε το λογαριασμό $email_account_id</a>\n"; + echo "</font>"; + } + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + ## Get unhandled count + $stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $unhandled_emails=$row[0]; + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + if ($error_msg) {echo "ΔΕΝ υπόψη τις ενημερωμένες<BR/>Τα δεδομένα που υποβάλλονται έχει τα ακόλουθα σφάλματα:<BR/>$error_msg";} + echo "<br>Ενημερώσετε μια υπάρχουσα INBOUND λογαριασμό email<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοID λογαριασμού: </td><td align=left><input type=hidden name=email_account_id value='$email_account_id'><B>$email_account_id$NWB#vicidial_email_accounts-email_account_id$NWE</B></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Το όνομα του λογαριασμού: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Ενεργή:</td><td align=left><select size=1 name=active>"; + echo "<option value='$active' selected>$active</option>"; + echo "<option>Y</option><option>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΠεριγραφή λογαριασμού: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Τύπο του λογαριασμού email: </td><td align=left><select size=1 name=email_account_type><option value='$email_account_type' selected>$email_account_type</option><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Διαχειριστής Ομάδα Χρηστών: </td><td align=left><select size=1 name=user_group>\n"; + echo "<option value='$user_group' selected>$user_group</option>"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Όλες οι Ομάδες Χρηστών Διαχειριστής</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΠρωτόκολλο λογαριασμού: </td><td align=left><select size=1 name=protocol><option>IMAP</option><option>POP3</option><option SELECTED>$protocol</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΑπάντηση στη διεύθυνση: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοδιακομιστή λογαριασμού: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείολογαριασμού χρήστη: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοΚωδικός Λογαριασμού: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=rightΗλεκτρονικό ταχυδρομείοFrequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + echo "<option value='$email_frequency_check_mins' selected>$email_frequency_check_mins</option>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=3811&group_id=$group_id\">In-ID Ομάδας</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "<option value='$group_id' selected>$group_id</option></select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Προεπιλογή ID Κατάλογος</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + +############### + echo "<tr bgcolor=#B6D3FC><td align=right>Στην Ομάδα-Call Χειροκίνητος Τρόπος:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Στην Ομάδα-Agent Search Μέθοδος:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Στην ομάδα Κατάλογος-ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Στην ομάδα της εκστρατείας-ID:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Un-χειρισμός Emails: </td><td align=left><B>$unhandled_emails</B></td></tr>\n"; +################ + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ΕΠΙΒΕΒΑΙΩΣΗ VALUE=UPDATE><input type=hidden name='eact' value='UPDATE'></td></tr>\n"; + echo "</TABLE><BR><BR>"; + if ($LOGuser_level >= 9) + { + echo "<br><br><a href=\"admin.php?ADD=720000000000000&category=EMAIL&stage=$email_account_id\">Κάντε κλικ εδώ για να δείτε Διαχειριστής αλλαγές σε αυτό το αρχείο</FONT>\n"; + } + echo "<BR><BR><a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id'>DELETE EMAIL ACCOUNT</a></center></form>\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } +else + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + echo "<br>INBOUND ΑΚΙΝΗΤΑ λογαριασμού e-mail:\n"; + echo "<center><TABLE width=750 cellspacing=0 cellpadding=1>\n"; + echo "<TR BGCOLOR=BLACK>\n"; + echo "<TD><font size=1 color=white>ACCOUNT ID</TD>\n"; + echo "<TD><font size=1 color=white>ACCOUNT NAME</TD>\n"; + echo "<TD><font size=1 color=white>ΠΕΡΙΓΡΑΦΗ</TD>\n"; + echo "<TD><font size=1 color=white>REPLY-TO ADDRESS</TD>\n"; + echo "<TD><font size=1 color=white>PROTOCOL</TD>\n"; + echo "<TD><font size=1 color=white>SERVER</TD>\n"; + echo "<TD><font size=1 color=white>FREQUENCY</TD>\n"; + echo "<TD><font size=1 color=white>ΕΝΕΡΓΟ</TD>\n"; + echo "<TD><font size=1 color=white>Αδιάβασών ηλεκτρονικών ταχυδρομείων</TD>\n"; + echo "<TD><font size=1 color=white>ΤΡΟΠΟΠΟΙΗΣΗ</TD></tr>\n"; + + $stmt="SELECT email_account_id, email_account_name, email_account_description, email_replyto_address, protocol, email_account_server, email_frequency_check_mins, active from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $rslt=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rslt); + $o=0; + while ($accounts_to_print > $o) + { + $row=mysql_fetch_array($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$row[email_account_id]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<tr $bgcolor><td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">$row[email_account_id]</a></font></td>"; + echo "<td><font size=1> $row[email_account_name]</font></td>"; + echo "<td><font size=1> $row[email_account_description]</font></td>"; + echo "<td><font size=1> $row[email_replyto_address]</font></td>"; + echo "<td><font size=1> $row[protocol]</font></td>"; + echo "<td><font size=1> $row[email_account_server]</font></td>"; + echo "<td><font size=1> $row[email_frequency_check_mins] mins</font></td>"; + echo "<td><font size=1> $row[active]</font></td>"; + echo "<td><font size=1> $unhandled_emails</font></td>"; + echo "<td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">ΤΡΟΠΟΠΟΙΗΣΗ</a></font></td></tr>\n"; + $o++; + } + + echo "</table></font>"; + } + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $STARTtime); +echo "\n\n\n<br><br><br>\n<font size=1> runtime: $RUNtime seconds         Έκδοση: $admin_version     Build: $build</font>"; + +?> + +</body> +</html> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/admin_header.php b/agc_2-X/trunk/LANG_www/vicidial_el/admin_header.php index 48802b02..6ae7b77a 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/admin_header.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/admin_header.php @@ -1,7 +1,7 @@ <?php # admin_header.php - VICIDIAL administration header # -# Copyright (C) 2012 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 # # CHANGES @@ -37,6 +37,10 @@ # 111106-0939 - Changes for user group restrictions # 111116-0208 - Added ALT and ADDR3 in-group handle methods # 120402-2134 - Changed lead loader link to fourth gen +# 121116-1412 - Added QC functionality +# 121123-0911 - Added Call Times Holidays Inbound functionality +# 121214-2238 - Added email menus +# 130221-1830 - Added Level 8 disable add option # @@ -50,13 +54,14 @@ if($short_header) ?> <TD>   <A HREF="admin.php" ALT="Χρήστες"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Χρήστες</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10" ALT="Εκστρατείες"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Εκστρατείες</B></A>   </TD> + <?php include 'qc/QC_header_include02.php'; ?> <TD>   <A HREF="admin.php?ADD=100" ALT="Λίστες"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Λίστες</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000000" ALT="Βοηθοί"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Βοηθοί</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000000" ALT="Φίλτρα"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Φίλτρα</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000" ALT="Inbound"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Inbound</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=100000" ALT="Ομάδες Χρήστη"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Ομάδες Χρήστη</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000" ALT="Απομακρυσμένοι Χειριστές"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Απομακρυσμένοι Χειριστές</B></A>   </TD> - <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Admin</B></A>   </TD> + <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Διαχειριστής</B></A>   </TD> <?php } else @@ -110,6 +115,7 @@ if ($hh=='admin') if ($hh=='reports') {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} +include('qc/QC_header_include01.php'); echo "\n"; echo ""; $field_check=explode($delimiter, $buffer); flush(); -} else if ($form_action=="update_template") { + } +else if ($form_action=="update_template") + { echo "Hi"; -} else { + } +else + { + if ( (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) or (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$sample_template_file_name)) ) + { + echo "ERROR: Invalid File Name: $LF_orig $sample_template_file_name\n"; + exit; + } # echo "** $form_action"; die; $fields_stmt = "SELECT list_id, vendor_lead_code, source_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, rank, owner from vicidial_list limit 1"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/list_download.php b/agc_2-X/trunk/LANG_www/vicidial_el/list_download.php index ec1cddbd..418a6b7f 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/list_download.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/list_download.php @@ -4,7 +4,7 @@ # downloads the entire contents of a vicidial list ID to a flat text file # that is tab delimited # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,13 @@ # 100924-1609 - Added ALL-LISTS option for downloading everything # 100929-1919 - Fixed ALL-LISTS download option to include custom fields # 101004-2108 - Added generic custom column headers for custom fields +# 120713-2110 - Added extended_vl_fields option +# 120907-1217 - Raised extended fields up to 99 +# 130414-0228 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -91,6 +87,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$list_id, $group_id, $download_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -112,6 +137,16 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL exit; } +if (file_exists('options.php')) + {require('options.php');} +$extended_vl_fields_SQL=''; +$extended_vl_fields_HEADER=''; +if ($extended_vl_fields > 0) + { + $extended_vl_fields_SQL = ',q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31,q32,q33,q34,q35,q36,q37,q38,q39,q40,q41,q42,q43,q44,q45,q46,q47,q48,q49,q50,q51,q52,q53,q54,q55,q56,q57,q58,q59,q60,q61,q62,q63,q64,q65,q66,q67,q68,q69,q70,q71,q72,q73,q74,q75,q76,q77,q78,q79,q80,q81,q82,q83,q84,q85,q86,q87,q88,q89,q90,q91,q92,q93,q94,q95,q96,q97,q98,q99'; + $extended_vl_fields_HEADER = "\tq01\tq02\tq03\tq04\tq05\tq06\tq07\tq08\tq09\tq10\tq11\tq12\tq13\tq14\tq15\tq16\tq17\tq18\tq19\tq20\tq21\tq22\tq23\tq24\tq25\tq26\tq27\tq28\tq29\tq30\tq31\tq32\tq33\tq34\tq35\tq36\tq37\tq38\tq39\tq40\tq41\tq42\tq43\tq44\tq45\tq46\tq47\tq48\tq49\tq50\tq51\tq52\tq53\tq54\tq55\tq56\tq57\tq58\tq59\tq60\tq61\tq62\tq63\tq64\tq65\tq66\tq67\tq68\tq69\tq70\tq71\tq72\tq73\tq74\tq75\tq76\tq77\tq78\tq79\tq80\tq81\tq82\tq83\tq84\tq85\tq86\tq87\tq88\tq89\tq90\tq91\tq92\tq93\tq94\tq95\tq96\tq97\tq98\tq99"; + } + $LOGallowed_campaignsSQL=''; if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) { @@ -304,13 +339,13 @@ else { $TXTfilename = "LIST_$list_id$US$FILE_TIME.txt"; $list_id_header=''; - $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id='$list_id';"; + $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id='$list_id';"; if ($list_id=='ALL-LISTS') { $list_id_header="list_id\t"; - $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id > 0;"; + $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id > 0;"; } - $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner"; + $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner$extended_vl_fields_HEADER"; $header_columns=''; } @@ -342,16 +377,21 @@ while ($i < $leads_to_print) else { $row[29] = preg_replace("/\n|\r/",'!N',$row[29]); + $extended_vl_fields_DATA=''; if ($list_id=='ALL-LISTS') { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[33]\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]$extended_vl_fields_DATA"; $export_list_id[$i] = $row[0]; $export_lead_id[$i] = $row[1]; } else { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]\t$row[132]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]$extended_vl_fields_DATA"; $export_list_id[$i] = $list_id; $export_lead_id[$i] = $row[0]; } @@ -480,14 +520,6 @@ if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') ) } -### LOG INSERTION Admin Log Table ### -$SQL_log = "$stmt|$stmtA|"; -$SQL_log = ereg_replace(';','',$SQL_log); -$SQL_log = addslashes($SQL_log); -$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; -if ($DB) {echo "|$stmt|\n";} -$rslt=mysql_query($stmt, $link); - echo "$header_row$header_columns\r\n"; @@ -499,6 +531,33 @@ while ($i < $leads_to_print) $i++; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +### LOG INSERTION Admin Log Table ### +$SQL_log = "$stmt|$stmtA|"; +$SQL_log = ereg_replace(';','',$SQL_log); +$SQL_log = addslashes($SQL_log); +$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/non_agent_api.php b/agc_2-X/trunk/LANG_www/vicidial_el/non_agent_api.php index a4a8d34e..a59b4ffe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/non_agent_api.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/non_agent_api.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed as an API(Application Programming Interface) to allow # other programs to interact with all non-agent-screen VICIDIAL functions @@ -65,10 +65,20 @@ # 120213-1613 - Added optional logging of all non-admin.php requests, enabled in options.php # 120315-1537 - Added filter for single-quotes and backslashes on custom field data # 120326-1317 - Added agent_stats_export function +# 120810-0859 - Added add_group_alias function, altered agent_stats_export function +# 120831-1529 - Added vicidial_dial_log outbound call logging +# 120912-2042 - Added user_group_status and in_group_status functions +# 120913-1255 - Added update_log_entry function +# 121116-1938 - Added state call time restrictions to add_lead hopper insert function +# 121125-2210 - Added Other Campaign DNC option and list expiration date option +# 130328-0949 - Added update_phone_number option to update_lead function, issue #653 +# 130405-1539 - Added agent_status function +# 130414-0311 - Added report logging for blind_monitor function +# 130420-1938 - Added NANPA prefix validation and timezone options # -$version = '2.4-43'; -$build = '120326-1317'; +$version = '2.6-53'; +$build = '130420-1938'; $api_url_log = 0; $startMS = microtime(); @@ -88,6 +98,8 @@ if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["update_phone_number"])) {$update_phone_number=$_GET["update_phone_number"];} + elseif (isset($_POST["update_phone_number"])) {$update_phone_number=$_POST["update_phone_number"];} if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} @@ -298,6 +310,26 @@ if (isset($_GET["datetime_end"])) {$datetime_end=$_GET["datetime_end"];} elseif (isset($_POST["datetime_end"])) {$datetime_end=$_POST["datetime_end"];} if (isset($_GET["time_format"])) {$time_format=$_GET["time_format"];} elseif (isset($_POST["time_format"])) {$time_format=$_POST["time_format"];} +if (isset($_GET["group_alias_id"])) {$group_alias_id=$_GET["group_alias_id"];} + elseif (isset($_POST["group_alias_id"])) {$group_alias_id=$_POST["group_alias_id"];} +if (isset($_GET["group_alias_name"])) {$group_alias_name=$_GET["group_alias_name"];} + elseif (isset($_POST["group_alias_name"])) {$group_alias_name=$_POST["group_alias_name"];} +if (isset($_GET["caller_id_number"])) {$caller_id_number=$_GET["caller_id_number"];} + elseif (isset($_POST["caller_id_number"])) {$caller_id_number=$_POST["caller_id_number"];} +if (isset($_GET["caller_id_name"])) {$caller_id_name=$_GET["caller_id_name"];} + elseif (isset($_POST["caller_id_name"])) {$caller_id_name=$_POST["caller_id_name"];} +if (isset($_GET["user_groups"])) {$user_groups=$_GET["user_groups"];} + elseif (isset($_POST["user_groups"])) {$user_groups=$_POST["user_groups"];} +if (isset($_GET["in_groups"])) {$in_groups=$_GET["in_groups"];} + elseif (isset($_POST["in_groups"])) {$in_groups=$_POST["in_groups"];} +if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} + elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_GET["nanpa_ac_prefix_check"];} + elseif (isset($_POST["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_POST["nanpa_ac_prefix_check"];} header ("Content-type: text/html; charset=utf-8"); @@ -327,6 +359,7 @@ if ($non_latin < 1) $format = ereg_replace("[^0-9a-zA-Z]","",$format); $list_id = ereg_replace("[^0-9]","",$list_id); $phone_code = ereg_replace("[^0-9]","",$phone_code); + $update_phone_number=ereg_replace("[^A-Z]","",$update_phone_number); $phone_number = ereg_replace("[^0-9]","",$phone_number); $vendor_lead_code = ereg_replace(";","",$vendor_lead_code); $vendor_lead_code = ereg_replace("\+"," ",$vendor_lead_code); @@ -442,6 +475,16 @@ if ($non_latin < 1) $datetime_start = ereg_replace("[^- \+\:\_0-9]","",$datetime_start); $datetime_end = ereg_replace("[^- \+\:\_0-9]","",$datetime_end); $time_format = ereg_replace("[^A-Z]","",$time_format); + $group_alias_id = ereg_replace("[^\_0-9a-zA-Z]","",$group_alias_id); + $group_alias_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$group_alias_name); + $caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); + $caller_id_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$caller_id_name); + $user_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$user_groups); + $in_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$in_groups); + $call_id = ereg_replace("[^0-9a-zA-Z]","",$call_id); + $group = ereg_replace("[^-\|\_0-9a-zA-Z]","",$group); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $nanpa_ac_prefix_check = ereg_replace("[^A-Z]","",$nanpa_ac_prefix_check); } else { @@ -451,6 +494,7 @@ else } $USarea = substr($phone_number, 0, 3); +$USprefix = substr($phone_number, 3, 3); if (strlen($hopper_priority)<1) {$hopper_priority=0;} if ($hopper_priority < -99) {$hopper_priority=-99;} if ($hopper_priority > 99) {$hopper_priority=99;} @@ -535,7 +579,7 @@ if ($function == 'version') ################################################################################ if ($function == 'sounds_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; if ($DB>0) {echo "DEBUG: sounds_list query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -556,10 +600,11 @@ if ($function == 'sounds_list') if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} $admDIR = "$HTTPprotocol$server_name:$server_port"; + $admin_web_dir=''; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### - $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory FROM system_settings;"; + $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory,admin_web_directory FROM system_settings;"; $rslt=mysql_query($stmt, $link); $ss_conf_ct = mysql_num_rows($rslt); if ($ss_conf_ct > 0) @@ -569,6 +614,9 @@ if ($function == 'sounds_list') $sounds_central_control_active = $row[1]; $sounds_web_server = $row[2]; $sounds_web_directory = $row[3]; + $admin_web_directory = $row[4]; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} } ##### END SETTINGS LOOKUP ##### ########################################### @@ -631,7 +679,7 @@ if ($function == 'sounds_list') if (eregi('tab',$format)) {echo "$k\t$file_names[$m]\t$file_dates[$m]\t$file_sizes[$m]\t$file_epoch[$m]\n";} if (eregi('link',$format)) - {echo "$file_names[$m]
    \n";} + {echo "$file_names[$m]
    \n";} if (eregi('selectframe',$format)) { if ($sf < 1) @@ -674,7 +722,7 @@ if ($function == 'sounds_list') echo "
    $file_names[$m]$file_dates[$m]$file_sizes[$m]PLAY
    PLAY
    \n"; + echo ""; +//SELECT campaign_id,campaign_name from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name"; +// echo $stmt="SELECT conf_exten,server_ip,extension from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + + echo "
    VICIDIAL QUALITY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    CAMPAIGN IDCAMPAIGN NAMEQC STATUSESΤΡΟΠΟΠΟΙΗΣΗ
    $row[0] $row[1] $row[2]ΤΡΟΠΟΠΟΙΗΣΗ
    \n"; +} +###################### +# ADD=881 VIEW one qc campaign +###################### +if (($ADD==881) && ($qc_auth=='1')) { + echo " + + + 1) { + ?> +> + + +> + + +> + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include01.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include01.php new file mode 100644 index 00000000..4cbe0593 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include01.php @@ -0,0 +1,16 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include02.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include02.php new file mode 100644 index 00000000..1a27b271 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include02.php @@ -0,0 +1,17 @@ + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_status_codes_include.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_status_codes_include.php new file mode 100644 index 00000000..6802521e --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_status_codes_include.php @@ -0,0 +1,140 @@ +"; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    QC Κατάσταση ΚΩΔΙΚΟΣ δεν προστίθενται- υπάρχει ήδη μια qc κωδικό στο σύστημα με αυτό το όνομα: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    QC Κατάσταση ΚΩΔΙΚΟΣ δεν προστίθενται- Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
    κωδικός πρέπει να είναι μεταξύ 1 και 8 χαρακτήρες\n"; + echo "
    κωδικό όνομα πρέπει να είναι μεταξύ 2 και 30 χαρακτήρες\n"; + } + else + { + echo "
    QC Κατάσταση ΠΡΟΣΤΙΘΕΝΤΑΙ ΚΩΔΙΚΟΣ:$code_name - $code\n"; + if (isset($_POST["qc_category"])) {$qc_category=$_POST["qc_category"];} + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) values('$code','$code_name','$qc_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111111; + } + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) + { + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + if ( ($SSadmin_modify_ανανέωσης > 1) and ($modify_ανανέωσης_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=341111111111111"; + $modify_footer_ανανέωσης=1; + } + echo "
    \n"; + echo ""; + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' and campaign_id='$campaign_id' limit 1"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + $o++; + } + $qc_status_list=substr($row[2],0,strlen($row[2])-2); + + echo "
    $campaign_id - {$row[1]} - Ποιοτικός Έλεγχος Queue
    QC statuses: $qc_status_list\n"; + + $qc_statuses=explode(' ',$qc_status_list); + echo "
    \n"; + foreach ( $qc_statuses as $qc_status ) { + $stmt="SELECT lead_id,first_name,last_name,modify_date,user from vicidial_list inner join vicidial_lists on vicidial_list.list_id=vicidial_lists.list_id where campaign_id='$campaign_id' and status='$qc_status' order by status, modify_date"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + if($o==0){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + $lead_name=trim($row[1].' '.$row[2]); + $lead_nameENC=urlencode($lead_name); + if (strlen($lead_name)<1) $lead_name='No Name'; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + } + echo "
    $qc_status ($vicidialconf_to_print)LEAD IDΟΝΟΜΑLast ModifiedΧρήστηςID
      $row[0]$lead_name $row[3]$row[4]
    \n"; +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include02.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include02.php new file mode 100644 index 00000000..ad23b516 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_include02.php @@ -0,0 +1,34 @@ + 1 and active='Y' and qc_enabled='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$qc_auth=$row[0]; +//Not "qc_" as it will interfere with ADD=4A storage of modified user. +if ($qc_auth=='1') { + $qcuser_level=$row[1]; + $qcpass=$row[2]; + $qcfinish=$row[3]; + $qccommit=$row[4]; +} +//Modifymenuing to allow qc users into the system (if they have no permission otherwise) +//Copied Εκθέσεις-Only user setup for QC-Only user (Poundteam QC setup) +$qc_only_user=0; +if ( ($qc_auth > 0) and ($auth < 1) ) + { + if ($ADD != '881'){ + $ADD=100000000000000; + } + $qc_only_user=1; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_modify_lead_include.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_modify_lead_include.php new file mode 100644 index 00000000..a6867278 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_modify_lead_include.php @@ -0,0 +1,20 @@ + 0) + { + echo "

    Click here to QC Modifythis lead\n"; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_variables.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_variables.php new file mode 100644 index 00000000..f99255fb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_admin_variables.php @@ -0,0 +1,15 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Πόλη'; +$label_state = 'State'; +$label_province = 'Επαρχία'; +$label_postal_code = 'Ταχ.Κωδ.'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Φύλο'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Σχόλια'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} +include('QC_call_client_include.php'); +$qc_user_logged_in=is_user_logged_in($PHP_AUTH_USER); +if ($qc_user_logged_in===true){ + echo "Call Lead"; +} else { + echo "$qc_user_logged_in"; +} +echo " Refresh"; + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_call_client_include.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_call_client_include.php new file mode 100644 index 00000000..02ea1866 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_call_client_include.php @@ -0,0 +1,45 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include.php new file mode 100644 index 00000000..4f4355c8 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/QC_header_include.php @@ -0,0 +1,42 @@ + + + +
    > + SIZE=> Ποιοτικός Έλεγχος +
      + > Show QC Εκστρατείες +
      + > Enter QC Queue +
      + > ModifyQC Codes +
      Ποιοτικός Έλεγχος  
    "; + $alts_output .= ""; + $alts_output .= ""; + $alts_output .= "\n"; + $alts_output .= "\n"; + $alts_output .= "\n"; + } + + } + else + { + echo "ΑΠΟΤΥΧΙΑ ψαξίματος καθοδήγησης για lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + ##### grab vicidial_log records ##### + $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + if($DB) echo __LINE__."
    \n"; + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= ""; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select agent_log_id,user,server_ip,event_time,lead_id,campaign_id,pause_epoch,pause_sec,wait_epoch,wait_sec,talk_epoch,talk_sec,dispo_epoch,dispo_sec,status,user_group,comments,sub_status from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_qc_agent_log records ##### + //Differentiate between View and Mod + $stmt="select * from vicidial_qc_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by qc_agent_log_id desc limit 100;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo "$stmt
    \n"; + $y=0; + $qc_agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_assoc($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + if (strlen($row['save_epoch'])=='0'){ //VIEW ONLY record + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } else { // CHANGE record + $detailtooltip=str_replace("\n", " ", $row['details']); // tool tip line break and both work in IE, but not firefox. + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } + } + + ##### grab vicidial_closer_log records ##### + $stmt="select closecallid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,queue_seconds,user_group,xfercallid,term_reason,uniqueid,agent_only from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$lead_id = $row[0];} + $dispo = $row[3]; + $tsr = $row[4]; + $vendor_id = $row[5]; + $list_id = $row[7]; + $gmt_offset_now = $row[8]; + $phone_code = $row[10]; + $phone_number = $row[11]; + $title = $row[12]; + $first_name = $row[13]; + $middle_initial = $row[14]; + $last_name = $row[15]; + $address1 = $row[16]; + $address2 = $row[17]; + $address3 = $row[18]; + $city = $row[19]; + $state = $row[20]; + $province = $row[21]; + $postal_code = $row[22]; + $country_code = $row[23]; + $gender = $row[24]; + $date_of_birth = $row[25]; + $alt_phone = $row[26]; + $email = $row[27]; + $security = $row[28]; + $comments = $row[29]; + $called_count = $row[30]; + $last_local_call_time = $row[31]; + $rank = $row[32]; + $owner = $row[33]; + $entry_list_id = $row[34]; + + if($DB) { + echo __LINE__."\n"; + } + echo "
    Πληροφορίες Κλήσης: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "QC VICIDIAL κωδικοί στα πλαίσια αυτού του συστήματος:  $NWB#vicidial_qc_status_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
    STATUS CODEΠΕΡΙΓΡΑΦΗQC ΚΑΤΗΓΟΡΙΑMODIFY/DELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    $rowx[2]         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "ΔΙΑΓΡΑΦΗ\n"; + } + else + { + echo "ΔΙΑΓΡΑΦΗ\n"; + } + echo "
    \n"; + + echo "
    Προσθήκη νέου QC Κατάσταση ΚΩΔΙΚΟΣ
    \n"; + echo "\n"; + echo "Κατάσταση:   \n"; + echo "Περιγραφή: \n"; + echo "QC Κατηγορία:
    \n"; + + echo "

    \n"; + + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/audit_comments.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/audit_comments.php new file mode 100644 index 00000000..b38a65f7 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditΣχόλια2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditΣχόλια3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditΣχόλια4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditΣχόλιαERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditΣχόλια5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditΣχόλια:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditΣχόλια',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditΣχόλια $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditΣχόλια ΧρήστηςID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "ΧρήστηςID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditΣχόλια Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_api.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_api.php new file mode 100644 index 00000000..b8ebeed1 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_api.php @@ -0,0 +1,627 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$ingroup_choices = ereg_replace("\+"," ",$ingroup_choices); +$query_string = ereg_replace("'|\"|\\\\|;","",$query_string); + +if ($non_latin < 1) + { + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $agent_user=ereg_replace("[^0-9a-zA-Z]","",$agent_user); + $function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); + $value = ereg_replace("[^-\_0-9a-zA-Z]","",$value); + $vendor_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vendor_id); + $focus = ereg_replace("[^-\_0-9a-zA-Z]","",$focus); + $preview = ereg_replace("[^-\_0-9a-zA-Z]","",$preview); + $notes = ereg_replace("\+"," ",$notes); + $notes = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$notes); + $phone_code = ereg_replace("[^0-9X]","",$phone_code); + $search = ereg_replace("[^-\_0-9a-zA-Z]","",$search); + $group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); + $dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); + $source = ereg_replace("[^0-9a-zA-Z]","",$source); + $format = ereg_replace("[^0-9a-zA-Z]","",$format); + $vtiger_callback = ereg_replace("[^A-Z]","",$vtiger_callback); + $blended = ereg_replace("[^A-Z]","",$blended); + $ingroup_choices = ereg_replace("[^ -\_0-9a-zA-Z]","",$ingroup_choices); + $set_as_default = ereg_replace("[^A-Z]","",$set_as_default); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $address1 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address1); + $address2 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address2); + $address3 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address3); + $alt_phone = ereg_replace("[^ -\_0-9a-zA-Z]","",$alt_phone); + $city = ereg_replace("[^ -\_0-9a-zA-Z]","",$city); + $comments = ereg_replace("[^ -\_0-9a-zA-Z]","",$comments); + $country_code = ereg_replace("[^A-Z]","",$country_code); + $date_of_birth = ereg_replace("[^ -\_0-9]","",$date_of_birth); + $email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); + $first_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$first_name); + $gender = ereg_replace("[^A-Z]","",$gender); + $gmt_offset_now = ereg_replace("[^ \.-\_0-9]","",$gmt_offset_now); + $last_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$last_name); + $lead_id = ereg_replace("[^0-9]","",$lead_id); + $middle_initial = ereg_replace("[^ -\_0-9a-zA-Z]","",$middle_initial); + $province = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$province); + $security_phrase = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$security_phrase); + $source_id = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$source_id); + $state = ereg_replace("[^ -\_0-9a-zA-Z]","",$state); + $title = ereg_replace("[^ -\_0-9a-zA-Z]","",$title); + $vendor_lead_code = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$vendor_lead_code); + $rank = ereg_replace("[^-0-9]","",$rank); + $owner = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$owner); + $dial_override = ereg_replace("[^A-Z]","",$dial_override); + $consultative = ereg_replace("[^A-Z]","",$consultative); + } +else + { + $user = ereg_replace("'|\"|\\\\|;","",$user); + $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $source = ereg_replace("'|\"|\\\\|;","",$source); + $agent_user = ereg_replace("'|\"|\\\\|;","",$agent_user); + $alt_user = ereg_replace("'|\"|\\\\|;","",$alt_user); + } + +### date and fixed variables +$epoch = date("U"); +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$api_script = 'agent'; +$api_logging = 1; +if ($consultative != 'YES') {$consultative='NO';} + + +################################################################################ +### BEGIN - version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "ΕΚΔΟΣΗ: $version|ΔΗΜΙΟΥΡΓΙΑ: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } +################################################################################ +### END - version +################################################################################ + + + + + +################################################################################ +### BEGIN - user validation section (most functions run through this first) +################################################################################ + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + $result = 'ERROR'; + $result_reason = "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης"; + echo "$result: $result_reason: |$user|$pass|$auth|\n"; + $data = "$user|$pass|$auth"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from system_settings where vdc_agent_api_active='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + $result = 'ERROR'; + $result_reason = "System API NOT ACTIVE"; + echo "$result: $result_reason\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + # do nothing for now + } + } + } + } + +if ($format=='debug') + { + $DB=1; + echo "\n"; + echo "\n"; + echo "";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_dial function set"; + $data = "$phone_code|$search|$preview|$focus|$vendor_id|$epoch|$dial_prefix|$group_alias|$caller_id_number"; + echo "$result: Dispo in Agent Screen FIRST.\n"; + // echo "$result: $result_reason - $value|$agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not allowed to place manual dial calls"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not paused"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + +// external_dial +################################################################################ +### END - external_dial +################################################################################ + + + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + + +##### FUNCTIONS ##### + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) + { + if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } + return 1; + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_modify_lead.php b/agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_modify_lead.php new file mode 100644 index 00000000..eb788960 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_el/qc/qc_modify_lead.php @@ -0,0 +1,1294 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads,user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + $LOGuser_group =$row[2]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Πόλη'; +$label_state = 'State'; +$label_province = 'Επαρχία'; +$label_postal_code = 'Ταχ.Κωδ.'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Φύλο'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Σχόλια'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} + + +//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + +$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; +$rslt=mysql_query($stmt, $link); +if (mysql_num_rows ($rslt) < '1' ){ + if($DB) { echo "$stmt\n"; } + exit(); + } +$row=mysql_fetch_assoc($rslt); +$original_record=$row; +$campaign_id =$row['campaign_id']; +$campaign_name =$row['campaign_name']; +$phone_number =$row['phone_number']; +$phone_code =$row['phone_code']; +$lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); +$scheduled_callback =$row['scheduled_callback']; + +?> + + + +QC ModifyLead: <?php echo "$lead_id - ".urldecode($lead_name).urldecode(" (Εκστρατεία: $campaign_id - $campaign_name)"); ?> + + + + + +QC CAMPAIGN $campaign_id: Lead $lead_id - ".urldecode($lead_name)."
    \n"; +//end_call is set by submit button to denote "save", without it this is a VIEW, with it this is a SAVE +if ($end_call > 0) { + if($DB) { echo __LINE__."\n"; } + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',title='" . mysql_real_escape_string($title) . "',first_name='" . mysql_real_escape_string($first_name) . "',middle_initial='" . mysql_real_escape_string($middle_initial) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',rank='" . mysql_real_escape_string($rank) . "',owner='" . mysql_real_escape_string($owner) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + //STATUS just changed, re-capture all data for client! + //Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + $stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; + if($DB) { echo "$stmt\n"; } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_assoc($rslt); + //QUALITY CONTROL CHANGE LOG BEGIN - CHANGE ΕΚΔΟΣΗ (VIEW ΕΚΔΟΣΗ IS BELOW, WHICH CREATES THE RECORD, THIS ONE MERELY MODIFIES THE EXISTING RECORD) + $new_record=$row; + //if status has changed, the join query above will have the "status" field of "vicidial_list" overwritten by the status field of "vicidial_statuses" ... which will be EMPTY if there is no matching status to the new QC status chosen. This will cause the changelog to be incorrect. + if ( strlen($new_record['status']) == '0' ) { + $new_record['status']=$new_record['code']; + } + + if($original_record != $new_record) { + //Information changed: Find out what and record it, first disable "view" logging + $qcchange='Y'; + $qcchangelist=''; + $qcchangecounter=0; + foreach($original_record as $key=>$value){ + //only list the changes in the first 35 fiels, those are from the vicidial_list table (the rest are from joined tables, and the changes cascade) + if(($new_record[$key]!=$value)&&($qcchangecounter<=35)) $qcchangelist.="----$key----\n$value => $new_record[$key]\n"; + $qcchangecounter++; + } + ### insert a NEW record to the vicidial_closer_log table + $qcchangelist=mysql_real_escape_string($qcchangelist); + $view_epoch = ereg_replace("[^0-9]","",$_POST['viewtime']); + $elapsed_seconds=$STARTtime-$view_epoch; + + $stmt="UPDATE vicidial_qc_agent_log set save_datetime='$NOW_TIME',save_epoch='$STARTtime',elapsed_seconds='$elapsed_seconds',old_status='{$original_record['status']}',new_status='{$new_record['status']}',details='$qcchangelist' + where view_epoch='$view_epoch' and lead_id='$lead_id'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL CHANGE LOG END + $original_sales_rep=$row['user']; + $campaign_id =$row['campaign_id']; + $campaign_name =$row['campaign_name']; + $lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); + $scheduled_callback =$row['scheduled_callback']; + + echo "
    οι πληροφορίες τροποποιήθηκαν

    \n"; + echo "Go back to re-modify this QC lead


    \n"; + echo "
    Proceed to QC CAMPAIGN $campaign_id Queue

    Callback Information:\n"; + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if($DB) { + echo __LINE__."\n"; + } + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='ANYONE',status='ACTIVE',user='$PHP_AUTH_USER',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + //This entry creates the callback + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='USERONLY',status='ACTIVE',user='$original_sales_rep',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + $debug1=$stmt; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + if($DB) echo __LINE__."\n"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + } else { + echo "\n"; + //Not a "Submit" result, viewing the record (possibly with URL options such as those below which modify callback status but not record data) + if ($CBchangeUSERtoANY == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an ANYONE callback for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to ANYONE
    \n"; + $qcchange='Y'; + } + if ($CBchangeUSERtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to a different USERONLY callback record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeANYtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an USERONLY callback for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeDATE == 'YES') { + if($DB) echo __LINE__."\n"; + ### change date/time of vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set callback_time='" . mysql_real_escape_string($appointment_date) . " " . mysql_real_escape_string($appointment_time) . "',comments='" . mysql_real_escape_string($comments) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to $appointment_date $appointment_time
    \n"; + $qcchange='Y'; + } + //QUALITY CONTROL LOGGING BEGIN - VIEW ONLY + //If no changes have been made, record "view" of this record. + if ($qcchange != 'Y') { + if($DB) echo __LINE__."\n QCCHANGE != Y"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_qc_agent_log (qc_user,qc_user_group,qc_user_ip,lead_user,web_server_ip,view_datetime,view_epoch,lead_id,list_id,campaign_id,processed) + values('" . mysql_real_escape_string($PHP_AUTH_USER) . "','$LOGuser_group','{$_SERVER['REMOTE_ADDR']}','{$original_record['user']}','{$_SERVER['SERVER_ADDR']}','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($original_record['list_id']) . "','" . mysql_real_escape_string($campaign_id) . "','N')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL LOGGING END + if($DB) echo __LINE__."\n"; + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + if($DB) echo __LINE__."\n"; + ##### grab vicidial_list_alt_phones records ##### + $stmt="select phone_code,phone_number,alt_phone_note,alt_phone_count,active from vicidial_list_alt_phones where lead_id='" . mysql_real_escape_string($lead_id) . "' order by alt_phone_count limit 500;"; + $rslt=mysql_query($stmt, $link); + $alts_to_print = mysql_num_rows($rslt); + + $c=0; + $alts_output = ''; + while ($alts_to_print > $c) + { + if($DB) { + echo __LINE__."\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $c)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $c++; + $alts_output .= "
    $c$row[0] $row[1] $row[2] $row[3] $row[4]
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]   $row[10]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y{$row['view_datetime']}View Only - No changes{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}  
    $y{$row['view_datetime']}{$row['old_status']}{$row['new_status']}{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}{$row['elapsed_seconds']} DETAILS
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $stmt="SELECT user_id, timestamp, list_id, campaign_id, comment from vicidial_comments where lead_id='$lead_id' order by timestamp"; + $rslt=mysql_query($stmt, $link); + $row_count = mysql_num_rows($rslt); + $o=0; + $comments=false; + while ($row_count > $o) + { + if (!$comments) { + echo "\n"; + $comments=true; + } + $rowx=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + if ($comments) { + echo "\n"; + } + echo "\n"; + +// Section Modified for QC Functionality By PoundTeam +// echo "\n"; +// echo "\n"; +// echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    $label_vendor_lead_code: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     ID Λίστας: $list_id     Called Count: $called_count
    $label_title:   \n"; + echo "$label_first_name:
    $label_middle_initial:   \n"; + echo " $label_last_name:
    $label_address1 :
    $label_address2 :
    $label_address3 :
    $label_city :
    $label_state:   \n"; + echo " $label_postal_code:
    $label_province :
    Χώρα :
    $label_phone_number :
    $label_phone_code :
    $label_alt_phone :
    $label_email :
    $label_security_phrase :
    Rank :
    Owner :
    $label_comments :
    Comment History
    $rowx[0] :
    $rowx[1]
    ID Λίστας: $rowx[2]; ID Εκστρατείας: $rowx[3]
    $rowx[4]

    QC Result: (with $list_campaign statuses)
    Modifyvicidial log
    Modifyagent log
    Modifycloser log
    Disable QC log entry (this feature is not active yet)
    \n"; + echo "


    \n"; + + echo "
    \n"; + echo "Callback Λεπτομέρειεςs:
    \n"; + //Added scheduled_callback regular statuses option + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') || $scheduled_callback=='Y' ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id,lead_id,list_id,campaign_id,status,entry_time,callback_time,modify_date,user,recipient,comments,user_group from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner ΧρήστηςID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner ΧρήστηςID: \n"; + echo "

    \n"; + } + + $appointment_datetimeARRAY = explode(" ",$rowx[6]); + $appointment_date = $appointment_datetimeARRAY[0]; + $appointment_timeARRAY = explode(":",$appointment_datetimeARRAY[1]); + $appointment_hour = $appointment_timeARRAY[0]; + $appointment_min = $appointment_timeARRAY[1]; + + + ?> + +
    +
    Change Scheduled Callback Date:
    + + + + + + + + + + + + + +
    + > + + + + +
    CallBack Date/Time: + + +     + + : + + +
    + Σχόλια: + + +
    + + + + +
    +
    + + No Callback records found
    \n"; + } + + } + else + { + if($DB) { + echo __LINE__."\n"; + } + //Modifed text to allow for other than CBHOLD via custom statuses with scheduled callback chosen + echo "
    If you want to change this lead to a scheduled callback, first change the Disposition to CBHOLD or similar, then submit and you will be able to set the callback date and time.
    \n"; + } + echo "
    \n"; + + echo "

    \n"; + + echo "
    \n"; + + if ($c > 0) + { + if($DB) { + echo __LINE__."\n"; + } + echo "EXTENDED ALTERNATE ΤΗΛΕΦΩΝΑ ΓΙΑ ΤΟ ΠΑΡΟΝ ΜΟΛΥΒΔΟΥ:\n"; + echo "\n"; + echo "\n"; + + echo "$alts_output\n"; + + echo "
    # ALT PHONE ALT NOTE ALT COUNT ACTIVE
    \n"; + echo "

    \n"; + } + + + + ### iframe for custom fields display/editing + if ($custom_fields_enabled > 0) + { + $CLlist_id = $list_id; + if (strlen($entry_list_id) > 2) + {$CLlist_id = $entry_list_id;} + $stmt="ΕΜΦΑΝΙΣΗ ΠΙΝΑΚΑΣS LIKE \"custom_$CLlist_id\";"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $tablecount_to_print = mysql_num_rows($rslt); + if ($tablecount_to_print > 0) + { + $stmt="SELECT count(*) from custom_$CLlist_id where lead_id='$lead_id';"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $fieldscount_to_print = mysql_num_rows($rslt); + if ($fieldscount_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $custom_records_count = $rowx[0]; + + echo "Προσαρμοσμένα Πεδία ΓΙΑ ΑΥΤΟ ΤΟ ΜΟΛΥΒΔΟ:
    \n"; + echo "\n"; + echo "

    "; + } + } + } + + + echo "Κλήσεις για αυτόν τον οδηγό:\n"; + echo "\n"; + echo "\n"; + + echo "$call_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSRΕΚΣΤΡΑΤΕΙΑ LIST LEAD HANGUP REASON PHONE
    \n"; + echo "

    \n"; + + echo "CLOSER RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$closer_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSRΕΚΣΤΡΑΤΕΙΑ LIST LEAD WAIT HANGUP REASON
    \n"; + echo "

    \n"; + + + echo "ΧΕΙΡΙΣΤΗΣLOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$agent_log\n"; + echo "
    # DATE/TIME CAMPAIGN TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; + echo "

    \n"; + echo "QUALITY CONTROL LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + echo "$qc_agent_log\n"; + echo "
    # DATE/TIME OLD STATUSNEW STATUSQC USERAGENTCAMPAIGNLISTELAPSED 
    \n"; + echo "

    \n"; + + echo "RECORDINGS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + $stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if ($DB) {echo "$logs_to_print|$stmt|\n";} + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if ( (eregi("ftp",$location)) or (eregi("http",$location)) ) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + + echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]


    \n"; + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 9 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $admin_display=$row[0]; + if ($admin_display > 0) + { + echo "Click here to see Lead Modifychanges to this lead\n"; + } + + echo "\n"; + } + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds
    "; + + +?> + + + + + +original_record:
    "; + print_r($original_record); + echo "
    new_record:
    "; + print_r($new_record); + echo "scheduled_callback:
    "; + print_r($scheduled_callback); + echo "debug1:
    "; + print_r($debug1); + echo "Post:
    "; + print_r($_POST); + echo "qcchangelist:
    "; + print_r($qcchangelist); + echo "
    "; +} +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/realtime_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/realtime_report.php index 1952315c..a52ddc24 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/realtime_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/realtime_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -20,10 +20,14 @@ # 110516-2128 - IE fix # 110526-1807 - Added webphone_auto_answer option # 120223-1917 - Added multi-user-group options +# 121129-2131 - Fixed Choose link position +# 130414-0247 - Added report logging # -$version = '2.4-9'; -$build = '120223-1917'; +$startMS = microtime(); + +$version = '2.6-11'; +$build = '130414-0247'; header ("Content-type: text/html; charset=utf-8"); @@ -112,15 +116,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $webphone_width = '460'; $webphone_height = '500'; $webphone_left = '600'; @@ -269,6 +264,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$groups[0]|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + if ($auth) { $office_no=strtoupper($PHP_AUTH_USER); @@ -1400,9 +1424,9 @@ echo "\n-->\n $stmt = "select count(*) from vicidial_campaigns where active='Y' and campaign_allow_inbound='Y' $group_SQLand;"; $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - $campaign_allow_inbound = $row[0]; +if ($DB) {echo "$stmt\n";} +$row=mysql_fetch_row($rslt); +$campaign_allow_inbound = $row[0]; echo "\n"; echo "$report_name: $group\n"; @@ -1437,12 +1461,12 @@ echo "\n"; #echo "\n"; echo "Real-Time Report                                                                               \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo "Επιλογές εμφάνισης Επιλέξτε Έκθεση"; echo "
    \n"; echo "
    \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo ""; echo "
    \n"; @@ -1517,6 +1541,24 @@ echo "\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/send_CID_call.php b/agc_2-X/trunk/LANG_www/vicidial_el/send_CID_call.php index 8549f6a3..521faf42 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/send_CID_call.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/send_CID_call.php @@ -3,11 +3,13 @@ # # Send calls with custom callerID numbers from web form # -# Copyright (C) 2009 Matt Florell LICENSE: GPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: GPLv2 # # CHANGES # # 90714-1355 - First Build +# 120831-1527 - Added vicidial_dial_log logging +# 130414-0039 - Added admin logging # require("dbconnect.php"); @@ -55,6 +57,7 @@ $auth=$row[0]; $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); +$ip = getenv("REMOTE_ADDR"); ?> @@ -123,6 +126,17 @@ else if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='TESTCIDCALL098765432',lead_id='0',server_ip='$server_ip',call_date='$NOW_TIME',extension='91$receiver',channel='Local/91$sender$Local_end',timeout='$Local_dial_timeout',outbound_cid='\"$cid_number\" <$cid_number>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='CIDSEND', event_type='OTHER', record_id='$PHP_AUTH_USER', event_code='ADMIN SEND CID CALL', event_sql=\"$SQL_log\", event_notes='Server: $server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Call sent from $sender to $receiver using CIDnumber: $cid_number"; } diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_report.php b/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_report.php index a2b8f63b..c35da4c4 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -18,8 +18,11 @@ # 110703-1830 - Added download option # 111104-1314 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0150 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); ##### Pull values from posted form variables ##### @@ -73,15 +76,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -106,6 +100,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -530,13 +553,31 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_status.php b/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_status.php index 694567d7..45fe84e1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/timeclock_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,10 +15,13 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1833 - Added download option # 111104-1315 - Added user_group restrictions for selecting in-groups +# 130414-0152 - Added report logging # #header ("Content-type: text/html; charset=utf-8"); +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +67,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -113,6 +107,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,26 @@ if (strlen($user_group) < 1) echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -467,10 +510,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { header ("Content-type: text/html; charset=utf-8"); echo "$HEADER"; @@ -478,6 +519,24 @@ if ($file_download > 0) echo "$MAIN"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); exit; @@ -598,7 +657,25 @@ $MAIN.="
    \n"; $MAIN.="\n"; $MAIN.="\n"; - +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/user_stats.php b/agc_2-X/trunk/LANG_www/vicidial_el/user_stats.php index 0af35bc3..faa7511c 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/user_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/user_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -34,8 +34,12 @@ # 111103-1050 - Added admin_hide_phone_data and admin_hide_lead_data options # 111106-1105 - Added user_group restrictions # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 121222-2152 - Added email log display +# 130124-1740 - Added option to display first and last name of lead +# 130414-0146 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -44,9 +48,15 @@ require("functions.php"); $report_name = 'Στατιστικά Χρήστη'; $db_source = 'M'; +$firstlastname_display_user_stats=0; +if (file_exists('options.php')) + { + require('options.php'); + } + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -59,19 +69,11 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $user_territories_active = $row[4]; $webroot_writable = $row[5]; + $allow_emails = $row[6]; } ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; @@ -130,6 +132,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -641,12 +672,27 @@ if ($did < 1) ##### vicidial agent outbound calls for this time period ##### $MAIN.="OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)     [ΛΗΨΗ]\n"; - $MAIN.="
    \n"; - $MAIN.="\n"; + $MAIN.="
    # DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ GROUP LIST LEAD HANGUP REASON
    \n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } + else + { + $MAIN.="\n"; + } $CSV_text5.="\"OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; - $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + if ($firstlastname_display_user_stats > 0) + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n";} + else + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n";} $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + if ($firstlastname_display_user_stats > 0) + { + $stmt="select uniqueid,vlog.lead_id,vlog.list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,vlog.status,vlog.phone_code,vlog.phone_number,vlog.user,vlog.comments,processed,user_group,term_reason,alt_dial,first_name,last_name from vicidial_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + if ($DB) {$MAIN.="outbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -687,27 +733,108 @@ if ($did < 1) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } $MAIN.="\n"; - $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[17] $row[18]\",\"$row[15]\"\n"; + } + else + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + } } $MAIN.="
    # DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ GROUP LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ GROUP LIST LEAD HANGUP REASON
    $row[14] $row[2] $row[1] $row[17] $row[18] $row[15]


    \n"; } + ##### vicidial agent outbound emails for this time period ##### + + if ($allow_emails>0) + { + $MAIN.="OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)     [ΛΗΨΗ]\n"; + $MAIN.="\n"; + $MAIN.="\n"; + $CSV_text5.="\"OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; + $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"USER\",\"CAMPAIGN\",\"EMAIL TO\",\"ATTACHMENT\",\"LEAD\",\"MESSAGE\"\n"; + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where user='" . mysql_real_escape_string($user) . "' and email_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and email_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by email_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + + $CSV_text5.="\"\",\"$u\",\"$row[3]\",\"$row[4]\",\"$row[7]\",\"$row[5]\",\"$row[8]\",\"$row[2]\",\"$row[6]\"\n"; + } + + + $MAIN.="
    # DATE/TIME USERΕΚΣΤΡΑΤΕΙΑ EMAIL TO ATTACHMENTS LEAD
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]   $row[2]
      MESSAGE: $row[6]


    \n"; + } + ##### vicidial agent inbound calls for this time period ##### $MAIN.="INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)     [ΛΗΨΗ]\n"; $MAIN.="\n"; -$MAIN.="\n"; +if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } +else + { + $MAIN.="\n"; + } $CSV_text6.="\"INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; -$CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; +if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n"; + } +else + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + } $stmt="select call_date,length_in_sec,status,phone_number,campaign_id,queue_seconds,list_id,lead_id,term_reason from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; if ($did > 0) { $stmt="select start_time,length_in_sec,0,caller_code,0,0,0,extension,0 from call_log where channel_group='DID_INBOUND' and number_dialed='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by start_time desc limit 10000;"; } +else + { + if ($firstlastname_display_user_stats > 0) + { + $stmt="select call_date,length_in_sec,vlog.status,vlog.phone_number,campaign_id,queue_seconds,vlog.list_id,vlog.lead_id,term_reason,first_name,last_name from vicidial_closer_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + } +if ($DB) {$MAIN.="inbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -768,8 +895,17 @@ while ($logs_to_print > $u) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + {$MAIN.="\n";} $MAIN.="\n"; - $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[9] $row[10]\",\"$row[8]\"\n"; + } + else + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + } } $MAIN.=""; @@ -793,6 +929,7 @@ if ($did < 1) $CSV_text7.="\"\",\"#\",\"DATE/TIME\",\"PAUSE\",\"WAIT\",\"TALK\",\"DISPO\",\"DEAD\",\"CUSTOMER\",\"STATUS\",\"LEAD\",\"CAMPAIGN\",\"PAUSE CODE\"\n"; $stmt="select event_time,lead_id,campaign_id,pause_sec,wait_sec,talk_sec,dispo_sec,dead_sec,status,sub_status,user_group from vicidial_agent_log where user='" . mysql_real_escape_string($user) . "' and event_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and ( (pause_sec > 0) or (wait_sec > 0) or (talk_sec > 0) or (dispo_sec > 0) ) order by event_time desc limit 10000;"; + if ($DB) {$MAIN.="agent activity|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -1177,8 +1314,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1186,9 +1321,29 @@ else echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/user_status.php b/agc_2-X/trunk/LANG_www/vicidial_el/user_status.php index 86f8c7a3..5976eee4 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/user_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/user_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,10 +20,15 @@ # 110224-2350 - Small QM logout fix # 110420-0344 - Added DEAD/PARK agent statuses # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0252 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); +$report_name='Κατάσταση χρήστη'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -95,6 +100,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } else { + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $stage, $group|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + if($auth>0) { $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; @@ -486,7 +511,26 @@ if ($stage == "log_agent_out") { echo "Agent $user is not logged in
    \n"; } - + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -652,6 +696,25 @@ if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($mod echo "$VDdisplayMESSAGE\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -664,7 +727,7 @@ if ($agents_to_print > 0) echo "       GROUP: $user_group
    \n"; echo "
    # DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ WAIT (S) ΧΕΙΡΙΣΤΗΣ(S) LIST LEAD HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ WAIT (S) ΧΕΙΡΙΣΤΗΣ(S) LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ WAIT (S) ΧΕΙΡΙΣΤΗΣ(S) LIST LEAD HANGUP REASON
    $AGENTseconds $row[6] $row[7] $row[9] $row[10] $row[8]
    "; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -768,6 +831,26 @@ echo "|$stage|$group|";   ">Εδάφη Κατάλογος - 0) { ?> - diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/voice_lab.php b/agc_2-X/trunk/LANG_www/vicidial_el/voice_lab.php index 2eaaf88c..18c238aa 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/voice_lab.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/voice_lab.php @@ -4,7 +4,7 @@ # This script is designed to broadcast a recorded message or allow a person to # speak to all agents logged into a VICIDIAL campaign. # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES @@ -13,8 +13,13 @@ # 70115-1246 - Added ability to define an exten to play # 90508-0644 - Changed to PHP long tags # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0045 - Added report logging # +$startMS = microtime(); + +$report_name='Voice Lab'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -52,24 +57,24 @@ $local_DEF = 'Local/'; $local_AMP = '@'; $ext_context = 'demo'; - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; $fp = fopen ("./project_auth_entries.txt", "a"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); - if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } - else +else { if($auth>0) { @@ -94,6 +99,26 @@ $browser = getenv("HTTP_USER_AGENT"); $full_name = $row[0]; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + ##### get server listing for dynamic pulldown $stmt="SELECT server_ip,server_description from servers order by server_ip"; @@ -307,6 +332,25 @@ if ($KILL_VOICE_LAB > 1) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/welcome_demo.php b/agc_2-X/trunk/LANG_www/vicidial_el/welcome_demo.php index 81c3bc8f..48a594da 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/welcome_demo.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/welcome_demo.php @@ -62,6 +62,9 @@ echo "   \n"; echo "\n"; +echo "
    Agent Logged in at server:   $Aserver_ip
    Agent Logged in at διακομιστή:   $Aserver_ip
    in session:   $Asession_id
    from phone:   $Aextension
    Agent is in campaign:   $Acampaign
      ?action=ADD_TERRITORY">Προσθήκη Επικράτεια   ?action=ADD_USER_TERRITORY">Προσθήκη Χρήστη Επικράτεια   ?action=CHANGE_TERRITORY_OWNER">Change Vtiger Επικράτεια Owner
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
  • \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_el/welcome_languages.php b/agc_2-X/trunk/LANG_www/vicidial_el/welcome_languages.php index e00e310e..d94ba3e1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_el/welcome_languages.php +++ b/agc_2-X/trunk/LANG_www/vicidial_el/welcome_languages.php @@ -62,6 +62,9 @@ echo "  
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSER_service_level.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSER_service_level.php index cbdb450e..de013ec5 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSER_service_level.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSER_service_level.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,11 @@ # 110703-1756 - Added download option # 111103-2300 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0104 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -69,15 +72,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -99,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -924,7 +947,7 @@ while ($k <= 22) $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; -$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in seconds) | | CALLS HANDLED | | |\n"; +$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (en segundo) | | CALLS HANDLED | | |\n"; $ASCII_text.="| 15 MIN INT |$hold_scale| AVG | MAX | |$call_scale| DROPS | TOTAL |\n"; $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; @@ -1280,10 +1303,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { echo "$HEADER"; @@ -1293,6 +1314,26 @@ if ($file_download > 0) } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERstats.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERstats.php index ac3a7b9a..b77455e5 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERstats.php @@ -1,10 +1,9 @@ LICENSE: AGPLv2 -# -# CHANGES +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 60905-1326 - Added queue time stats @@ -35,8 +34,13 @@ # 111103-0632 - Added MAXCAL as a drop status # 111103-2003 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 120730-0724 - Small fix for HTML output +# 130124-1719 - Added email report support +# 130414-1429 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -57,6 +61,8 @@ if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} if (isset($_GET["DID"])) {$DID=$_GET["DID"];} elseif (isset($_POST["DID"])) {$DID=$_POST["DID"];} +if (isset($_GET["EMAIL"])) {$EMAIL=$_GET["EMAIL"];} + elseif (isset($_POST["EMAIL"])) {$EMAIL=$_POST["EMAIL"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} @@ -92,15 +98,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -185,9 +182,16 @@ if (!isset($group)) {$group = '';} if (!isset($query_date)) {$query_date = $NOW_DATE;} if (!isset($end_date)) {$end_date = $NOW_DATE;} -$stmt="select group_id,group_name,8 from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='PHONE' $LOGadmin_viewable_groupsSQL order by group_id;"; if ($DID=='Y') - {$stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;";} + { + $stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; + } +if ($EMAIL=='Y') + { + $stmt="select email_account_id,email_account_name,email_account_id from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + } $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $groups_to_print = mysql_num_rows($rslt); @@ -231,6 +235,37 @@ else } if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $DID, $EMAIL, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&DID=".$DID."&EMAIL=".$EMAIL."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); @@ -286,6 +321,7 @@ $MAIN.="
    \n"; $MAIN.="\n"; +$MAIN.="\n"; $MAIN.="Rango de Fecha:
    \n"; $MAIN.=""; @@ -314,7 +350,9 @@ $MAIN.="// o_cal.a_tpl.weekstart = 1; // Lunes week start\n"; $MAIN.="\n"; $MAIN.="
    \n"; -if ($DID=='Y') +if ($EMAIL=='Y') + {$MAIN.="Email Accts: \n";} +else if ($DID=='Y') {$MAIN.="Inbound DIDs: \n";} else {$MAIN.="Grupos De entrada: \n";} @@ -372,6 +410,8 @@ $MAIN.="
    \n\n";
     if ($groups_to_print < 1)
     	{
     	$MAIN.="\n\n";
    +	if ($EMAIL=='Y')
    +		{$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK ENVIAR\n";}
     	if ($DID=='Y')
     		{$MAIN.="PLEASE SELECT A DID AND DATE RANGE ABOVE AND CLICK ENVIAR\n";}
     	else
    @@ -402,12 +442,18 @@ if ($shift == 'ALL')
     $query_date_BEGIN = "$query_date $time_BEGIN";   
     $query_date_END = "$end_date $time_END";
     
    +if ($EMAIL=='Y') 
    +	{
    +	$MAIN.="Inbound Email Stats: $group_string          $NOW_TIME        DESCARGAR\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DESCARGAR\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
     
     
    -$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DESCARGAR\n";
    -
    -$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    -
     
     if ($DID=='Y')
     	{
    @@ -452,7 +498,14 @@ if ($group_ct > 1)
     
     	$CSV_text1.="\n\"MULTI-GROUP BREAKDOWN:\"\n";
     
    -	if ($DID=='Y')
    +	if ($EMAIL=='Y')
    +		{
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$ASCII_text.="| EMAIL                | EMAILS  | DROPS   | DROP %  | IVR     |\n";
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$CSV_text1.="\"EMAIL\",\"CALLS\",\"DROPS\",\"DROP %\",\"IVR\"\n";
    +		}
    +	else if ($DID=='Y')
     		{
     		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
     		$ASCII_text.="| DID                  | CALLS   | DROPS   | DROP %  | IVR     |\n";
    @@ -655,18 +708,34 @@ else
     	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
     	}
     
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails taken in to this In-Grupo:        $TOTALcalls\n";
    +	$MAIN.="Average Email Length for all Emails:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Emails:                               $RESPUESTAEDcalls  $RESPUESTAEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Emails:        $average_answer_seconds seconds\n";
    +	$MAIN.="Emails taken into the IVR for this In-Grupo:   $IVRcalls\n";
     
    -$MAIN.="Total de llamadas a adoptarse en este In-Grupo:        $TOTALcalls\n";
    -$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    -$MAIN.="Answered Calls:                               $RESPUESTAEDcalls  $RESPUESTAEDpercent%\n";
    -$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    -$MAIN.="Calls taken into the IVR for this In-Grupo:   $IVRcalls\n";
    +	$CSV_text1.="\"Total Emails taken in to this In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Email Length for all Emails:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Emails:\",\"$RESPUESTAEDcalls\",\"$RESPUESTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Emails:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Emails taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Total de llamadas a adoptarse en este In-Grupo:        $TOTALcalls\n";
    +	$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Calls:                               $RESPUESTAEDcalls  $RESPUESTAEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    +	$MAIN.="Calls taken into the IVR for this In-Grupo:   $IVRcalls\n";
     
    -$CSV_text1.="\"Total de llamadas a adoptarse en este In-Grupo:\",\"$TOTALcalls\"\n";
    -$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    -$CSV_text1.="\"Answered Calls:\",\"$RESPUESTAEDcalls\",\"$RESPUESTAEDpercent%\"\n";
    -$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    -$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	$CSV_text1.="\"Total de llamadas a adoptarse en este In-Grupo:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Calls:\",\"$RESPUESTAEDcalls\",\"$RESPUESTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
     
     $MAIN.="\n";
     $MAIN.="---------- DROPS\n";
    @@ -709,12 +778,22 @@ else
     	$DROP_RESPUESTAEDpercent = round($DROP_RESPUESTAEDpercent, 0);
     	}
     
    -$MAIN.="Total DROP Calls: $DROPcalls  $DROPpercent%               drop/answered: $DROP_RESPUESTAEDpercent%\n";
    -$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total DROP Emails:                             $DROPcalls  $DROPpercent%               drop/answered: $DROP_RESPUESTAEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Emails:             $average_hold_seconds seconds\n";
     
    -$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RESPUESTAEDpercent%\"\n";
    -$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	$CSV_text1.="\"Total DROP Emails:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RESPUESTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Emails:\",\"$average_hold_seconds seconds\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Total DROP Calls: $DROPcalls  $DROPpercent%               drop/answered: $DROP_RESPUESTAEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
     
    +	$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RESPUESTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	}
     
     if (strlen($group_SQL)>3)
     	{
    @@ -750,14 +829,29 @@ if (strlen($group_SQL)>3)
     			}
     		}
     	}
    -$MAIN.="\n";
    -$MAIN.="---------- CUSTOM INDICATORS\n";
    -$MAIN.="GDE (Answered/Llamadas totales tomadas in to this In-Group):  $RESPUESTAEDpercent%\n";
    -$MAIN.="ACR (Dropped/Answered):                                $DROP_RESPUESTAEDpercent%\n";
     
    -$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    -$CSV_text1.="\"GDE (Answered/Llamadas totales tomadas in to this In-Group):\",\"$RESPUESTAEDpercent%\"\n";
    -$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RESPUESTAEDpercent%\"\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Total emails taken in to this In-Group):  $RESPUESTAEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_RESPUESTAEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Total emails taken in to this In-Group):\",\"$RESPUESTAEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RESPUESTAEDpercent%\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Llamadas totales tomadas in to this In-Group):  $RESPUESTAEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_RESPUESTAEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Llamadas totales tomadas in to this In-Group):\",\"$RESPUESTAEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RESPUESTAEDpercent%\"\n";
    +	}
     
     if ($DID!='Y')
     	{
    @@ -848,15 +942,34 @@ else
     	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
     	}
     
    -$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    -$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    -$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue emails:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all emails:        $average_total_queue_seconds seconds\n";
     
    -$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    -$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    -$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Total Emails That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue emails:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all emails:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
    +else 
    +	{
    +	$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
     
    +	$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
     
    +if ($EMAIL=='Y') {
    +	$rpt_type_verbiage='EMAIL';
    +	$rpt_type_verbiages='EMAILS';
    +} else {
    +	$rpt_type_verbiage='CALL ';
    +	$rpt_type_verbiages='CALLS ';
    +}
     
     ##############################
     #########  CALL HOLD TIME BREAKDOWN IN SECONDS
    @@ -864,12 +977,12 @@ $CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_s
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- LLAMADA EN ESPERA TEMNE DE SEGUNDOS       DESCARGAR\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS       DESCARGAR\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"LLAMADA EN ESPERA TEMNE DE SEGUNDOS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     
    @@ -1009,12 +1122,12 @@ else
     $BDdropCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="---------- $rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL DROP TIME BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
    @@ -1154,12 +1267,12 @@ else
     $BDansweredCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="           CALL RESPUESTAED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="           $rpt_type_verbiage RESPUESTAED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
     $ASCII_text.="          +-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="----------+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL RESPUESTAED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage RESPUESTAED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE','TIMEOT','AFTHRS','NANQUE','INBND','MAXCAL') group by queue_seconds;";
    @@ -1442,13 +1555,13 @@ else
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CONVOCATORIA colgar RAZÓN ESTADÍSTICAS       DESCARGAR\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HANGUP REASON STATS       DESCARGAR\n";
     $ASCII_text.="+----------------------+------------+\n";
    -$ASCII_text.="| HANGUP REASON        | CALLS      |\n";
    +$ASCII_text.="| HANGUP REASON        | $rpt_type_verbiages      |\n";
     $ASCII_text.="+----------------------+------------+\n";
     
    -$CSV_text3.="\n\"CONVOCATORIA colgar RAZÓN ESTADÍSTICAS\"\n";
    -$CSV_text3.="\"HANGUP REASON\",\"CALLS\"\n";
    +$CSV_text3.="\n\"$rpt_type_verbiage HANGUP REASON STATS\"\n";
    +$CSV_text3.="\"HANGUP REASON\",\"$rpt_type_verbiages\"\n";
     
     $stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason order by term_reason;";
     if ($DID=='Y')
    @@ -1486,6 +1599,7 @@ $CSV_text3.="\"TOTAL:\",\"$TOTALcalls\"\n";
     
     if ($report_display_type=="HTML") 
     	{
    +	$ct_ary=array();
     	$rslt=mysql_query($stmt, $link);
     	$high_ct=0; $i=0;
     	while ($row=mysql_fetch_row($rslt)) {
    @@ -1495,11 +1609,11 @@ if ($report_display_type=="HTML")
     		$i++;
     	}
     	$GRAPH_text="
    \n"; - $GRAPH_text.="\n"; - $GRAPH_text.=" \n"; + $GRAPH_text.="
    CONVOCATORIA colgar RAZÓN ESTADÍSTICAS
    \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; - $GRAPH_text.=" \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; for ($i=0; $iLLAMADAS TOTALES:\n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.="
    $rpt_type_verbiage HANGUP REASON STATS
    REASON CALLS $rpt_type_verbiages
    TOTAL ".$rpt_type_verbiage.":".trim($TOTALcalls)."
    \n"; @@ -1527,17 +1641,17 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL STATUS STATS DESCARGAR\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; -$ASCII_text.="| STATUS | DESCRIPTION | CATEGORÍA | CALLS | TOTAL TIME | AVG TIME |CALLS/HOUR|\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; +$ASCII_text.="---------- $rpt_type_verbiage STATUS STATS DESCARGAR\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; +$ASCII_text.="| STATUS | DESCRIPTION | CATEGORÍA | $rpt_type_verbiages | TOTAL TIME | AVG TIME |$rpt_type_verbiages/HOUR|\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; $GRAPH="

    "; $GRAPH.=""; $GRAPH.="
    CALLSTOTAL TIMEAVG TIMECALLS/HR

     


    "; -$CSV_text4.="\n\"CALL STATUS STATS\"\n"; -$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"CATEGORÍA\",\"CALLS\",\"TOTAL TIME\",\"AVG TIME\",\"CALLS/HOUR\"\n"; +$CSV_text4.="\n\"$rpt_type_verbiage STATUS STATS\"\n"; +$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"CATEGORÍA\",\"$rpt_type_verbiages\",\"TOTAL TIME\",\"AVG TIME\",\"$rpt_type_verbiages/HOUR\"\n"; @@ -1710,11 +1824,11 @@ else $ASCII_text="\n"; $ASCII_text.="---------- CUSTOM STATUS CATEGORÍA STATS
    DESCARGAR\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; -$ASCII_text.="| CATEGORÍA | CALLS | DESCRIPTION |\n"; +$ASCII_text.="| CATEGORÍA | $rpt_type_verbiages | DESCRIPTION |\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; $CSV_text5.="\n\"CUSTOM STATUS CATEGORÍA STATS\"\n"; -$CSV_text5.="\"CATEGORÍA\",\"CALLS\",\"DESCRIPTION\"\n"; +$CSV_text5.="\"CATEGORÍA\",\"$rpt_type_verbiages\",\"DESCRIPTION\"\n"; $TOTCATcalls=0; $r=0; @@ -1744,7 +1858,7 @@ $CSV_text5.="\"TOTAL\",\"$TOTCATcalls\"\n"; if ($report_display_type=="HTML") { - $ct_ary=""; + $ct_ary=array(); $r=0; $i=0; $high_ct=0; while ($r < $statcats_to_print) @@ -1794,12 +1908,12 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL INITIAL QUEUE POSITION BREAKDOWN DESCARGAR\n"; +$ASCII_text.="---------- $rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN DESCARGAR\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; $ASCII_text.="| 1 2 3 4 5 6 7 8 9 10 15 20 25 +25 | TOTAL |\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; -$CSV_text6.="\n\"CALL INITIAL QUEUE POSITION BREAKDOWN\"\n"; +$CSV_text6.="\n\"$rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN\"\n"; $CSV_text6.="\"\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"15\",\"20\",\"25\",\"+25\",\"TOTAL\"\n"; @@ -1938,11 +2052,11 @@ $TOTavg=0; $ASCII_text="\n"; $ASCII_text.="---------- AGENTE STATS DESCARGAR\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; -$ASCII_text.="| AGENTE | CALLS | TIME H:M:S |AVERAGE |\n"; +$ASCII_text.="| AGENTE | $rpt_type_verbiages | TIME H:M:S |AVERAGE |\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; $CSV_text7.="\n\"AGENTE STATS\"\n"; -$CSV_text7.="\"AGENT\",\"CALLS\",\"TIME H:M:S\",\"AVERAGE\"\n"; +$CSV_text7.="\"AGENT\",\"$rpt_type_verbiages\",\"TIME H:M:S\",\"AVERAGE\"\n"; $max_calls=1; @@ -1953,7 +2067,7 @@ $GRAPH="

    CALLS"; $GRAPH.="
    TIME H:M:SAVERAGE

     


    "; $graph_header=""; -$CALLS_graph=$graph_header.""; +$CALLS_graph=$graph_header.""; $TIMEHMS_graph=$graph_header.""; $AVERAGE_graph=$graph_header.""; @@ -2173,7 +2287,7 @@ else } $ASCII_text.="\n"; -$ASCII_text.="GRÁFICO EN 15 INCREMENTOS MINUCIOSOS DE LLAMADAS TOTALES TAKEN INTO THIS IN-GROUP\n"; +$ASCII_text.="GRAPH IN 15 MINUTE INCREMENTS OF TOTAL $rpt_type_verbiages TAKEN INTO THIS IN-GROUP\n"; $k=1; @@ -2347,12 +2461,12 @@ else ##### Answered wait time breakdown $MAIN.="\n"; -$MAIN.="---------- CALL RESPUESTAED TIME BREAKDOWN IN SECONDS DESCARGAR\n"; +$MAIN.="---------- $rpt_type_verbiage RESPUESTAED TIME BREAKDOWN IN SECONDS DESCARGAR\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; $MAIN.="| HOUR | 0 5 10 15 20 25 30 35 40 45 50 55 60 90 +90 | TOTAL |\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; -$CSV_text8.="\n\"CALL RESPUESTAED TIME BREAKDOWN IN SECONDS\"\n"; +$CSV_text8.="\n\"$rpt_type_verbiage RESPUESTAED TIME BREAKDOWN IN SECONDS\"\n"; $CSV_text8.="\"HOUR\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n"; $ZZ = '00'; @@ -2464,7 +2578,6 @@ if ($file_download>0) { echo "$CSV_text"; - exit; } else { echo $HEADER; echo $JS_text; @@ -2474,6 +2587,27 @@ if ($file_download>0) { } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERsummary_hourly.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERsummary_hourly.php index 52c39e7f..b5553879 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERsummary_hourly.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_CLOSERsummary_hourly.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1806 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0107 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -124,6 +118,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -938,6 +961,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -961,10 +1003,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { if ($report_display_type=="HTML") @@ -998,5 +1038,24 @@ if ($file_download > 0) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_DIDstats.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_DIDstats.php index b39a8543..1eda6866 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_DIDstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_DIDstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1809 - Added download option # 111104-1133 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0113 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -67,15 +70,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -189,6 +183,36 @@ else if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&file_download=".$file_download."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $HEADER.="\n"; $HEADER.="\n"; @@ -1070,6 +1094,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { echo $HEADER; @@ -1079,5 +1122,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRfilter.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRfilter.php index a5b91ff5..bf966847 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRfilter.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRfilter.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -9,8 +9,13 @@ # 90310-2054 - Admin header # 90508-0644 - Changed to PHP long tags # 120113-2022 - Added new columns for sent to queue and agent +# 130414-0257 - Added report logging # +$startMS = microtime(); + +$report_name='IVR Filter Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -88,6 +93,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$campaign[0], $query_date, $end_date|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -494,8 +519,6 @@ if ($file_download == 0 || !$file_download) { flush(); echo "$CSV_text"; - - exit; # $CSV_report=fopen("AST_pause_code_breakdown.csv", "w"); # fwrite($CSV_report, $CSV_header); @@ -503,4 +526,26 @@ if ($file_download == 0 || !$file_download) { # fwrite($CSV_report, $CSV_total); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRstats.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRstats.php index 45c550fa..4fa1eff5 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_IVRstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 81026-2026 - First build @@ -20,8 +20,11 @@ # 110703-1850 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130114-0115 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -79,15 +82,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -109,6 +103,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -1001,6 +1024,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1013,6 +1055,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_LISTS_campaign_stats.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_LISTS_campaign_stats.php index 43b01085..bd4ed82c 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_LISTS_campaign_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_LISTS_campaign_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -10,8 +10,13 @@ # 100916-0928 - First build # 110703-1815 - Added download option # 120224-0910 - Added HTML display option with bar graphs +# 120524-1754 - Fixed status categories issue +# 130221-1928 - small change to remove nested SQL query +# 130414-0127 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -58,15 +63,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -88,6 +84,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -178,9 +203,18 @@ else $group_SQL = "where campaign_id IN($group_SQL)"; } +# Get lists to query to avoid using a nested query +$lists_id_str=""; +$list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; +$list_rslt=mysql_query($list_stmt, $link); +while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; +} +$lists_id_str=substr($lists_id_str,0,-1); + $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +if ($DB) {echo "$stmt\n";} $statcats_to_print = mysql_num_rows($rslt); $i=0; while ($i < $statcats_to_print) @@ -188,13 +222,27 @@ while ($i < $statcats_to_print) $row=mysql_fetch_row($rslt); $vsc_id[$i] = $row[0]; $vsc_name[$i] = $row[1]; - $vsc_count[$i] = 0; + + $category_statuses=""; + $status_stmt="select distinct status from vicidial_statuses where category='$row[0]' UNION select distinct status from vicidial_campaign_statuses where category='$row[0]' $group_SQLand"; + if ($DB) {echo "$status_stmt\n";} + $status_rslt=mysql_query($status_stmt, $link); + while ($status_row=mysql_fetch_row($status_rslt)) + { + $category_statuses.="'$status_row[0]',"; + } + $category_statuses=substr($category_statuses, 0, -1); + + $category_stmt="select count(*) from vicidial_list where status in ($category_statuses) and list_id IN($lists_id_str)"; + if ($DB) {echo "$category_stmt\n";} + $category_rslt=mysql_query($category_stmt, $link); + $category_row=mysql_fetch_row($category_rslt); + $vsc_count[$i] = $category_row[0]; $i++; } - ### BEGIN gather all statuses that are in status flags ### $human_answered_statuses=''; $sale_statuses=''; @@ -348,7 +396,15 @@ else $GRAPH.="\n"; $GRAPH.="\n"; - $stmt="select count(*),list_id from vicidial_list where list_id IN( SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand) group by list_id;"; + $lists_id_str=""; + $list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; + $list_rslt=mysql_query($list_stmt, $link); + while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; + } + $lists_id_str=substr($lists_id_str,0,-1); + + $stmt="select count(*),list_id from vicidial_list where list_id IN($lists_id_str) group by list_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $listids_to_print = mysql_num_rows($rslt); @@ -949,7 +1005,6 @@ else echo "$CSV_text"; - exit; } else { $JS_onload.="}\n"; $JS_text.=$JS_onload; @@ -962,5 +1017,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_LIST_UPDATEstats.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_LIST_UPDATEstats.php index 9f71b0f6..547c233d 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_LIST_UPDATEstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_LIST_UPDATEstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -10,8 +10,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0201 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -54,15 +57,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -84,6 +78,35 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,24 @@ $RUNtime = ($ENDtime - $STARTtime); echo "
    AGENTE STATS
    AGENTCALLS
    $rpt_type_verbiages
    TIME H:M:S
    AVERAGE
    LEADS

    \nRun Time: $RUNtime seconds|$db_source\n"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_OUTBOUNDsummary_interval.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_OUTBOUNDsummary_interval.php index 08334f9c..e1fc6051 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_OUTBOUNDsummary_interval.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_OUTBOUNDsummary_interval.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1825 - Added download option # 111104-1205 - Added user_group and calltime restrictions # 120224-0910 - Added HTML display option with bar graphs +# 130414-0119 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -132,6 +126,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_call_times from vicidial_user_groups where user_group='$user_group';"; @@ -1452,6 +1475,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1521,6 +1563,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1555,6 +1616,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_VDADstats.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_VDADstats.php index 94634ffc..3f5324dc 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_VDADstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_VDADstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 60619-1718 - Added variable filtering to eliminate SQL injection attack threat @@ -32,8 +32,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 101207-1634 - Changed limits on seconds to 65000 from 36000 in vicidial_agent_log # 120224-0910 - Added HTML display option with bar graphs +# 130414-0117 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -103,15 +106,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - ##### SERVER CARRIER LOGGING LOOKUP ##### $stmt = "SELECT count(*) FROM servers where carrier_logging_active='Y' and max_vicidial_trunks > 0;"; $rslt=mysql_query($stmt, $link); @@ -144,6 +138,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -580,7 +603,7 @@ else $OUToutput .= "Total Respuesta humanaed calls for this Campaña: $CIcalls\n"; - $OUToutput .= "Average Call Length for all HA in seconds: $average_ci_seconds Total Time: $CIsec\n"; + $OUToutput .= "Average Call Length for all HA en segundo: $average_ci_seconds Total Time: $CIsec\n"; $OUToutput .= "\n"; @@ -1557,6 +1580,25 @@ else echo "OUTBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$outbound_rate = \$$outbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1792,6 +1834,25 @@ else $JS_text.="\n"; echo $JS_text; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php index 47e7796a..2c602d2e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,13 @@ # 111103-1207 - Added admin_hide_phone_data and admin_hide_lead_data options # 120210-1218 - Added vendor_lead_code to output # 120221-0059 - Added User Group restriction settings +# 130414-0159 - Added report logging # +$startMS = microtime(); + +$report_name='Lista De Hopper Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -49,6 +54,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -226,6 +251,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_ingrouplist.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_ingrouplist.php index 7360209b..81162d5b 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_ingrouplist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_VICIDIAL_ingrouplist.php @@ -3,12 +3,17 @@ # # shows the agents logged into vicidial and set to take calls from in-group # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 100320-2102 - First Build +# 130414-0222 - Added report logging # +$startMS = microtime(); + +$report_name='In-Group Usuario List'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -40,6 +45,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -205,6 +230,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_admin_template_maker.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_admin_template_maker.php index 6f25ff89..223b5f89 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_admin_template_maker.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_admin_template_maker.php @@ -5,6 +5,7 @@ # # CHANGES # 120402-2132 - First Build +# 120529-1427 - Filename filter fix # require("dbconnect.php"); @@ -193,6 +194,8 @@ $NWE = "')\">\"AYUDA\"
    Campañas:
    "; echo "

    \n"; +echo "
    \n"; +echo "Show parks-holds
    "; echo "Exponer as:
    "; echo "\n

    "; -echo "\n"; +echo "$NWB#agent_time_detail$NWE\n"; echo "
            "; echo "          \n"; @@ -1206,6 +1418,25 @@ while ($m < $k) echo "\n"; ##### END horizontal yellow transparent bar graph overlay on top of agent stats +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_time_sheet.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_time_sheet.php index 089ade87..aa209c5e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_time_sheet.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_time_sheet.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1848 - Added download option # 111104-1308 - Added user_group restrictions for selecting in-groups +# 130414-0148 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -42,14 +45,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; @@ -93,6 +88,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -416,16 +440,33 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { header ("Content-type: text/html; charset=utf-8"); echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_timeclock_detail.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_timeclock_detail.php index 425c6b4c..5c34dccf 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_timeclock_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_agent_timeclock_detail.php @@ -3,7 +3,7 @@ # # Pulls all timeclock records for an agent # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 90602-2244 - First build @@ -13,8 +13,10 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 111104-1315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0154 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -67,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -100,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -319,9 +341,6 @@ else $query_date_BEGIN = "$query_date"; $query_date_END = "$end_date"; - if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";} - else {$ugSQL='';} - if ($file_download < 1) { echo "Usuario Time-Clock Detalle $NOW_TIME\n"; @@ -685,6 +704,25 @@ if ($file_download > 0) echo "$file_output"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -819,6 +857,25 @@ $ENDtime = date("U"); $RUNtime = ($ENDtime - $STARTtime); echo "$RUNtime|$db_source\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_campaign_status_list_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_campaign_status_list_report.php index 458b1889..a03e23af 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_campaign_status_list_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_campaign_status_list_report.php @@ -4,14 +4,19 @@ # This report is designed to show the breakdown by list_id of the calls and # their statuses for all lists within a campaign for a set time period # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # # 110815-2138 - First build # 120224-0910 - Added HTML display option with bar graphs +# 130414-0129 - Added report logging +# 130425-2113 - Added status flag summaries and other formatting cleanup +# 130425-2353 - Fixed bug with subtracting unsigned columns in SQL # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_PW); @@ -97,6 +93,36 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -138,7 +164,7 @@ while($i < $group_ct) $i++; } -$stmt="select campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; +$stmt="SELECT campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$HTML_text.="$stmt\n";} $campaigns_to_print = mysql_num_rows($rslt); @@ -276,17 +302,25 @@ $JS_onload="onload = function() {\n"; while($i < $group_ct) { - $stmt="select distinct status, status_name from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION select distinct status, status_name from vicidial_statuses order by status, status_name"; + $stmt="SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_statuses order by status, status_name"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $status_ary[$row[0]]=" - $row[1]"; + $status_ary[$row[0]] = " - $row[1]"; + $HA_ary[$row[0]] = $row[2]; + $SALE_ary[$row[0]] = $row[3]; + $DNC_ary[$row[0]] = $row[4]; + $CC_ary[$row[0]] = $row[5]; + $NI_ary[$row[0]] = $row[6]; + $UW_ary[$row[0]] = $row[7]; + $SC_ary[$row[0]] = $row[8]; + $COMP_ary[$row[0]] = $row[9]; } $ASCII_text.="CAMPAÑA: $group[$i]\n"; $GRAPH.="CAMPAÑA: $group[$i]\n"; $CSV_text.="\"CAMPAÑA: $group[$i]\"\n"; - $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; + $stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; $rslt=mysql_query($stmt, $link); if (mysql_num_rows($rslt)>0) { @@ -303,20 +337,30 @@ while($i < $group_ct) } } - $stmt="select distinct list_id, list_name from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; + $stmt="SELECT distinct list_id, list_name, active from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $list_id=$row[0]; $list_name=$row[1]; + $list_id=$row[0]; $list_name=$row[1]; $list_active=$row[2]; + $HA_count=0; + $SALE_count=0; + $DNC_count=0; + $CC_count=0; + $NI_count=0; + $UW_count=0; + $SC_count=0; + $COMP_count=0; + $dispo_ary=""; $ASCII_text.="ID De la Lista #$list_id: $list_name\n"; $GRAPH.="ID De la Lista #$list_id: $list_name\n"; $CSV_text.="\"ID De la Lista #$list_id: $list_name\"\n"; - # $stat_stmt="select vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; - #$stat_stmt="select val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; - $stat_stmt="select vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION select vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + # $stat_stmt="SELECT vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; + #$stat_stmt="SELECT val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; + $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + if ($DB) {$HTML_text.="|$stat_stmt|\n";} # $ASCII_text.=$stat_stmt."\n"; $stat_rslt=mysql_query($stat_stmt, $link); if (mysql_num_rows($stat_rslt)>0) @@ -336,9 +380,9 @@ while($i < $group_ct) $max_duration=1; $max_handletime=1; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"DISPOSITION\",\"CALLS\",\"DURATION\",\"HANDLE TIME\"\n"; while ($stat_row=mysql_fetch_row($stat_rslt)) { @@ -353,14 +397,22 @@ while($i < $group_ct) $total_calls++; $total_duration+=$stat_row[2]; $total_handle_time+=$stat_row[3]; + if ($HA_ary[$stat_row[0]]=="Y") {$HA_count++;} + if ($SALE_ary[$stat_row[0]]=="Y") {$SALE_count++;} + if ($DNC_ary[$stat_row[0]]=="Y") {$DNC_count++;} + if ($CC_ary[$stat_row[0]]=="Y") {$CC_count++;} + if ($NI_ary[$stat_row[0]]=="Y") {$NI_count++;} + if ($UW_ary[$stat_row[0]]=="Y") {$UW_count++;} + if ($SC_ary[$stat_row[0]]=="Y") {$SC_count++;} + if ($COMP_ary[$stat_row[0]]=="Y") {$COMP_count++;} } $d=0; while (list($key, $val)=each($dispo_ary)) { - $ASCII_text.="| ".sprintf("%-35s", $key.$status_ary[$key]); - $ASCII_text.=" | ".sprintf("%5s", $val[0]); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($val[1], 'H')); + $ASCII_text.="| ".sprintf("%-40s", $key.$status_ary[$key]); + $ASCII_text.=" | ".sprintf("%6s", $val[0]); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($val[1], 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($val[2], 'H'))." |\n"; $CSV_text.="\"".$key.$status_ary[$key]."\",\"$val[0]\",\"".sec_convert($val[1], 'H')."\",\"".sec_convert($val[2], 'H')."\"\n"; @@ -373,20 +425,61 @@ while($i < $group_ct) $graph_stats[$d][3]=$val[2]; $d++; } - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| TOTALS:"; - $ASCII_text.=" | ".sprintf("%5s", $total_calls); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($total_duration, 'H')); + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| TOTALS:"; + $ASCII_text.=" | ".sprintf("%6s", $total_calls); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($total_duration, 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($total_handle_time, 'H'))." |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"TOTALS:\",\"$total_calls\",\"".sec_convert($total_duration, 'H')."\",\"".sec_convert($total_handle_time, 'H')."\"\n\n"; - for ($d=0; $d6) {$HA_percent = substr("$HA_percent", 0, -1);} + $SALE_percent = sprintf("%6.2f", 100*($SALE_count/$total_calls)); while(strlen($SALE_percent)>6) {$SALE_percent = substr("$SALE_percent", 0, -1);} + $DNC_percent = sprintf("%6.2f", 100*($DNC_count/$total_calls)); while(strlen($DNC_percent)>6) {$DNC_percent = substr("$DNC_percent", 0, -1);} + $CC_percent = sprintf("%6.2f", 100*($CC_count/$total_calls)); while(strlen($CC_percent)>6) {$CC_percent = substr("$CC_percent", 0, -1);} + $NI_percent = sprintf("%6.2f", 100*($NI_count/$total_calls)); while(strlen($NI_percent)>6) {$NI_percent = substr("$NI_percent", 0, -1);} + $UW_percent = sprintf("%6.2f", 100*($UW_count/$total_calls)); while(strlen($UW_percent)>6) {$UW_percent = substr("$UW_percent", 0, -1);} + $SC_percent = sprintf("%6.2f", 100*($SC_count/$total_calls)); while(strlen($SC_percent)>6) {$SC_percent = substr("$SC_percent", 0, -1);} + $COMP_percent = sprintf("%6.2f", 100*($COMP_count/$total_calls)); while(strlen($COMP_percent)>6) {$COMP_percent = substr("$COMP_percent", 0, -1);} + + $HA_count = sprintf("%9s", "$HA_count"); while(strlen($HA_count)>9) {$HA_count = substr("$HA_count", 0, -1);} + $SALE_count = sprintf("%9s", "$SALE_count"); while(strlen($SALE_count)>9) {$SALE_count = substr("$SALE_count", 0, -1);} + $DNC_count = sprintf("%9s", "$DNC_count"); while(strlen($DNC_count)>9) {$DNC_count = substr("$DNC_count", 0, -1);} + $CC_count = sprintf("%9s", "$CC_count"); while(strlen($CC_count)>9) {$CC_count = substr("$CC_count", 0, -1);} + $NI_count = sprintf("%9s", "$NI_count"); while(strlen($NI_count)>9) {$NI_count = substr("$NI_count", 0, -1);} + $UW_count = sprintf("%9s", "$UW_count"); while(strlen($UW_count)>9) {$UW_count = substr("$UW_count", 0, -1);} + $SC_count = sprintf("%9s", "$SC_count"); while(strlen($SC_count)>9) {$SC_count = substr("$SC_count", 0, -1);} + $COMP_count = sprintf("%9s", "$COMP_count"); while(strlen($COMP_count)>9) {$COMP_count = substr("$COMP_count", 0, -1);} + + if ($list_active=='Y') {$list_active = 'ACTIVE ';} else {$list_active = 'INACTIVE';} + $header_list_id = "$list_id - $list_name"; + $header_list_id = sprintf("%-51s", $header_list_id); while(strlen($header_list_id)>51) {$header_list_id = substr("$header_list_id", 0, -1);} + $header_list_count = sprintf("%10s", $total_calls); while(strlen($header_list_count)>10) {$header_list_count = substr("$header_list_count", 0, -1);} + $ASCII_text .= "\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| $header_list_id $list_active |\n"; + $ASCII_text .= "| LLAMADAS TOTALES: $header_list_count |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| STATUS FLAGS BREAKDOWN: (and % of total leads in the list) |\n"; + $ASCII_text .= "| Respuesta humana: $HA_count $HA_percent% |\n"; + $ASCII_text .= "| Sale: $SALE_count $SALE_percent% |\n"; + $ASCII_text .= "| DNC: $DNC_count $DNC_percent% |\n"; + $ASCII_text .= "| Customer Contact: $CC_count $CC_percent% |\n"; + $ASCII_text .= "| Not Interested: $NI_count $NI_percent% |\n"; + $ASCII_text .= "| Unworkable: $UW_count $UW_percent% |\n"; + $ASCII_text .= "| Scheduled callbk: $SC_count $SC_percent% |\n"; + $ASCII_text .= "| Completed: $COMP_count $COMP_percent% |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + + + for ($d=0; $d".$graph_stats[$d][1]."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][2], 'H')."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][3], 'H')."
    TOTAL:".trim($total_calls)."
    "; $DURATION_graph.="
    TOTAL:".sec_convert($total_duration, 'H')."
    "; $HANDLETIME_graph.="
    TOTAL:".sec_convert($total_handle_time, 'H')."
    "; @@ -415,7 +508,6 @@ while($i < $group_ct) } $ASCII_text.="\n"; $GRAPH.="\n"; - } $i++; $ASCII_text.="\n\n"; @@ -456,8 +548,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -468,4 +558,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_carrier_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_carrier_log_report.php index ee199900..30c7bff9 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_carrier_log_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_carrier_log_report.php @@ -1,26 +1,31 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120210-2202 - First build +# 130413-2213 - Added SIP codes summary and fields, and report logging +# 130418-1048 - Changed how server list is generated # +$startMS = microtime(); require("dbconnect.php"); +$report_name='Carrier Informe de registro'; + $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} -if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} +if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} elseif (isset($_POST["query_date_D"])) {$query_date_D=$_POST["query_date_D"];} -if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} +if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} elseif (isset($_POST["query_date_T"])) {$query_date_T=$_POST["query_date_T"];} -if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} - elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -54,14 +59,7 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } +$NOW_DATE = date("Y-m-d"); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} @@ -84,10 +82,39 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} -$NOW_DATE = date("Y-m-d"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $server_ip_string='|'; @@ -99,7 +126,7 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="select server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -223,7 +250,29 @@ if ($ENVIAR && $server_ip_ct>0) { } $MAIN.="+--------------+-------------+---------+\n"; $MAIN.="| TOTAL | ".sprintf("%-8s", $total_count)."|\n"; - $MAIN.="+--------------+-------------+---------+\n\n\n"; + $MAIN.="+--------------+-------------+---------+\n\n"; + + $stmt="select sip_hangup_cause,sip_hangup_reason,count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL group by sip_hangup_cause,sip_hangup_reason order by sip_hangup_cause,sip_hangup_reason"; + $rslt=mysql_query($stmt, $link); + $MAIN.="
    \n";
    +		if ($DB) {$MAIN.=$stmt."\n";}
    +		if (mysql_num_rows($rslt)>0) {
    +			$MAIN.="--- SIP ERROR REASON BREAKDOWN FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="| SIP CODE | SIP HANGUP REASON              |  COUNT  |\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$total_count=0;
    +			while ($row=mysql_fetch_array($rslt)) {
    +				$MAIN.="| ".sprintf("%8s", $row["sip_hangup_cause"])." ";
    +				$MAIN.="| ".sprintf("%-31s", $row["sip_hangup_reason"]);
    +				$MAIN.="| ".sprintf("%-8s", $row["ct"]);
    +				$MAIN.="|\n";
    +				$total_count+=$row["ct"];
    +			}
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="|                                     TOTAL | ".sprintf("%-8s", $total_count)."|\n";
    +			$MAIN.="+-------------------------------------------+---------+\n\n\n";
    +		}
     
     		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
    @@ -233,10 +282,10 @@ if ($ENVIAR && $server_ip_ct>0) {
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
     		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, RECORDS #$lower_limit-$upper_limit               [DESCARGAR]\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVIDOR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RESPUESTAED TIME | PHONE NUMBER |\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVIDOR IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"RESPUESTAED TIME\",\"PHONE NUMBER\"\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVIDOR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RESPUESTAED TIME | SIP CODE | SIP HANGUP REASON              | PHONE NUMBER |\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVIDOR IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"RESPUESTAED TIME\",\"SIP CODE\",\"SIP HANGUP REASON\",\"PHONE NUMBER\"\n";
     
     		for ($i=1; $i<=mysql_num_rows($rpt_rslt); $i++) {
     			$row=mysql_fetch_array($rpt_rslt);
    @@ -255,7 +304,7 @@ if ($ENVIAR && $server_ip_ct>0) {
     				$phone_number=$row["phone_number"];
     			}
     
    -			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\"\n";
    +			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$row[sip_hangup_cause]\",\"$row[sip_hangup_reason]\",\"$phone_number\"\n";
     			if ($i>=$lower_limit && $i<=$upper_limit) {
     				if (strlen($row["channel"])>37) {$row["channel"]=substr($row["channel"],0,37)."...";}
     				$carrier_rpt.="| ".sprintf("%-21s", $row["uniqueid"]); 
    @@ -267,10 +316,12 @@ if ($ENVIAR && $server_ip_ct>0) {
     				$carrier_rpt.="| ".sprintf("%-41s", $row["channel"]); 
     				$carrier_rpt.="| ".sprintf("%-10s", $row["dial_time"]); 
     				$carrier_rpt.="| ".sprintf("%-14s", $row["answered_time"]); 
    +				$carrier_rpt.="| ".sprintf("%8s", $row["sip_hangup_cause"])." "; 
    +				$carrier_rpt.="| ".sprintf("%-31s", $row["sip_hangup_reason"]); 
     				$carrier_rpt.="| ".sprintf("%-13s", $phone_number)."|\n"; 
     			}
     		}
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
     
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
    @@ -315,11 +366,31 @@ if ($ENVIAR && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_dialer_inventory_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_dialer_inventory_report.php
    index 0559be5c..98350eb1 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_dialer_inventory_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_dialer_inventory_report.php
    @@ -1,7 +1,7 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Joe Johnson     LICENSE: AGPLv2
     #                     Matt Florell 
     #
     # NOTES:
    @@ -14,8 +14,11 @@
     # 111106-1327 - Reformatting, other minor changes
     # 111230-1145 - Debugging additions and more minor changes
     # 120221-2237 - Added totals, list options, other small changes
    +# 130414-0131 - Added report logging
     #
     
    +$startMS = microtime();
    +
     error_reporting(0);
     
     require("dbconnect.php");
    @@ -77,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	#$HTML_header.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
     if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -107,6 +101,34 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	#$HTML_header.="\n";
    +	}
     
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
    @@ -882,8 +904,6 @@ if ($file_download>0)
     	flush();
     
     	echo "$CSV_text";
    -
    -	exit;
     	} 
     else 
     	{
    @@ -894,6 +914,27 @@ else
     	echo $HTML_text;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
     
     
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_display.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_display.php
    new file mode 100644
    index 00000000..c5a8dfca
    --- /dev/null
    +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_display.php
    @@ -0,0 +1,86 @@
    +    LICENSE: AGPLv2
    +#
    +# This page displays emails from the log
    +#
    +# changes:
    +# 130221-2124 - First build
    +#
    +
    +require("dbconnect.php");
    +require("functions.php");
    +
    +if (isset($_GET["DB"]))				{$DB=$_GET["DB"];}
    +	elseif (isset($_POST["DB"]))	{$DB=$_POST["DB"];}
    +if (isset($_GET["email_row_id"]))	{$email_row_id=$_GET["email_row_id"];}
    +	elseif (isset($_POST["email_row_id"]))	{$email_row_id=$_POST["email_row_id"];}
    +if (isset($_GET["email_log_id"]))	{$email_log_id=$_GET["email_log_id"];}
    +	elseif (isset($_POST["email_log_id"]))	{$email_log_id=$_POST["email_log_id"];}
    +
    +header ("Content-type: text/html; charset=utf-8");
    +header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    +header ("Pragma: no-cache");                          // HTTP/1.0
    +
    +#############################################
    +##### START SYSTEM_SETTINGS LOOKUP #####
    +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$qm_conf_ct = mysql_num_rows($rslt);
    +if ($qm_conf_ct > 0)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$non_latin =							$row[0];
    +	$timeclock_end_of_day =					$row[1];
    +	$agentonly_callback_campaign_lock =		$row[2];
    +	$custom_fields_enabled =				$row[3];
    +	$allow_emails =				$row[4];
    +	}
    +##### END SETTINGS LOOKUP #####
    +###########################################
    +
    +if ($allow_emails<1) 
    +	{
    +	echo "Your system does not have the email setting enabled\n";
    +	exit;
    +	}
    +
    +if ($non_latin < 1)
    +	{
    +	$user=ereg_replace("[^-_0-9a-zA-Z]","",$user);
    +	$pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass);
    +	}
    +else
    +	{
    +	$user = ereg_replace("'|\"|\\\\|;","",$user);
    +	$pass = ereg_replace("'|\"|\\\\|;","",$pass);
    +	}
    +
    +if ($email_log_id) {
    +	$stmt="select * from vicidial_email_log where email_log_id='$email_log_id'";
    +	$rslt=mysql_query($stmt, $link);
    +} else if ($email_row_id) {
    +	$stmt="select * from vicidial_email_list where email_row_id='$email_row_id'";
    +	$rslt=mysql_query($stmt, $link);
    +}
    +	
    +if (mysql_num_rows($rslt)>0) {
    +	$row=mysql_fetch_array($rslt);
    +	$row["message"]=preg_replace('/\r|\n/', "
    ", $row["message"]); + $EMAIL_form="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="
    Date sent:$row[email_date]
    Message:$row[message]
    "; +} +?> + + + +VICIDIAL email frame + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_report.php new file mode 100644 index 00000000..70faf5e2 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_email_log_report.php @@ -0,0 +1,559 @@ + LICENSE: AGPLv2 +# +# report of emails handled by the system +# +# CHANGELOG: +# 130221-2117 - First build +# 130414-0132 - Added report logging +# + +$startMS = microtime(); + +$version = '2.6-2'; +$build = '130414-0132'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["user_group_filter"])) {$user_group_filter=$_GET["user_group_filter"];} + elseif (isset($_POST["user_group_filter"])) {$user_group_filter=$_POST["user_group_filter"];} +if (isset($_GET["email_type"])) {$email_type=$_GET["email_type"];} + elseif (isset($_POST["email_type"])) {$email_type=$_POST["email_type"];} +if (isset($_GET["date_type"])) {$date_type=$_GET["date_type"];} + elseif (isset($_POST["date_type"])) {$date_type=$_POST["date_type"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} + + +$report_name = 'Email Log Report'; +$db_source = 'M'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,email_enabled FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $slave_db_server = $row[2]; + $reports_use_slave_db = $row[3]; + $email_enabled = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {$MAIN.="$stmt\n";} +$gmt_conf_ct = mysql_num_rows($rslt); +$dst = date("I"); +if ($gmt_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + $epoch_offset = (($local_gmt + $dst) * 3600); + } + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level='7' and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$reports_only_user=$row[0]; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + +$stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGuser_group = $row[0]; + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; +$LOGadmin_viewable_call_times = $row[3]; + +if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "No tienes permiso para ver este informe: |$PHP_AUTH_USER|$report_name|\n"; + exit; + } + +$LOGadmin_viewable_groupsSQL=''; +$whereLOGadmin_viewable_groupsSQL=''; +if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; +$rslt=mysql_query($stmt, $link); + +if ($DB) {$MAIN.="$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +$LISTgroups[$i]='---NONE---'; +$i++; +$groups_to_print++; +$groups_string='|'; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] = $row[0]; + $LISTgroup_names[$i] = $row[1]; + $LISTgroup_ids[$i] = $row[2]; + $groups_string .= "$LISTgroups[$i]|"; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + } + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } +if (strlen($group_SQL)<3) {$group_SQL="''";} + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; + + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="$report_name\n"; + +$short_header=1; + +#require("admin_header.php"); + +$MAIN.="
    "; + +if ($DB > 0) + { + $MAIN.="
    \n"; + $MAIN.="$group_ct|$group_string|$group_SQL\n"; + $MAIN.="
    \n"; + $MAIN.="$shift|$query_date|$end_date\n"; + $MAIN.="
    \n"; + } + +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="Rango de Fecha:
    \n"; +$MAIN.=""; + +$MAIN.="\n"; + +$MAIN.=" to "; + +$MAIN.="\n"; + +$MAIN.="
    Email groups:
    \n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="           "; +if ($DID!='Y') + { + $MAIN.="MODIFICAR | "; + $MAIN.="IVR REPORT | \n"; + } +$MAIN.="INFORMES | "; +$MAIN.="


    \n"; +$MAIN.="
    \n"; + + +$MAIN.="
    \n"; +$MAIN.="
    Select date criteria: 
    "; +if (!$date_type || $date_type=="email_date") {$emailed="checked"; $date_title="received";} +if ($date_type=="call_date") {$called="checked"; $date_title="viewed";} +if ($date_type=="date_answered") {$answrd="checked"; $date_title="answered";} +$rpt_title.="from $query_date_BEGIN to $query_date_END "; +$MAIN.="Date email received
    \n"; +$MAIN.="Date email viewed
    \n"; +$MAIN.="Date email answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="
    Select report type to display: 
    "; +if (!$email_type || $email_type=="received") {$rcvd="checked"; $date_type="email_date"; $email_title="received";} +if ($email_type=="viewed") {$view="checked"; $email_title="viewed";} +if ($email_type=="answered") {$answ="checked"; $email_title="answered";} +$MAIN.="Emails received
    \n"; +$MAIN.="Emails viewed
    \n"; +$MAIN.="Emails answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="\n\n"; +$MAIN.="
    \n\n";
    +
    +if ($groups_to_print < 1)
    +	{
    +	$MAIN.="\n\n";
    +	$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK ENVIAR\n";
    +	}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$end_date 23:59:59";
    +
    +$rpt_title="Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\n\n";
    +$MAIN.=$rpt_title;
    +$MAIN.="Email log results: $group_string          $NOW_TIME        DESCARGAR\n";
    +$CSV_text1.="\"Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\"\n\n";
    +
    +if ($email_type=="received") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +	#	$stmt="select vel.* from vicidial_email_list vel where $date_type>='$query_date_BEGIN' and $date_type<='$query_date_END' and group_id in ($group_SQL) order by $date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +	#	$stmt="select vel.*, vcl.call_date, from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="viewed") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | DATE EMAIL VIEWED   | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="answered") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+---------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE (click to view full text)")." | DATE EMAIL VIEWED   | DATE EMAIL RESPUESTAED | ".sprintf("%-20s", "USER")." | ".sprintf("%-50s", "RESPONSE (click to view full text)")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"DATE EMAIL RESPUESTAED\",\"USER\",\"RESPONSE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +#echo $stmt."\n";
    +$rslt=mysql_query($stmt, $link);
    +if (mysql_num_rows($rslt)>0) {
    +	$i=0;
    +	$rpt_str=$rpt_border;
    +	$rpt_str.=$rpt_header;
    +	$rpt_str.=$rpt_border;
    +
    +	while($row=mysql_fetch_array($rslt)) {
    +		$email_row_id=$row["email_row_id"];
    +		$email_log_id=$row["email_log_id"];
    +		$lead_id=$row["lead_id"];
    +		$email_date=$row["email_date"];
    +
    +		$email_from=$row["email_from"];
    +		if (mb_strlen($email_from,'UTF-8')>27) {$email_from=mb_substr($email_from,0,27,'UTF-8')."...";}
    +
    +		$sender_name=$row["email_from_name"];
    +		if (mb_strlen($sender_name,'UTF-8')>17) {$sender_name=mb_substr($sender_name,0,17,'UTF-8')."...";}
    +
    +		$message=preg_replace('/\r|\n/', '', strip_tags($row["message"]));	
    +		if (mb_strlen($message,'UTF-8')>47) {$message=mb_substr($message,0,47,'UTF-8')."...";}
    +
    +		$call_date=$row["call_date"];
    +		$date_answered=$row["date_response_sent"];
    +		
    +		$sent_message=preg_replace('/\r|\n/', ' ', strip_tags($row["sent_message"]));
    +		if (mb_strlen($sent_message,'UTF-8')>47) {$sent_message=mb_substr($sent_message,0,47,'UTF-8')."...";}
    +		
    +		$user=$row["sending_user"];
    +		$status=$row["status"];
    +
    +		if ($email_type=="received") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$status\"\n";
    +		} else if ($email_type=="viewed") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$status\"\n";
    +		} else if ($email_type=="answered") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | $date_answered | ".sprintf("%-20s", $user)." | ".sprintf("%-50s", "$sent_message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$date_answered\",\"$user\",\"$sent_message\",\"$status\"\n";
    +		}
    +
    +		$rpt_str.=$rpt_line;
    +	}
    +	$rpt_str.=$rpt_border;
    +} else {
    +	$rpt_str="**NO RESULTS FOUND**\n\n";
    +}
    +	$MAIN.=$rpt_str;
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +$MAIN.="\nRun Time: $RUNtime seconds|$db_source\n";
    +$MAIN.="
    "; +$MAIN.="
    "; + +$MAIN.=""; + +if ($file_download>0) { + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AST_email_log_report_$US$FILE_TIME.csv"; + $CSV_var="CSV_text1"; + $CSV_text=preg_replace('/^\s+/', '', $$CSV_var); + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text1"; + +} else { + echo $HEADER; + echo $JS_text; + require("admin_header.php"); + echo $MAIN; +} + +} + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_hangup_cause_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_hangup_cause_report.php index aef23ca5..18870062 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_hangup_cause_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_hangup_cause_report.php @@ -1,12 +1,17 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120331-2301 - First build +# 130413-2348 - Added report logging +# 130419-2047 - Changed how menu lists are generated to speed up initial form load # +$startMS = microtime(); + +$report_name='Hangup Cause Report'; require("dbconnect.php"); @@ -23,6 +28,8 @@ if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["hangup_cause"])) {$hangup_cause=$_GET["hangup_cause"];} elseif (isset($_POST["hangup_cause"])) {$hangup_cause=$_POST["hangup_cause"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -39,6 +46,8 @@ if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$START_TIME=date("U"); + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;"; @@ -56,15 +65,96 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) +##### Hangup Cause Dictionary ##### +$hangup_cause_dictionary = array( +0 => "Unspecified. No other cause codes applicable.", +1 => "Unallocated (unassigned) number.", +2 => "No route to specified transit network (national use).", +3 => "No route to destination.", +6 => "Channel unacceptable.", +7 => "Call awarded, being delivered in an established channel.", +16 => "Normal call clearing.", +17 => "Usuario busy.", +18 => "No user responding.", +19 => "No answer from user (user alerted).", +20 => "Subscriber absent.", +21 => "Call rejected.", +22 => "Number changed.", +23 => "Redirection to new destination.", +25 => "Exchange routing error.", +27 => "Destination out of order.", +28 => "Invalid number format (address incomplete).", +29 => "Facilities rejected.", +30 => "Response to STATUS INQUIRY.", +31 => "Normal, unspecified.", +34 => "No circuit/channel available.", +38 => "Network out of order.", +41 => "Temporary failure.", +42 => "Switching equipment congestion.", +43 => "Access information discarded.", +44 => "Requested circuit/channel not available.", +50 => "Requested facility not subscribed.", +52 => "Outgoing calls barred.", +54 => "Incoming calls barred.", +57 => "Bearer capability not authorized.", +58 => "Bearer capability not presently available.", +63 => "Service or option not available, unspecified.", +65 => "Bearer capability not implemented.", +66 => "Channel type not implemented.", +69 => "Requested facility not implemented.", +79 => "Service or option not implemented, unspecified.", +81 => "Invalid call reference value.", +88 => "Incompatible destination.", +95 => "Invalid message, unspecified.", +96 => "Mandatory information element is missing.", +97 => "Message type non-existent or not implemented.", +98 => "Message not compatible with call state or message type non-existent or not implemented.", +99 => "Information element / parameter non-existent or not implemented.", +100 => "Invalid information element contents.", +101 => "Message not compatible with call state.", +102 => "Recovery on timer expiry.", +103 => "Parameter non-existent or not implemented - passed on (national use).", +111 => "Protocol error, unspecified.", +127 => "Interworking, unspecified." +); + +$master_hangup_cause_array=array(); +$i=0; +while (list($key, $val)=each($hangup_cause_dictionary)) { + $master_hangup_cause_array[$i]=$key; + $i++; +} +$hangup_causes_to_print=count($master_hangup_cause_array); +$master_dialstatus_array=array("RESPUESTA", "BUSY", "NORESPUESTA", "CANCEL", "CONGESTION", "CHANUNAVAIL", "DONTCALL", "TORTURE", "INVALIDARGS"); +$dialstatuses_to_print=count($master_dialstatus_array); + +/* +$hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); +$i=0; +while($i < $hangup_cause_ct) { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; + if (preg_match('/\-\-ALL\-\-/', $hangup_cause[$i])) + { + $hangup_cause=$master_hangup_cause_array; + break; + } + $i++; } +$j=0; +while($j < $dial_status_ct) + { + if (preg_match('/\-\-ALL\-\-/', $dial_status[$j])) + { + $dial_status=$master_dialstatus_array; + break; + } + $j++; + } +*/ + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -87,6 +177,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} $NOW_DATE = date("Y-m-d"); @@ -101,7 +220,8 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="SELECT server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; +if ($DB) {echo "|$server_stmt|\n";} $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -148,65 +268,102 @@ if (strlen($server_ip_SQL)<3) {$server_ip_SQL="";} ########### HANGUP CAUSES $hangup_cause_string='|'; $dialstatus_string='|'; -$hangup_and_dialstatus_string='|'; +#$hangup_and_dialstatus_string='|'; $hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); $i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - $hangup_and_dialstatus_string .= "$hangup_cause[$i]|"; - $hangup_cause_string .= "$hangup_array[0]|"; - $dialstatus_string .= "$hangup_array[1]|"; + $hangup_cause_string .= "$hangup_cause[$i]|"; $i++; } -$hangupcause_stmt="select distinct hangup_cause, dialstatus from vicidial_carrier_log order by dialstatus, hangup_cause asc"; -$hangupcause_rslt=mysql_query($hangupcause_stmt, $link); -$causes_to_print=mysql_num_rows($hangupcause_rslt); -$i=0; -while ($i < $causes_to_print) +$j=0; +while($j < $dial_status_ct) { - $row=mysql_fetch_row($hangupcause_rslt); - $LISThangup_causes[$i] = $row[0]; - $LISTdialstatuses[$i] = $row[1]; - if (ereg("-ALL",$hangup_cause_string) ) + $dialstatus_string .= "$dial_status[$j]|"; + $j++; + } + +$i=0; $j=0; +$hangup_causes_string='|'; +$dialstatuses_string='|'; +while($i < $hangup_cause_ct) + { + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) ) { - $hangup_cause[$i] = $LISThangup_causes[$i]; - $dialstatus[$i] = $LISTdialstatuses[$i]; + $hangup_causes_string .= "$hangup_cause[$i]|"; + $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; } $i++; } -$i=0; -$hangup_causes_string='|'; -$hangup_cause_ct = count($hangup_cause); +while ($j < $dial_status_ct) + { + if ( (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + $dialstatuses_string .= "$dial_status[$j]|"; + $dial_statusQS .= "&dial_status[]=$dial_status[$j]"; + } + $j++; + } + +$i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - if ( (strlen($hangup_array[0]) > 0) and (preg_match("/\|$hangup_array[0]\|/",$hangup_cause_string)) and (strlen($hangup_array[1]) > 0) and (preg_match("/\|$hangup_array[1]\|/",$dialstatus_string)) ) + $j=0; + while ($j < $dial_status_ct) { - $hangup_causes_string .= "$hangup_array[0]|"; - $hangup_cause_SQL .= "(hangup_cause='$hangup_array[0]' and dialstatus='$hangup_array[1]') OR"; - $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) and (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + if ( ereg("--ALL--",$hangup_cause_string) ) {$HC_subclause="";} else {$HC_subclause="hangup_cause='$hangup_cause[$i]'";} + if ( ereg("--ALL--",$dialstatus_string) ) {$DS_subclause="";} else {$DS_subclause="dialstatus='$dial_status[$j]'";} + if ($HC_subclause=="" || $DS_subclause=="") {$conjunction="";} else {$conjunction=" and ";} + $hangup_cause_SQL .= "($HC_subclause$conjunction$DS_subclause) OR"; + $hangup_cause_SQL=preg_replace('/\(\) OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL .= "(hangup_cause='$hangup_cause[$i]' and dialstatus='$dial_status[$j]') OR"; + } + $j++; } $i++; } if ( (ereg("--ALL--",$hangup_cause_string) ) or ($hangup_cause_ct < 1) ) { - $hangup_cause_SQL = ""; +# $hangup_cause_SQL = ""; $HC_rpt_string="- ALL hangup causes "; if (ereg("--ALL--",$hangup_cause_string)) {$hangup_causeQS="&hangup_cause[]=--ALL--";} } else { - $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); - $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); - $hangup_cause_SQL = "and ($hangup_cause_SQL)"; - $hangup_and_dialstatus_string=preg_replace('/\!/', "-", $hangup_and_dialstatus_string); - $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_and_dialstatus_string, 1, -1)); +# $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +# $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +# $hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $hangup_causes_string=preg_replace('/\!/', "-", $hangup_causes_string); + $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_causes_string, 1, -1)); } -if (strlen($hangup_cause_SQL)<3) {$hangup_cause_SQL="";} + +if ( (ereg("--ALL--",$dial_status_string) ) or ($dial_status_ct < 1) ) + { + $dial_status_SQL = ""; + $DS_rpt_string="- ALL dial statuses "; + if (ereg("--ALL--",$dial_status_string)) {$dial_statusQS="&dial_status[]=--ALL--";} + } +else + { + #$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); + #$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $dialstatuses_string=preg_replace('/\!/', "-", $dialstatuses_string); + $DS_rpt_string="AND dial status(es) ".preg_replace('/\|/', ", ", substr($dialstatuses_string, 1, -1)); + } + +$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + +if (strlen($hangup_cause_SQL)<7) {$hangup_cause_SQL="";} + ######################## $HEADER.="\n"; $HEADER.="\n"; @@ -267,22 +424,44 @@ while ($servers_to_print > $o) } $MAIN.="
    Hangup Cause/Dial Status:
    "; +$MAIN.="
    Hangup Cause:
    "; $MAIN.="
    Dial status:
    "; +$MAIN.=""; +$MAIN.="
    "; @@ -292,7 +471,7 @@ $MAIN.="\n"; $MAIN.="

    \n"; $MAIN.="
    \n"; if ($ENVIAR && $server_ip_ct>0) { - $stmt="select hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; + $stmt="SELECT hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; $rslt=mysql_query($stmt, $link); $MAIN.="
    \n";
     	if ($DB) {$MAIN.=$stmt."\n";}
    @@ -313,14 +492,14 @@ if ($ENVIAR && $server_ip_ct>0) {
     		$MAIN.="|                      TOTAL | ".sprintf("%-8s", $total_count)."|\n";
     		$MAIN.="+--------------+-------------+---------+\n\n\n";
     
    -		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
    +		$rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
     		if ($DB) {$MAIN.=$rpt_stmt."\n";}
     
     		if (!$lower_limit) {$lower_limit=1;}
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
    -		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DESCARGAR]\n";
    +		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string, $DS_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DESCARGAR]\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
     		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVIDOR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RESPUESTAED TIME | PHONE NUMBER |\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    @@ -331,7 +510,7 @@ if ($ENVIAR && $server_ip_ct>0) {
     			$phone_number=""; $phone_note="";
     
     			if (strlen($row["phone_number"])==0) {
    -				$stmt2="select phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
    +				$stmt2="SELECT phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
     				$rslt2=mysql_query($stmt2, $link);
     				$channel=$row["channel"];
     				while ($row2=mysql_fetch_array($rslt2)) {
    @@ -363,14 +542,14 @@ if ($ENVIAR && $server_ip_ct>0) {
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
     		if ($ll>=1) {
    -			$carrier_rpt_hf.="[<<< PREV 1000 records]";
    +			$carrier_rpt_hf.="[<<< PREV 1000 records]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%-23s", " ");
     		}
     		$carrier_rpt_hf.=sprintf("%-145s", " ");
     		if (($lower_limit+1000)=mysql_num_rows($rpt_rslt)) {$max_limit=mysql_num_rows($rpt_rslt)-$upper_limit;} else {$max_limit=1000;}
    -			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
    +			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%23s", " ");
     		}
    @@ -403,11 +582,35 @@ if ($ENVIAR && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$END_TIME=date("U");
    +
    +#print "Total run time: ".($END_TIME-$START_TIME);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_inbound_daily_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_inbound_daily_report.php
    index 86b8f3b9..6a402e62 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_inbound_daily_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_inbound_daily_report.php
    @@ -1,17 +1,30 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Matt Florell     LICENSE: AGPLv2
     #
     # CHANGES
     #
     # 111119-1234 - First build
     # 120118-2116 - Changed headers on CSV download
     # 120224-0910 - Added HTML display option with bar graphs
    +# 120601-2235 - Added group name to header, added status breakdown counts to page and CSV with option to display them
    +# 120611-2200 - Added ability to filter output by call time
    +# 120819-0118 - Formatting changes
    +# 121115-0621 - Changed to multi-select for in-group selection
    +# 130322-2008 - Added Unique Agents column
    +# 130414-0110 - Added report logging
     #
     
    +$startMS = microtime();
    +
     require("dbconnect.php");
     
    +if (file_exists('options.php'))
    +        {
    +        require('options.php');
    +        }
    +
     $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
     $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
     $PHP_SELF=$_SERVER['PHP_SELF'];
    @@ -27,6 +40,10 @@ if (isset($_GET["file_download"]))			{$file_download=$_GET["file_download"];}
     	elseif (isset($_POST["file_download"]))	{$file_download=$_POST["file_download"];}
     if (isset($_GET["hourly_breakdown"]))			{$hourly_breakdown=$_GET["hourly_breakdown"];}
     	elseif (isset($_POST["hourly_breakdown"]))	{$hourly_breakdown=$_POST["hourly_breakdown"];}
    +if (isset($_GET["show_disposition_statuses"]))			{$show_disposition_statuses=$_GET["show_disposition_statuses"];}
    +	elseif (isset($_POST["show_disposition_statuses"]))	{$show_disposition_statuses=$_POST["show_disposition_statuses"];}
    +if (isset($_GET["ignore_afterhours"]))			{$ignore_afterhours=$_GET["ignore_afterhours"];}
    +	elseif (isset($_POST["ignore_afterhours"]))	{$ignore_afterhours=$_POST["ignore_afterhours"];}
     if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
     	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
     if (isset($_GET["ENVIAR"]))				{$ENVIAR=$_GET["ENVIAR"];}
    @@ -44,6 +61,8 @@ if (strlen($shift)<2) {$shift='ALL';}
     $report_name = 'Inbound Daily Report';
     $db_source = 'M';
     
    +if ($ignore_afterhours=="checked") {$status_clause=" and status!='AFTHRS'";}
    +
     #############################################
     ##### START SYSTEM_SETTINGS LOOKUP #####
     $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;";
    @@ -61,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	$MAIN.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -91,6 +101,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	$MAIN.="\n";
    +	}
    +
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     $rslt=mysql_query($stmt, $link);
    @@ -124,14 +163,34 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl
     	$whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')";
     	}
     
    -$LOGadmin_viewable_call_timesSQL='';
    -$whereLOGadmin_viewable_call_timesSQL='';
    -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +if ($IDR_calltime_available==1)
     	{
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    -	$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    -	$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +	$LOGadmin_viewable_call_timesSQL='';
    +	$whereLOGadmin_viewable_call_timesSQL='';
    +	if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +		{
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    +		$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		}
    +
    +	$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {$MAIN.="$stmt\n";}
    +	$times_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $times_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$call_times[$i] =		$row[0];
    +		$call_time_names[$i] =	$row[1];
    +		$i++;
    +		}
    +	}
    +else 
    +	{
    +	$shift="24hours";
     	}
     
     $NOW_DATE = date("Y-m-d");
    @@ -140,6 +199,25 @@ $STARTtime = date("U");
     if (!isset($group)) {$group = '';}
     if (!isset($query_date)) {$query_date = $NOW_DATE;}
     if (!isset($end_date)) {$end_date = $NOW_DATE;}
    +$groups_selected = count($group);
    +$group_name_str="";
    +$groups_selected_str="";
    +$groups_selected_URLstr="";
    +for ($i=0; $i<$groups_selected; $i++) 
    +	{
    +	$selected_group_URLstr.="&group[]=$group[$i]";
    +	if ($group[$i]=="--ALL--") 
    +		{
    +		$group=array("--ALL--");
    +		$groups_selected=1;
    +		$group_name_str.="-- ALL INGROUPS --";
    +		$all_selected="selected";
    +		}
    +	else 
    +		{
    +		$groups_selected_str.="'$group[$i]', ";
    +		}
    +	}
     
     $stmt="select group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;";
     $rslt=mysql_query($stmt, $link);
    @@ -153,6 +231,26 @@ while ($i < $groups_to_print)
     	$groups[$i] =		$row[0];
     	$group_names[$i] =	$row[1];
     	$groups_string .= "$groups[$i]|";
    +	for ($j=0; $j<$groups_selected; $j++) {
    +		if ($group[$j] && $groups[$i]==$group[$j]) {$group_name_str.="$groups[$i] - $group_names[$i], ";}
    +		if ($group[$j]=="--ALL--") {$groups_selected_str.="'$groups[$i]', ";}
    +	}
    +	$i++;
    +	}
    +
    +$groups_selected_str=preg_replace('/, $/', '', $groups_selected_str);
    +$group_name_str=preg_replace('/, $/', '', $group_name_str);
    +
    +$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {$MAIN.="$stmt\n";}
    +$times_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $times_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$call_times[$i] =		$row[0];
    +	$call_time_names[$i] =	$row[1];
     	$i++;
     	}
     
    @@ -166,11 +264,11 @@ $HEADER.="   .orange {color: black; background-color: #FFCC99}\n";
     $HEADER.="-->\n";
     $HEADER.=" \n";
     
    -if (!preg_match("/\|$group\|/i",$groups_string))
    -	{
    -	$HEADER.="\n";
    -	$group='';
    -	}
    +#if (!preg_match("/\|$group\|/i",$groups_string))
    +#	{
    +#	$HEADER.="\n";
    +#	$group='';
    +#	}
     
     $HEADER.="\n";
     $HEADER.="\n";
    @@ -183,9 +281,9 @@ $short_header=1;
     
     # require("admin_header.php");
     
    -$MAIN.="
    "; - $MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    "; + $MAIN.=""; $MAIN.="\n"; -$MAIN.="\n"; +$MAIN.="\n"; $o=0; while ($groups_to_print > $o) { - if ($groups[$o] == $group) {$MAIN.="\n";} - else {$MAIN.="\n";} + $selected=""; + for ($i=0; $i<$groups_selected; $i++) { + echo "\n"; + if ($groups[$o] == $group[$i]) {$selected="selected";} + } + $MAIN.="\n"; $o++; } $MAIN.="\n"; @@ -225,26 +328,29 @@ $MAIN.="  "; $MAIN.="  "; -$MAIN.="\n"; -$MAIN.="\n"; -$MAIN.="           DESCARGAR | MODIFICAR | INFORMES
    Show hourly results
    \n"; -$MAIN.="\n\n"; + +if ($IDR_calltime_available==1) + { + $MAIN.="\n"; + } + +$MAIN.="
    Show hourly results
    Show disposition statuses
    Ignore after-hours calls
    DESCARGAR | MODIFICAR | INFORMES
    "; $MAIN.="
    \n\n";
     
     
    -if (!$group)
    +if ($groups_selected==0)
     	{
     	$MAIN.="\n\n";
     	$MAIN.="POR FAVOR SELECCIONE UN GRUPO EN EL PÁRRAFO ANTERIOR Y FECHA DE RANGO y haga clic en Enviar\n";
    @@ -256,94 +362,247 @@ if (!$group)
     else
     	{
     	### FOR SHIFTS IT IS BEST TO STICK TO 15-MINUTE INCREMENTS FOR START TIMES ###
    +	if ($shift && $shift!="ALL") {
    +		# call_time_id | call_time_name              | call_time_comments | ct_default_start | ct_default_stop | ct_sunday_start | ct_sunday_stop | ct_monday_start | ct_monday_stop | ct_tuesday_start | ct_tuesday_stop | ct_wednesday_start | ct_wednesday_stop | ct_thursday_start | ct_thursday_stop | ct_friday_start | ct_friday_stop | ct_saturday_start | ct_saturday_stop
    +		$big_shift_time_SQL_clause ="";
    +		$shift_stmt="select * from vicidial_call_times where call_time_id='$shift'";
    +		$shift_rslt=mysql_query($shift_stmt, $link);
    +		$shift_row=mysql_fetch_array($shift_rslt);
    +		$default_start_time=substr("0000".$shift_row["ct_default_start"], -4);
    +		$default_stop_time=substr("0000".$shift_row["ct_default_stop"], -4);
    +		$ct_default_start=substr($default_start_time,0,2).":".substr($default_start_time,2,2).":00";
    +		$ct_default_stop=substr($default_stop_time,0,2).":".substr($default_stop_time,2,2).":00";
     
    -	if ($shift == 'AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}   
    -		if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +		if ($shift_row["ct_sunday_start"]!=$shift_row["ct_sunday_stop"]) {
    +			$sunday_start_time=substr("0000".$shift_row["ct_sunday_start"], -4);
    +			$sunday_stop_time=substr("0000".$shift_row["ct_sunday_stop"], -4);
    +			$ct_sunday_start=substr($sunday_start_time,0,2).":".substr($sunday_start_time,2,2).":00";
    +			$ct_sunday_stop=substr($sunday_stop_time,0,2).":".substr($sunday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_sunday_start"]!="2400") {
    +			$ct_sunday_start=$ct_default_start;
    +			$ct_sunday_stop=$ct_default_stop;
    +		} else {
    +			$ct_sunday_start="00:00:00";
    +			$ct_sunday_stop=1;
     		}
    -	if ($shift == 'PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_sunday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_sunday_stop=$strow[0];
    +		$start_time_ary[0]=$ct_sunday_start;
    +		$stop_time_ary[0]=$ct_sunday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=0 and date_format(call_date, '%H:%i:%s')>='$ct_sunday_start' and date_format(call_date, '%H:%i:%s')<='$ct_sunday_stop') or ";
    +
    +		if ($shift_row["ct_monday_start"]!=$shift_row["ct_monday_stop"]) {
    +			$monday_start_time=substr("0000".$shift_row["ct_monday_start"], -4);
    +			$monday_stop_time=substr("0000".$shift_row["ct_monday_stop"], -4);
    +			$ct_monday_start=substr($monday_start_time,0,2).":".substr($monday_start_time,2,2).":00";
    +			$ct_monday_stop=substr($monday_stop_time,0,2).":".substr($monday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_monday_start"]!="2400") {
    +			$ct_monday_start=$ct_default_start;
    +			$ct_monday_stop=$ct_default_stop;
    +		} else {
    +			$ct_monday_start="00:00:00";
    +			$ct_monday_stop=1;
     		}
    -	if ($shift == 'ALL') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_monday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_monday_stop=$strow[0];
    +		$start_time_ary[1]=$ct_monday_start;
    +		$stop_time_ary[1]=$ct_monday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=1 and date_format(call_date, '%H:%i:%s')>='$ct_monday_start' and date_format(call_date, '%H:%i:%s')<='$ct_monday_stop') or ";
    +
    +		if ($shift_row["ct_tuesday_start"]!=$shift_row["ct_tuesday_stop"]) {
    +			$tuesday_start_time=substr("0000".$shift_row["ct_tuesday_start"], -4);
    +			$tuesday_stop_time=substr("0000".$shift_row["ct_tuesday_stop"], -4);
    +			$ct_tuesday_start=substr($tuesday_start_time,0,2).":".substr($tuesday_start_time,2,2).":00";
    +			$ct_tuesday_stop=substr($tuesday_stop_time,0,2).":".substr($tuesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_tuesday_start"]!="2400") {
    +			$ct_tuesday_start=$ct_default_start;
    +			$ct_tuesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_tuesday_start="00:00:00";
    +			$ct_tuesday_stop=1;
     		}
    -	if ($shift == 'DAYTIME') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_tuesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_tuesday_stop=$strow[0];
    +		$start_time_ary[2]=$ct_tuesday_start;
    +		$stop_time_ary[2]=$ct_tuesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=2 and date_format(call_date, '%H:%i:%s')>='$ct_tuesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_tuesday_stop') or ";
    +
    +		if ($shift_row["ct_wednesday_start"]!=$shift_row["ct_wednesday_stop"]) {
    +			$wednesday_start_time=substr("0000".$shift_row["ct_wednesday_start"], -4);
    +			$wednesday_stop_time=substr("0000".$shift_row["ct_wednesday_stop"], -4);
    +			$ct_wednesday_start=substr($wednesday_start_time,0,2).":".substr($wednesday_start_time,2,2).":00";
    +			$ct_wednesday_stop=substr($wednesday_stop_time,0,2).":".substr($wednesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_wednesday_start"]!="2400") {
    +			$ct_wednesday_start=$ct_default_start;
    +			$ct_wednesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_wednesday_start="00:00:00";
    +			$ct_wednesday_stop=1;
     		}
    -	if ($shift == '10AM-6PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_wednesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_wednesday_stop=$strow[0];
    +		$start_time_ary[3]=$ct_wednesday_start;
    +		$stop_time_ary[3]=$ct_wednesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=3 and date_format(call_date, '%H:%i:%s')>='$ct_wednesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_wednesday_stop') or ";
    +
    +		if ($shift_row["ct_thursday_start"]!=$shift_row["ct_thursday_stop"]) {
    +			$thursday_start_time=substr("0000".$shift_row["ct_thursday_start"], -4);
    +			$thursday_stop_time=substr("0000".$shift_row["ct_thursday_stop"], -4);
    +			$ct_thursday_start=substr($thursday_start_time,0,2).":".substr($thursday_start_time,2,2).":00";
    +			$ct_thursday_stop=substr($thursday_stop_time,0,2).":".substr($thursday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_thursday_start"]!="2400") {
    +			$ct_thursday_start=$ct_default_start;
    +			$ct_thursday_stop=$ct_default_stop;
    +		} else {
    +			$ct_thursday_start="00:00:00";
    +			$ct_thursday_stop=1;
     		}
    -	if ($shift == '9AM-1AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_thursday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_thursday_stop=$strow[0];
    +		$start_time_ary[4]=$ct_thursday_start;
    +		$stop_time_ary[4]=$ct_thursday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=4 and date_format(call_date, '%H:%i:%s')>='$ct_thursday_start' and date_format(call_date, '%H:%i:%s')<='$ct_thursday_stop') or ";
    +
    +		if ($shift_row["ct_friday_start"]!=$shift_row["ct_friday_stop"]) {
    +			$friday_start_time=substr("0000".$shift_row["ct_friday_start"], -4);
    +			$friday_stop_time=substr("0000".$shift_row["ct_friday_stop"], -4);
    +			$ct_friday_start=substr($friday_start_time,0,2).":".substr($friday_start_time,2,2).":00";
    +			$ct_friday_stop=substr($friday_stop_time,0,2).":".substr($friday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_friday_start"]!="2400") {
    +			$ct_friday_start=$ct_default_start;
    +			$ct_friday_stop=$ct_default_stop;
    +		} else {
    +			$ct_friday_start="00:00:00";
    +			$ct_friday_stop=1;
     		}
    -	if ($shift == '845-1745') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:44:59";}
    -		}
    -	if ($shift == '1745-100') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_friday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_friday_stop=$strow[0];
    +		$start_time_ary[5]=$ct_friday_start;
    +		$stop_time_ary[5]=$ct_friday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=5 and date_format(call_date, '%H:%i:%s')>='$ct_friday_start' and date_format(call_date, '%H:%i:%s')<='$ct_friday_stop') or ";
    +
    +		if ($shift_row["ct_saturday_start"]!=$shift_row["ct_saturday_stop"]) {
    +			$saturday_start_time=substr("0000".$shift_row["ct_saturday_start"], -4);
    +			$saturday_stop_time=substr("0000".$shift_row["ct_saturday_stop"], -4);
    +			$ct_saturday_start=substr($saturday_start_time,0,2).":".substr($saturday_start_time,2,2).":00";
    +			$ct_saturday_stop=substr($saturday_stop_time,0,2).":".substr($saturday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_saturday_start"]!="2400") {
    +			$ct_saturday_start=$ct_default_start;
    +			$ct_saturday_stop=$ct_default_stop;
    +		} else {
    +			$ct_saturday_start="00:00:00";
    +			$ct_saturday_stop=1;
     		}
    +		$stop_time_stmt="select TIMEDIFF('$ct_saturday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_saturday_stop=$strow[0];
    +		$start_time_ary[6]=$ct_saturday_start;
    +		$stop_time_ary[6]=$ct_saturday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=6 and date_format(call_date, '%H:%i:%s')>='$ct_saturday_start' and date_format(call_date, '%H:%i:%s')<='$ct_saturday_stop') or ";
     
    -	$time1 = strtotime($time_BEGIN);
    -	$time2 = strtotime($time_END)+1;
    +		$query_time_stmt="select date_format('$query_date', '%w'), date_format('$end_date', '%w')";
    +		$query_time_rslt=mysql_query($query_time_stmt, $link);
    +		$qrow=mysql_fetch_row($query_time_rslt);
    +		$time_BEGIN=$start_time_ary[$qrow[0]];
    +		$time_END=$stop_time_ary[$qrow[0]];
    +		#$time_BEGIN="00:00:00"; # Need this so the $SQepoch value can be tweaked per day (i.e. only adding the hours for the start time);
     
    -	$hpd = ceil(($time2 - $time1) / 3600);
    -	if ($hpd<0) {$hpd+=24;}
    +		$query_date_BEGIN = "$query_date ".$time_BEGIN;   
    +		$query_date_END = "$end_date ".$time_END;
    +		RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); # Only calling it here to get the DURATIONday, EQepoch, and intial SQepoch
    +		# Will be called repeatedly for each day
     
    +		$big_shift_time_SQL_clause=preg_replace('/\sor\s$/', '', $big_shift_time_SQL_clause);
    +		$big_shift_time_SQL_clause=" and ($big_shift_time_SQL_clause)";
    +		#echo $big_shift_time_SQL_clause;
    +		#print_r($start_time_ary); echo "
    "; + #print_r($stop_time_ary); echo "
    "; + } else { - $query_date_BEGIN = "$query_date $time_BEGIN"; - $query_date_END = "$end_date $time_END"; + if ($shift == 'ALL') + { + if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";} + if (strlen($time_END) < 6) {$time_END = "23:59:59";} + } - $SQdate_ARY = explode(' ',$query_date_BEGIN); - $SQday_ARY = explode('-',$SQdate_ARY[0]); - $SQtime_ARY = explode(':',$SQdate_ARY[1]); - $EQdate_ARY = explode(' ',$query_date_END); - $EQday_ARY = explode('-',$EQdate_ARY[0]); - $EQtime_ARY = explode(':',$EQdate_ARY[1]); + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; - $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); - - $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); - $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); - - $DURATIONsec = ($EQepoch - $SQepoch); - $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); - - if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) - { - $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); - $query_date_END = date("Y-m-d H:i:s", $EQepoch); - $DURATIONday++; - } + RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); + } $MAIN.="Inbound Daily Report $NOW_TIME\n"; - $MAIN.="Selected in-group: $group\n"; - $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END for $shift shift\n\n"; + $MAIN.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$MAIN.="Selected shift: $shift\n";} + $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END"; + if ($shift && $IDR_calltime_available) {$MAIN.="for $shift shift";} + $MAIN.="\n\n"; #echo "Time range day sec: $SQsec - $EQsec Day range in epoch: $SQepoch - $EQepoch Start: $SQepochDAY\n"; $CSV_text.="\"Inbound Daily Report\",\"$NOW_TIME\"\n"; - $CSV_text.="Selected in-group: $group\n"; - $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END for $shift shift\"\n\n"; + $CSV_text.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$CSV_text.="Selected shift: $shift\n";} + $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END\""; + if ($shift && $IDR_calltime_available) {$CSV_text.="for $shift shift";} + $CSV_text.="\n\n"; - $d=0; $q=0; $hr=0; + if ($show_disposition_statuses) { + $dispo_stmt="select distinct status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ") $big_shift_time_SQL_clause order by status;"; + #echo $dispo_stmt."
    "; + $dispo_rslt=mysql_query($dispo_stmt, $link); + $dispo_str=""; + $s=0; + while($dispo_row=mysql_fetch_row($dispo_rslt)) { + $status_array[$s][0]="$dispo_row[0]"; + $status_array[$s][1]=""; + $dispo_str.="'$dispo_row[0]',"; + $stat_stmt="select distinct status, status_name from vicidial_statuses where status='$dispo_row[0]' UNION select distinct status, status_name from vicidial_campaign_statuses where status='$dispo_row[0]' order by status;"; + #echo $stat_stmt."
    "; + $stat_rslt=mysql_query($stat_stmt, $link); + while ($stat_row=mysql_fetch_array($stat_rslt)) { + $status_array[$s][1]=$stat_row["status_name"]; + } + $s++; + } + $dispo_str=substr($dispo_str,0,-1); + asort($status_array); + #print_r($status_array); +# if (strlen($dispo_str)>0) { +# } + } + + $d=0; $q=0; $hr=0; $shift_hrs=0; while ($d < $DURATIONday) { - $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) ); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600)); + + if ($shift && $shift!="ALL" && $RECALC==1) + { + # Need to get current day, hours for that day (hpd) + $current_dayofweek=date("w", $dSQepoch); + $time_BEGIN=$start_time_ary[$current_dayofweek]; + $time_END=$stop_time_ary[$current_dayofweek]; + HourDifference($time_BEGIN, $time_END); # new hpd + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; + RecalculateEpochs($query_date_BEGIN, $query_date_END); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) + ($shift_hrs * 3600) ); + #echo " --- NEW DAY: $query_date_BEGIN / $query_date_END ---
    "; + $RECALC=0; + } + if ($hourly_breakdown) { @@ -351,17 +610,17 @@ else } else { - $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600) ) ); + $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600)) ); if ($EQsec < $SQsec) { $dEQepoch = ($dEQepoch + 86400); } } + #echo "$dSQepoch - $dEQepoch, ".date("Y-m-d H:i:s", $dSQepoch)." - ".date("Y-m-d H:i:s", $dEQepoch).", ".date("D", $dSQepoch)." - $hpd hours - shift starts at $shift_hrs:00:00
    "; $daySTART[$q] = date("Y-m-d H:i:s", $dSQepoch); $dayEND[$q] = date("Y-m-d H:i:s", $dEQepoch); - # || $time_END<=date("H:i:s", $dEQepoch) if ($hr>=($hpd-1) || !$hourly_breakdown) { $d++; @@ -370,6 +629,7 @@ else { $dayEND[$q] = date("Y-m-d ", $dEQepoch).$time_END; } + $RECALC=1; } else { @@ -467,11 +727,12 @@ else ### GRAB ALL RECORDS WITHIN RANGE FROM THE DATABASE ### - $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';"; + $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date,user from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ");"; $rslt=mysql_query($stmt, $link); if ($DB) {$ASCII_text.="$stmt\n";} $records_to_grab = mysql_num_rows($rslt); $i=0; + $fTOTAL_agents=array(); if($hourly_breakdown) {$epoch_interval=3600;} else {$epoch_interval=86400;} while ($i < $records_to_grab) { @@ -492,7 +753,8 @@ else $st[$i] = $row[3]; $tr[$i] = $row[4]; $at[$i] = $row[5]; # Actual time - + if ($row[6]!="VDCL" && $row[6]!="") {$ag[$i] = $row[6];} # Usuario + # $fTOTAL_agents["$row[6]"]++; # $ASCII_text.= "$qs[$i] | $dt[$i] - $row[1] | $ut[$i] | $ls[$i] | $st[$i] | $tr[$i] | $at[$i]\n"; $i++; @@ -529,12 +791,15 @@ else $totRESPUESTASdate=$MT; $totRESPUESTAS=0; + $totAGENTS=0; $totABANDONS=0; $totRESPUESTASsec=0; $totABANDONSsec=0; $totRESPUESTASspeed=0; + $totSTATUSES=array(); $FtotRESPUESTAS=0; + $FtotAGENTS=count(array_count_values($ag)); $FtotABANDONS=0; $FtotRESPUESTASsec=0; $FtotABANDONSsec=0; @@ -554,6 +819,7 @@ else $totRESPUESTASsecdate[$j]=0; $totRESPUESTASspeeddate[$j]=0; $i=0; + $agents_array=array(); while ($i < $records_to_grab) { if ( ($at[$i] >= $daySTART[$j]) and ($at[$i] <= $dayEND[$j]) ) @@ -565,6 +831,12 @@ else # $qrtCALLSsec[$j] = ($qrtCALLSsec[$j] + $ls[$i]); # $dtt = $dt[$i]; $totCALLSdate[$j]++; + # $totAGENTSdate[$j]=$ag[$i]; + if ($ag[$i]!="VDCL" && $ag[$i]!="") {$totAGENTSdate[$j][$ag[$i]]++;} + + $totSTATUSES[$st[$i]]++; + $totSTATUSESdate[$j][$st[$i]]++; + if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} if (ereg('ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS', $tr[$i])) @@ -577,10 +849,12 @@ else else { $totRESPUESTASdate[$j]++; - $totRESPUESTASsecdate[$j]+=($ls[$i]-$qs[$i]-15); + if (($ls[$i]-$qs[$i]-15)>0) { ## Patch by Joe J - can cause negative time values if removed. + $totRESPUESTASsecdate[$j]+=($ls[$i]-$qs[$i]-15); + $FtotRESPUESTASsec+=($ls[$i]-$qs[$i]-15); + } $totRESPUESTASspeeddate[$j]+=$qs[$i]; $FtotRESPUESTAS++; - $FtotRESPUESTASsec+=($ls[$i]-$qs[$i]-15); $FtotRESPUESTASspeeddate+=$qs[$i]; } if (ereg('DROP',$st[$i])) @@ -626,14 +900,37 @@ else ################################################### ### TOTALS SUMMARY SECTION ### - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |\n"; - $ASCII_text.="| SHIFT | CALLS | CALLS | CALLS | ABANDON | ABANDON | RESPUESTA | TALK | TALK | WRAP | CALL |\n"; - $ASCII_text.="| DATE-TIME RANGE | OFFERED | RESPUESTAED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"AVG\",\"AVG\",\"AVG\",\"TOTAL\",\"TOTAL\",\"TOTAL\"\n"; - $CSV_text.="\"\",\"CALLS\",\"CALLS\",\"CALLS\",\"ABANDON\",\"ABANDON\",\"RESPUESTA\",\"TALK\",\"TALK\",\"WRAP\",\"CALL\"\n"; - $CSV_text.="\"SHIFT DATE-TIME RANGE\",\"OFFERED\",\"RESPUESTAED\",\"ABANDONED\",\"PERCENT\",\"TIME\",\"SPEED\",\"TIME\",\"TIME\",\"TIME\",\"TIME\"\n"; + $MAINH="+-------------------------------------------+---------+----------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+"; + $MAIN1="| | TOTAL | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |"; + $MAIN2="| SHIFT | CALLS | CALLS | AGENTS | CALLS | ABANDON | ABANDON | RESPUESTA | TALK | TALK | WRAP | CALL |"; + $MAIN3="| DATE-TIME RANGE | OFFERED | RESPUESTAED | RESPUESTAED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |"; + $CSV_text1=""; + $CSV_text2=""; + $CSV_text3=""; + + for ($s=0; $sLLAMADAS TOTALES OFFERED
    LLAMADAS TOTALES RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $MTD_GRAPH="

    LLAMADAS TOTALES OFFEREDLLAMADAS TOTALES RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $WTD_GRAPH="

    LLAMADAS TOTALES OFFEREDLLAMADAS TOTALES RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $QTD_GRAPH="

    LLAMADAS TOTALES OFFEREDLLAMADAS TOTALES RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $GRAPH="
    LLAMADAS TOTALES OFFEREDLLAMADAS TOTALES RESPUESTAEDTOTAL AGENTS RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $MTD_GRAPH="

    LLAMADAS TOTALES OFFEREDLLAMADAS TOTALES RESPUESTAEDTOTAL AGENTS RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $WTD_GRAPH="

    LLAMADAS TOTALES OFFEREDLLAMADAS TOTALES RESPUESTAEDTOTAL AGENTS RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $QTD_GRAPH="

    LLAMADAS TOTALES OFFEREDLLAMADAS TOTALES RESPUESTAEDTOTAL AGENTS RESPUESTAEDLLAMADAS TOTALES ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RESPUESTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; $graph_header=""; $OFFERED_graph=$graph_header.""; $RESPUESTAED_graph=$graph_header.""; + $AGENTS_graph=$graph_header.""; $ABANDONED_graph=$graph_header.""; $ABANDONPCT_graph=$graph_header.""; $AVGABANDONTIME_graph=$graph_header.""; @@ -703,24 +1005,30 @@ else $totCALLSwtd=0; $totRESPUESTASwtd=0; + $totAGENTSwtd=0; $AGENTS_wtd_array=array(); $totRESPUESTASsecwtd=0; $totRESPUESTASspeedwtd=0; $totABANDONSwtd=0; $totABANDONSsecwtd=0; + $totSTATUSESwtd=array(); $totCALLSmtd=0; $totRESPUESTASmtd=0; + $totAGENTSmtd=0; $AGENTS_mtd_array=array(); $totRESPUESTASsecmtd=0; $totRESPUESTASspeedmtd=0; $totABANDONSmtd=0; $totABANDONSsecmtd=0; + $totSTATUSESmtd=array(); $totCALLSqtd=0; $totRESPUESTASqtd=0; + $totAGENTSqtd=0; $AGENTS_qtd_array=array(); $totRESPUESTASsecqtd=0; $totRESPUESTASspeedqtd=0; $totABANDONSqtd=0; $totABANDONSsecqtd=0; + $totSTATUSESqtd=array(); $d=0; while ($d < $TOTintervals) @@ -767,16 +1075,8 @@ else $totCALLSavgDATE[$d] = 0; $totTIME_MS=' '; } - /* - $totCALLSavgDATE[$d] = sprintf("%6.0f", $totCALLSavgDATE[$d]); - $totDROPSavgDATE[$d] = sprintf("%7.2f", $totDROPSavgDATE[$d]); - $totQUEUEavgDATE[$d] = sprintf("%7.2f", $totQUEUEavgDATE[$d]); - $totQUEUEtotDATE[$d] = sprintf("%7.2f", $totQUEUEtotDATE[$d]); - $totDROPSpctDATE[$d] = sprintf("%6.2f", $totDROPSpctDATE[$d]); - $totQUEUEpctDATE[$d] = sprintf("%6.2f", $totQUEUEpctDATE[$d]); - $totDROPSdate[$d] = sprintf("%6s", $totDROPSdate[$d]); - $totQUEUEdate[$d] = sprintf("%6s", $totQUEUEdate[$d]); - */ $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + if ($totCALLSdate[$d]>0) { @@ -828,6 +1128,7 @@ else if (date("w", strtotime($daySTART[$d]))==0 && date("w", strtotime($daySTART[$d-1]))!=0 && $d>0) { # 2nd date/"w" check is for DST + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); @@ -869,12 +1170,16 @@ else $wtd_graph_stats[$wa][14]=($totRESPUESTASsecwtd+($totRESPUESTASwtd*15)); $wtd_graph_stats[$wa][15]=$totRESPUESTASsecwtd; $totRESPUESTAStotTIMEwtd = sprintf("%10s", floor(($totRESPUESTASsecwtd+($totRESPUESTASwtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPUESTASsecwtd+($totRESPUESTASwtd*15))))); + # $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totRESPUESTASwtd = sprintf("%8s", $totRESPUESTASwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totRESPUESTASwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totRESPUESTASwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -894,21 +1199,33 @@ else $wtd_graph_stats[$wa][8]=trim($totRESPUESTAStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totRESPUESTASwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totRESPUESTAStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wa++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totRESPUESTASwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPUESTASavgspeedTIMEwtd | $totRESPUESTASavgTIMEwtd | $totRESPUESTAStalkTIMEwtd | $totRESPUESTASwrapTIMEwtd | $totRESPUESTAStotTIMEwtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPUESTASwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPUESTASavgspeedTIMEwtd\",\"$totRESPUESTASavgTIMEwtd\",\"$totRESPUESTAStalkTIMEwtd\",\"$totRESPUESTASwrapTIMEwtd\",\"$totRESPUESTAStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totRESPUESTASwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPUESTASavgspeedTIMEwtd | $totRESPUESTASavgTIMEwtd | $totRESPUESTAStalkTIMEwtd | $totRESPUESTASwrapTIMEwtd | $totRESPUESTAStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPUESTASwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPUESTASavgspeedTIMEwtd\",\"$totRESPUESTASavgTIMEwtd\",\"$totRESPUESTAStalkTIMEwtd\",\"$totRESPUESTASwrapTIMEwtd\",\"$totRESPUESTAStotTIMEwtd\""; + for ($s=0; $s0 && date("d", strtotime($daySTART[$d-1]))!=1) { + if (date("d", strtotime($daySTART[$d]))==1 && $d>0 && date("d", strtotime($daySTART[$d-1]))!=1) + { + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); if ($totCALLSmtd>0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -950,6 +1267,8 @@ else $mtd_graph_stats[$ma][14]=($totRESPUESTASsecmtd+($totRESPUESTASmtd*15)); $mtd_graph_stats[$ma][15]=$totRESPUESTASsecmtd; $totRESPUESTAStotTIMEmtd = sprintf("%10s", floor(($totRESPUESTASsecmtd+($totRESPUESTASmtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPUESTASsecmtd+($totRESPUESTASmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totRESPUESTASmtd = sprintf("%8s", $totRESPUESTASmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); @@ -957,6 +1276,7 @@ else if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totRESPUESTASmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totRESPUESTASmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} if (round($totRESPUESTASsecmtd/$totRESPUESTASmtd)>$max_mtd_avgtalktime) {$max_mtd_avgtalktime=round($totRESPUESTASsecmtd/$totRESPUESTASmtd);} if (trim($totRESPUESTASsecmtd)>$max_mtd_totaltalktime) {$max_mtd_totaltalktime=trim($totRESPUESTASsecmtd);} @@ -974,21 +1294,32 @@ else $mtd_graph_stats[$ma][8]=trim($totRESPUESTAStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totRESPUESTASwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totRESPUESTAStotTIMEmtd); + $mtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $ma++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| MTD | $totCALLSmtd | $totRESPUESTASmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRESPUESTASavgspeedTIMEmtd | $totRESPUESTASavgTIMEmtd | $totRESPUESTAStalkTIMEmtd | $totRESPUESTASwrapTIMEmtd | $totRESPUESTAStotTIMEmtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRESPUESTASmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRESPUESTASavgspeedTIMEmtd\",\"$totRESPUESTASavgTIMEmtd\",\"$totRESPUESTAStalkTIMEmtd\",\"$totRESPUESTASwrapTIMEmtd\",\"$totRESPUESTAStotTIMEmtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totRESPUESTASmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRESPUESTASavgspeedTIMEmtd | $totRESPUESTASavgTIMEmtd | $totRESPUESTAStalkTIMEmtd | $totRESPUESTASwrapTIMEmtd | $totRESPUESTAStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRESPUESTASmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRESPUESTASavgspeedTIMEmtd\",\"$totRESPUESTASavgTIMEmtd\",\"$totRESPUESTAStalkTIMEmtd\",\"$totRESPUESTASwrapTIMEmtd\",\"$totRESPUESTAStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1030,6 +1361,8 @@ else $qtd_graph_stats[$qa][14]=($totRESPUESTASsecqtd+($totRESPUESTASqtd*15)); $qtd_graph_stats[$qa][15]=$totRESPUESTASsecqtd; $totRESPUESTAStotTIMEqtd = sprintf("%10s", floor(($totRESPUESTASsecqtd+($totRESPUESTASqtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPUESTASsecqtd+($totRESPUESTASqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totRESPUESTASqtd = sprintf("%8s", $totRESPUESTASqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); @@ -1037,6 +1370,7 @@ else if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totRESPUESTASqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totRESPUESTASqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_answers) {$max_qtd_answered=trim($totAGENTSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} if (round($totRESPUESTASsecqtd/$totRESPUESTASqtd)>$max_qtd_avgtalktime) {$max_qtd_avgtalktime=round($totRESPUESTASsecqtd/$totRESPUESTASqtd);} if (trim($totRESPUESTASsecqtd)>$max_qtd_totaltalktime) {$max_qtd_totaltalktime=trim($totRESPUESTASsecqtd);} @@ -1067,20 +1401,40 @@ else $qtd_graph_stats[$qa][8]=trim($totRESPUESTAStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totRESPUESTASwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totRESPUESTAStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qa++; - $ASCII_text.="| QTD | $totCALLSqtd | $totRESPUESTASqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPUESTASavgspeedTIMEqtd | $totRESPUESTASavgTIMEqtd | $totRESPUESTAStalkTIMEqtd | $totRESPUESTASwrapTIMEqtd | $totRESPUESTAStotTIMEqtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPUESTASqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPUESTASavgspeedTIMEqtd\",\"$totRESPUESTASavgTIMEqtd\",\"$totRESPUESTAStalkTIMEqtd\",\"$totRESPUESTASwrapTIMEqtd\",\"$totRESPUESTAStotTIMEqtd\"\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totRESPUESTASqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPUESTASavgspeedTIMEqtd | $totRESPUESTASavgTIMEqtd | $totRESPUESTAStalkTIMEqtd | $totRESPUESTASwrapTIMEqtd | $totRESPUESTAStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPUESTASqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPUESTASavgspeedTIMEqtd\",\"$totRESPUESTASavgTIMEqtd\",\"$totRESPUESTAStalkTIMEqtd\",\"$totRESPUESTASwrapTIMEqtd\",\"$totRESPUESTAStotTIMEqtd\""; + for ($s=0; $s$max_offered) {$max_offered=trim($totCALLSdate[$d]);} if (trim($totRESPUESTASdate[$d])>$max_answered) {$max_answered=trim($totRESPUESTASdate[$d]);} + if (trim($totAGENTSday)>$max_agents) {$max_agents=trim($totAGENTSday);} if (trim($totABANDONSdate[$d])>$max_abandoned) {$max_abandoned=trim($totABANDONSdate[$d]);} if (trim($totABANDONSpctDATE[$d])>$max_abandonpct) {$max_abandonpct=trim($totABANDONSpctDATE[$d]);} @@ -1119,9 +1474,19 @@ else $graph_stats[$d][8]=trim($totRESPUESTAStalkTIME[$d]); $graph_stats[$d][9]=trim($totRESPUESTASwrapTIME[$d]); $graph_stats[$d][10]=trim($totRESPUESTAStotTIME[$d]); + $graph_stats[$d][17]=trim($totAGENTSday); - $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totRESPUESTASdate[$d] | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totRESPUESTASavgspeedTIME[$d] | $totRESPUESTASavgTIME[$d] | $totRESPUESTAStalkTIME[$d] | $totRESPUESTASwrapTIME[$d] | $totRESPUESTAStotTIME[$d] |\n"; - $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totRESPUESTASdate[$d]\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totRESPUESTASavgspeedTIME[$d]\",\"$totRESPUESTASavgTIME[$d]\",\"$totRESPUESTAStalkTIME[$d]\",\"$totRESPUESTASwrapTIME[$d]\",\"$totRESPUESTAStotTIME[$d]\"\n"; + $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totRESPUESTASdate[$d] | $totAGENTSday | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totRESPUESTASavgspeedTIME[$d] | $totRESPUESTASavgTIME[$d] | $totRESPUESTAStalkTIME[$d] | $totRESPUESTASwrapTIME[$d] | $totRESPUESTAStotTIME[$d] |"; + $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totRESPUESTASdate[$d]\",\"$totAGENTSday\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totRESPUESTASavgspeedTIME[$d]\",\"$totRESPUESTASavgTIME[$d]\",\"$totRESPUESTAStalkTIME[$d]\",\"$totRESPUESTASwrapTIME[$d]\",\"$totRESPUESTAStotTIME[$d]\""; + for ($s=0; $s0) { - if ($totCALLSwtd>0) + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); } @@ -1251,12 +1617,15 @@ else $wtd_graph_stats[$wa][14]=($totRESPUESTASsecwtd+($totRESPUESTASwtd*15)); $wtd_graph_stats[$wa][15]=$totRESPUESTASsecwtd; $totRESPUESTAStotTIMEwtd = sprintf("%10s", floor(($totRESPUESTASsecwtd+($totRESPUESTASwtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPUESTASsecwtd+($totRESPUESTASwtd*15))))); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totRESPUESTASwtd = sprintf("%8s", $totRESPUESTASwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totRESPUESTASwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totRESPUESTASwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -1277,8 +1646,10 @@ else $wtd_graph_stats[$wa][8]=trim($totRESPUESTAStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totRESPUESTASwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totRESPUESTAStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wtd_OFFERED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $OFFERED_graph); $wtd_RESPUESTAED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$RESPUESTAED_graph); + $wtd_AGENTS_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $AGENTS_graph); $wtd_ABANDONED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONED_graph); $wtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONPCT_graph); $wtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$AVGABANDONTIME_graph); @@ -1291,6 +1662,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($wtd_graph_stats)) {$class=" last";} else {$class="";} $wtd_OFFERED_graph.=" "; $wtd_RESPUESTAED_graph.=" "; + $wtd_AGENTS_graph.=" "; $wtd_ABANDONED_graph.=" "; $wtd_ABANDONPCT_graph.=" "; $wtd_AVGABANDONTIME_graph.=" "; @@ -1301,11 +1673,19 @@ else $wtd_TOTALCALLTIME_graph.=" "; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totRESPUESTASwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPUESTASavgspeedTIMEwtd | $totRESPUESTASavgTIMEwtd | $totRESPUESTAStalkTIMEwtd | $totRESPUESTASwrapTIMEwtd | $totRESPUESTAStotTIMEwtd |\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPUESTASwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPUESTASavgspeedTIMEwtd\",\"$totRESPUESTASavgTIMEwtd\",\"$totRESPUESTAStalkTIMEwtd\",\"$totRESPUESTASwrapTIMEwtd\",\"$totRESPUESTAStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totRESPUESTASwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRESPUESTASavgspeedTIMEwtd | $totRESPUESTASavgTIMEwtd | $totRESPUESTAStalkTIMEwtd | $totRESPUESTASwrapTIMEwtd | $totRESPUESTAStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRESPUESTASwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRESPUESTASavgspeedTIMEwtd\",\"$totRESPUESTASavgTIMEwtd\",\"$totRESPUESTAStalkTIMEwtd\",\"$totRESPUESTASwrapTIMEwtd\",\"$totRESPUESTAStotTIMEwtd\""; + for ($s=0; $s0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -1355,12 +1736,15 @@ else $mtd_graph_stats[$ma][14]=($totRESPUESTASsecmtd+($totRESPUESTASmtd*15)); $mtd_graph_stats[$ma][15]=$totRESPUESTASsecmtd; $totRESPUESTAStotTIMEmtd = sprintf("%10s", floor(($totRESPUESTASsecmtd+($totRESPUESTASmtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPUESTASsecmtd+($totRESPUESTASmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totRESPUESTASmtd = sprintf("%8s", $totRESPUESTASmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totRESPUESTASmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totRESPUESTASmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} @@ -1381,8 +1765,10 @@ else $mtd_graph_stats[$ma][8]=trim($totRESPUESTAStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totRESPUESTASwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totRESPUESTAStotTIMEmtd); + $wtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $mtd_OFFERED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$OFFERED_graph); $mtd_RESPUESTAED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$RESPUESTAED_graph); + $mtd_AGENTS_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE', $AGENTS_graph); $mtd_ABANDONED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONED_graph); $mtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONPCT_graph); $mtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$AVGABANDONTIME_graph); @@ -1395,6 +1781,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($mtd_graph_stats)) {$class=" last";} else {$class="";} $mtd_OFFERED_graph.=" "; $mtd_RESPUESTAED_graph.=" "; + $mtd_AGENTS_graph.=" "; $mtd_ABANDONED_graph.=" "; $mtd_ABANDONPCT_graph.=" "; $mtd_AVGABANDONTIME_graph.=" "; @@ -1405,6 +1792,7 @@ else $mtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSmtd+=$mtd_graph_stats[$q][1]; $graph_totRESPUESTASmtd+=$mtd_graph_stats[$q][2]; + $graph_totAGENTSmtd+=$mtd_graph_stats[$q][17]; $graph_totABANDONSmtd+=$mtd_graph_stats[$q][3]; $graph_totABANDONSpctmtd+=$mtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEmtd+=$mtd_graph_stats[$q][5]; @@ -1414,12 +1802,20 @@ else $graph_totRESPUESTASwrapTIMEmtd+=$mtd_graph_stats[$q][9]; $graph_totRESPUESTAStotTIMEmtd+=$mtd_graph_stats[$q][10]; } + + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totRESPUESTASmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRESPUESTASavgspeedTIMEmtd | $totRESPUESTASavgTIMEmtd | $totRESPUESTAStalkTIMEmtd | $totRESPUESTASwrapTIMEmtd | $totRESPUESTAStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRESPUESTASmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRESPUESTASavgspeedTIMEmtd\",\"$totRESPUESTASavgTIMEmtd\",\"$totRESPUESTAStalkTIMEmtd\",\"$totRESPUESTASwrapTIMEmtd\",\"$totRESPUESTAStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1468,12 +1865,15 @@ else $qtd_graph_stats[$qa][14]=($totRESPUESTASsecqtd+($totRESPUESTASqtd*15)); $qtd_graph_stats[$qa][15]=$totRESPUESTASsecqtd; $totRESPUESTAStotTIMEqtd = sprintf("%10s", floor(($totRESPUESTASsecqtd+($totRESPUESTASqtd*15))/3600).date(":i:s", mktime(0, 0, ($totRESPUESTASsecqtd+($totRESPUESTASqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totRESPUESTASqtd = sprintf("%8s", $totRESPUESTASqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totRESPUESTASqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totRESPUESTASqtd);} + if (trim($totAGENTSqtd)>$max_qtd_agents) {$max_qtd_agents=trim($totAGENTSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} @@ -1507,8 +1907,10 @@ else $qtd_graph_stats[$qa][8]=trim($totRESPUESTAStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totRESPUESTASwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totRESPUESTAStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qtd_OFFERED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$OFFERED_graph); $qtd_RESPUESTAED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$RESPUESTAED_graph); + $qtd_AGENTS_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AGENTS_graph); $qtd_ABANDONED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONED_graph); $qtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONPCT_graph); $qtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AVGABANDONTIME_graph); @@ -1521,6 +1923,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($qtd_graph_stats)) {$class=" last";} else {$class="";} $qtd_OFFERED_graph.=" "; $qtd_RESPUESTAED_graph.=" "; + $qtd_AGENTS_graph.=" "; $qtd_ABANDONED_graph.=" "; $qtd_ABANDONPCT_graph.=" "; $qtd_AVGABANDONTIME_graph.=" "; @@ -1531,6 +1934,7 @@ else $qtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSqtd+=$qtd_graph_stats[$q][1]; $graph_totRESPUESTASqtd+=$qtd_graph_stats[$q][2]; + $graph_totAGENTSqtd+=$qtd_graph_stats[$q][17]; $graph_totABANDONSqtd+=$qtd_graph_stats[$q][3]; $graph_totABANDONSpctqtd+=$qtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEqtd+=$qtd_graph_stats[$q][5]; @@ -1541,11 +1945,19 @@ else $graph_totRESPUESTAStotTIMEqtd+=$qtd_graph_stats[$q][10]; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| QTD | $totCALLSqtd | $totRESPUESTASqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPUESTASavgspeedTIMEqtd | $totRESPUESTASavgTIMEqtd | $totRESPUESTAStalkTIMEqtd | $totRESPUESTASwrapTIMEqtd | $totRESPUESTAStotTIMEqtd |\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPUESTASqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPUESTASavgspeedTIMEqtd\",\"$totRESPUESTASavgTIMEqtd\",\"$totRESPUESTAStalkTIMEqtd\",\"$totRESPUESTASwrapTIMEqtd\",\"$totRESPUESTAStotTIMEqtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totRESPUESTASqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRESPUESTASavgspeedTIMEqtd | $totRESPUESTASavgTIMEqtd | $totRESPUESTAStalkTIMEqtd | $totRESPUESTASwrapTIMEqtd | $totRESPUESTAStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRESPUESTASqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRESPUESTASavgspeedTIMEqtd\",\"$totRESPUESTASavgTIMEqtd\",\"$totRESPUESTAStalkTIMEqtd\",\"$totRESPUESTASwrapTIMEqtd\",\"$totRESPUESTAStotTIMEqtd\""; + for ($s=0; $s"; $RESPUESTAED_graph.=" "; + $AGENTS_graph.=" "; $ABANDONED_graph.=" "; $ABANDONPCT_graph.=" "; $AVGABANDONTIME_graph.=" "; @@ -1568,6 +1981,7 @@ else } $OFFERED_graph.="
    DAILY RPT - $query_date_BEGIN to $query_date_END
    DATE/TIME RANGELLAMADAS TOTALES OFFERED
    LLAMADAS TOTALES RESPUESTAED
    TOTAL AGENTS RESPUESTAED
    LLAMADAS TOTALES ABANDONED
    TOTAL ABANDON PERCENT
    AVG ABANDON TIME
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][1]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][2]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][17]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][3]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][4]."%
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][5]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][10]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][1]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][2]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][17]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][3]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][4]."%
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][5]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][10]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][1]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][2]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][17]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][3]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][4]."%
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][5]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][10]."
    ".$graph_stats[$q][1]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][2]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][17]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][3]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][4]."%
    ".$graph_stats[$q][0]."".$graph_stats[$q][5]."
    TOTAL:".trim($FtotCALLS)."
    "; $RESPUESTAED_graph.="
    TOTAL:".trim($FtotRESPUESTAS)."
    "; + $AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1580,6 +1994,7 @@ else $JS_text.="function DrawGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$OFFERED_graph\";\n"; $JS_text.=" var RESPUESTAED_graph=\"$RESPUESTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$AVGABANDONTIME_graph\";\n"; @@ -1600,6 +2015,7 @@ else $JS_text.="}\n"; $wtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $wtd_RESPUESTAED_graph.="
    TOTAL:".trim($FtotRESPUESTAS)."
    "; + $wtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $wtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $wtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $wtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1612,6 +2028,7 @@ else $JS_text.="function DrawWTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$wtd_OFFERED_graph\";\n"; $JS_text.=" var RESPUESTAED_graph=\"$wtd_RESPUESTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$wtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$wtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$wtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$wtd_AVGABANDONTIME_graph\";\n"; @@ -1632,6 +2049,7 @@ else $JS_text.="}\n"; $mtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $mtd_RESPUESTAED_graph.="
    TOTAL:".trim($FtotRESPUESTAS)."
    "; + $mtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $mtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $mtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $mtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1644,6 +2062,7 @@ else $JS_text.="function DrawMTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$mtd_OFFERED_graph\";\n"; $JS_text.=" var RESPUESTAED_graph=\"$mtd_RESPUESTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$mtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$mtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$mtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$mtd_AVGABANDONTIME_graph\";\n"; @@ -1664,6 +2083,7 @@ else $JS_text.="}\n"; $qtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $qtd_RESPUESTAED_graph.="
    TOTAL:".trim($FtotRESPUESTAS)."
    "; + $qtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $qtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $qtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $qtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1676,6 +2096,7 @@ else $JS_text.="function DrawQTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$qtd_OFFERED_graph\";\n"; $JS_text.=" var RESPUESTAED_graph=\"$qtd_RESPUESTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$qtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$qtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$qtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$qtd_AVGABANDONTIME_graph\";\n"; @@ -1694,12 +2115,41 @@ else $JS_text.=" var graph_to_display=eval(graph+\"_graph\");\n"; $JS_text.=" document.getElementById('QTD_stats_graph').innerHTML=graph_to_display;\n"; $JS_text.="}\n"; + $FtotAGENTS = sprintf("%8s", $FtotAGENTS); + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| TOTALS | $FtotCALLS | $FtotRESPUESTAS | $FtotAGENTS | $FtotABANDONS | $FtotABANDONSpct%| $FtotABANDONSavgTIME | $FtotRESPUESTASavgspeedTIME | $FtotRESPUESTASavgTIME | $FtotRESPUESTAStalkTIME | $FtotRESPUESTASwrapTIME | $FtotRESPUESTAStotTIME |"; + $CSV_text.="\"TOTALS\",\"$FtotCALLS\",\"$FtotRESPUESTAS\",\"$FtotAGENTS\",\"$FtotABANDONS\",\"$FtotABANDONSpct%\",\"$FtotABANDONSavgTIME\",\"$FtotRESPUESTASavgspeedTIME\",\"$FtotRESPUESTASavgTIME\",\"$FtotRESPUESTAStalkTIME\",\"$FtotRESPUESTASwrapTIME\",\"$FtotRESPUESTAStotTIME\""; + for ($s=0; $s 0) @@ -1777,18 +2228,139 @@ else flush(); echo "$CSV_text"; - - exit; } else { - echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + if ($file_download < 1) + {echo "\n";} + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + + +function HourDifference($time_BEGIN, $time_END) { + global $hpd; + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} +} + +function RecalculateEpochs($query_date_BEGIN, $query_date_END) { + global $query_date_BEGIN, $query_date_END, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + #$EQdate_ARY = explode(' ',$query_date_END); + #$EQday_ARY = explode('-',$EQdate_ARY[0]); + #$EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + #$EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + #$EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); +} + +function RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END) { + global $hpd, $query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END; + global $DURATIONday, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} + + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + $EQdate_ARY = explode(' ',$query_date_END); + $EQday_ARY = explode('-',$EQdate_ARY[0]); + $EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); + + if (!$DURATIONday) + { + $DURATIONsec = ($EQepoch - $SQepoch); + $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); + + if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) + { + $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); + $query_date_END = date("Y-m-d H:i:s", $EQepoch); + $DURATIONday++; + } + } +} ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_server_performance.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_server_performance.php index 22f804f1..ce272823 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_server_performance.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_server_performance.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0157 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -59,15 +62,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -88,6 +82,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -223,10 +246,10 @@ $TOTALcalls = sprintf("%10s", $row[0]); $OFFHOOKtime = sprintf("%10s", $row[1]); -echo "Total Calls in/out on this server: $TOTALcalls\n"; +echo "Total Calls in/out on this servidor: $TOTALcalls\n"; echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n"; -echo "Average/Peak channels in use for server: $AVGchannels / $HIGHchannels\n"; -echo "Average/Peak load for server: $AVGload / $HIGHload\n"; +echo "Average/Peak channels in use for servidor: $AVGchannels / $HIGHchannels\n"; +echo "Average/Peak load for servidor: $AVGload / $HIGHload\n"; echo "Average USER process cpu percentage: $AVGcpuUSER %\n"; echo "Average SYSTEM process cpu percentage: $AVGcpuSYSTEM %\n"; echo "Average IDLE process cpu percentage: $AVGcpuIDLE %\n"; @@ -397,6 +420,24 @@ echo ""; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_team_performance_detail.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_team_performance_detail.php index 1d57d584..e18da378 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_team_performance_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_team_performance_detail.php @@ -6,7 +6,7 @@ # QC statuses of QCFAIL, QCCANC and sales are defined by the Sale=Y status # flags being set on those statuses. # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 111104-1259 - Added user_group restrictions for selecting in-groups # 120224-1424 - Added new colums and PRECAL to System Time # 120307-1926 - Added additional statuses option and HTML display option +# 130414-0142 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,15 +73,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -104,6 +98,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -623,9 +646,9 @@ if ($ENVIAR=="ENVIAR") $j=0; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contactos | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contactos Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contactos Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; while ($user_row=mysql_fetch_array($user_rslt)) { $j++; @@ -1080,7 +1103,7 @@ if ($ENVIAR=="ENVIAR") $ASCII_text.="--- CALL CENTER TOTAL\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contactos | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contactos Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; $ASCII_text.=$GROUP_text; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; @@ -1186,7 +1209,7 @@ if ($ENVIAR=="ENVIAR") $ASCII_text.="\n"; $CSV_text.="\"\",\"CALL CENTER TOTAL\"\n"; - $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contactos Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; $CSV_text.=$GROUP_CSV_text; $CSV_text.="\"\",\"\",\"TOTALS:\",\"$total_calls\",\"$total_leads\",\"$total_contacts\",\"$total_contact_ratio %\",\"".sec_convert($total_nonpause_time,'H')."\",\"".sec_convert($total_system_time,'H')."\",\"".sec_convert($total_talk_time,'H')."\",\"$total_sales\",\"$sales_per_working_hours\",\"$total_sales_ratio\",\"$total_sale_contact_ratio\",\"$total_sales_per_hour\",\"$total_inc_sales\",\"$total_cnc_sales\",\"$total_callbacks\",\"$total_stcall\",\"$total_average_sale_time\",\"$total_average_contact_time\"$CSV_status_text\n"; for ($d=0; $d0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1327,4 +1348,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/AST_timeonVDADall.php b/agc_2-X/trunk/LANG_www/vicidial_es/AST_timeonVDADall.php index de703788..01ce6e9b 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/AST_timeonVDADall.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/AST_timeonVDADall.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -76,10 +76,14 @@ # 110314-1735 - Fixed another query that was causing load spikes on systems with millions of log entries # 111103-1220 - Added admin_hide_phone_data and admin_hide_lead_data options # 120223-1934 - Added user group options +# 120612-2150 - Added percentages to counts for carrier stats and TOTAL line to carrier display stats as well +# 121222-2151 - Added email status +# 130214-1323 - Added link to in-group selected users report for in-queue inbound calls +# 130424-1357 - Fixed issue with pause codes display # -$version = '2.4-67'; -$build = '120223-1934'; +$version = '2.6-70'; +$build = '130424-1357'; header ("Content-type: text/html; charset=utf-8"); @@ -1292,6 +1296,7 @@ if ($CARRIERstats > 0) $row=mysql_fetch_row($rslt); $TFhour_status[$ctp] = $row[0]; $TFhour_count[$ctp] = $row[1]; + $TFhour_total+=$row[1]; $dialstatuses .= "'$row[0]',"; $ctp++; } @@ -1320,6 +1325,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $SIXhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1338,6 +1344,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1356,6 +1363,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FTminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1374,6 +1382,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FIVEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1392,6 +1401,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1415,16 +1425,27 @@ if ($CARRIERstats > 0) $CARRIERstatsHTML .= "
         $TFhour_status[$print_ctp] $TFhour_count[$print_ctp] $SIXhour_count[$print_ctp] $ONEhour_count[$print_ctp] $FTminute_count[$print_ctp] $FIVEminute_count[$print_ctp] $ONEminute_count[$print_ctp]     $TFhour_status[$print_ctp] $TFhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($TFhour_count[$print_ctp]/$TFhour_total)))."% $SIXhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($SIXhour_count[$print_ctp]/$SIXhour_total)))."% $ONEhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEhour_count[$print_ctp]/$ONEhour_total)))."% $FTminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FTminute_count[$print_ctp]/$FTminute_total)))."% $FIVEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FIVEminute_count[$print_ctp]/$FIVEminute_total)))."% $ONEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEminute_count[$print_ctp]/$ONEminute_total)))."%
         TOTALS ".($TFhour_total+0)." ".($SIXhour_total+0)." ".($ONEhour_total+0)." ".($FTminute_total+0)." ".($FIVEminute_total+0)." ".($ONEminute_total+0)."
    Source Usuario:
    Fuente del usuario: $NWB#vicidial_campaigns-user_group$NWE
    Activo: $NWB#vicidial_campaigns-active$NWE
    Parque de la Música-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Parque de la Música-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Formulario Web: $NWB#vicidial_campaigns-web_form_address$NWE
    Franja horaria de llamada: $NWB#vicidial_campaigns-local_call_time$NWE
    Buzón de Voz: $NWB#vicidial_campaigns-voicemail_ext$NWE
    ID De la Lista: (Solamente dígitos)$NWB#vicidial_lists-list_id$NWE
    ID De la Lista: (Solamente dígitos)$NWB#vicidial_lists-list_id$NWE
    Nombre De la Lista: $NWB#vicidial_lists-list_name$NWE
    Descripción De la Lista: $NWB#vicidial_lists-list_description$NWE
    \n"; echo ""; @@ -9439,6 +10029,9 @@ if ($ADD==121) if ($ADD==171) { + ### filter for Letters DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^\n0-9a-zA-Z]","",$phone_numbers); + echo "\n"; + if ($SSallow_emails>0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; + echo "
    \n"; echo ""; @@ -9593,6 +10186,75 @@ if ($ADD==1111) if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} echo "
    Consiga El Lanzamiento De la Llamada: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Manejo de Grupo: $NWB#vicidial_inbound_groups-group_handling$NWE
    \n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } + +###################### +# ADD=1811 display the ADD NEW EMAIL GROUP SCREEN +###################### + +if ($ADD==1811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW EMAIL GROUP
    \n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + # echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $eswHTML=''; $cfwHTML=''; + if ($SSenable_second_webform > 0) + {$eswHTML = '';} + if ($SScustom_fields_enabled > 0) + {$cfwHTML = '';} + echo "\n"; echo "\n"; echo "
    ID De Grupo: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    ID De Grupo: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Nombre De Grupo: $NWB#vicidial_inbound_groups-group_name$NWE
    Color Del Grupo: $NWB#vicidial_inbound_groups-group_color$NWE
    Activo: $NWB#vicidial_inbound_groups-active$NWE
    Grupo de usuarios de administración: $NWB#vicidial_inbound_groups-user_group$NWE
    Formulario Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Buzón de Voz: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Siguiente Enviar un email: $NWB#vicidial_inbound_groups-next_agent_call$NWE
    Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Escritura: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Consiga El Lanzamiento De la Llamada: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    \n"; } @@ -9666,6 +10328,67 @@ if ($ADD==1211) } } +###################### +# ADD=1911 display the COPY EMAIL INBOUND GROUP SCREEN +###################### + +if ($ADD==1911) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    Copia por correo electrónico GRUPO\n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Email ID de grupo: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Email ID de grupo: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Email Nombre del grupo: $NWB#vicidial_inbound_groups-group_name$NWE
    Fuente Email ID de grupo: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } ###################### # ADD=1311 display the ADD NEW DID SCREEN @@ -10055,7 +10778,7 @@ if ($ADD==1111111) echo "
    Texto de la escritura: "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -10262,6 +10986,53 @@ if ($ADD==1111111111) } +###################### +# ADD=1211111111 display the ADD NEW HOLIDAY SCREEN +###################### + +if ($ADD==1211111111) + { + if ($LOGmodify_call_times==1) + { + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -22671,7 +24244,7 @@ if ($ADD==34) $rslt=mysql_query($stmt, $link); } - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group,allow_emails,call_count_limit from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $dial_status_a = $row[3]; @@ -22709,6 +24282,8 @@ if ($ADD==34) $drop_lockout_time = $row[116]; $display_leads_count = $row[130]; $user_group = $row[131]; + $allow_emails = $row[132]; + $call_count_limit = $row[133]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -22837,6 +24412,11 @@ if ($ADD==34) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) + { + echo "\n"; + } + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -23131,7 +24711,9 @@ if ($ADD==34) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $whereLOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -23141,7 +24723,7 @@ if ($ADD==34) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -23173,6 +24755,11 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; @@ -23180,7 +24767,7 @@ if ($ADD==34) $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; + echo ""; + + echo "
    AGREGUE EL NUEVO TIEMPO DE LA LLAMADA DEL ESTADO\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    Holiday ID: (sin espacios o signos de puntuación)$NWB#vicidial_call_times-holiday_id$NWE
    Nombre de vacaciones: (breve descripción de las vacaciones)$NWB#vicidial_call_times-holiday_name$NWE
    Vacaciones Comentarios: $NWB#vicidial_call_times-holiday_comments$NWE
    Holiday Fecha: $NWB#vicidial_call_times-holiday_date$NWE\n"; + echo "
    Grupo de usuarios de administración: $NWB#vicidial_call_times-user_group$NWE
    Opciones del día y la hora aparecerán una vez que se haya creado la definición vacaciones
    \n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } + + ###################### # ADD=131111111 display the ADD NEW SHIFT SCREEN ###################### @@ -10873,289 +11644,295 @@ if ($ADD==11111111111111) if ($ADD=="2") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    USUARIO NO AGREGADO - hay ya un usuario en el sistema con este número del usuario\n";} else { - if (ereg('AUTOGENERA',$user)) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - $user = 'AUTOGENERA'; - } - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) - { - echo "
    USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    el nombre completo y la contraseña deben ser por lo menos 2 caracteres de largo\n"; - echo "
    usted debe seleccionar un grupo de usuarios\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    USUARIO NO AGREGADO - hay ya un usuario en el sistema con este número del usuario\n";} else { if (ereg('AUTOGENERA',$user)) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) + { + echo "
    USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    el nombre completo y la contraseña deben ser por lo menos 2 caracteres de largo\n"; + echo "
    usted debe seleccionar un grupo de usuarios\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; + echo "
    EL USUARIOAÑADIDO: $user\n"; - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; $rslt=mysql_query($stmt, $link); - } - echo "
    EL USUARIOAÑADIDO: $user\n"; - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUARIOS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUARIOS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Activo'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Activo'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### + ### END vtiger integration } - ### END vtiger integration } } - $ADD=3; } @@ -11165,292 +11942,299 @@ if ($ADD=="2") if ($ADD=="2A") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    USUARIO NO AGREGADO - hay ya un usuario en el sistema con este número del usuario\n";} else { - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    el nombre completo y la contraseña deben ser por lo menos 2 caracteres de largo\n"; - echo "\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    USUARIO NO AGREGADO - hay ya un usuario en el sistema con este número del usuario\n";} else { - if (ereg('AUTOGEN',$user)) + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + echo "
    USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    el nombre completo y la contraseña deben ser por lo menos 2 caracteres de largo\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGEN',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; - - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); - } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; - $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUARIOS', event_type='COPY', record_id='$user', event_code='ADMIN USUARIO DEL COPY', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUARIOS', event_type='COPY', record_id='$user', event_code='ADMIN USUARIO DEL COPY', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Activo'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Activo'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } + ### END vtiger integration - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} + echo "
    USER COPIED: $user copied from $source_user_id\n"; + echo "

    \n"; + echo "Click here to go to the user record\n"; + echo "

    \n"; - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### } - ### END vtiger integration - - echo "
    USER COPIED: $user copied from $source_user_id\n"; - echo "

    \n"; - echo "Click here to go to the user record\n"; - echo "

    \n"; - } } exit; @@ -11462,76 +12246,83 @@ if ($ADD=="2A") if ($ADD==21) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAÚA NO AGREGADA - hay ya una campaña en el sistema con esta identificación\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPAÚA NO AGREGADA - hay ya una campaña en el sistema con esta identificación\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) - { - echo "
    CAMPAÚA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; - echo "
    el nombre de la campaña debe estar entre 6 y 40 caracteres en longitud\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAÑA AÑADIDA: $campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPAÚA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
    el nombre de la campaña debe estar entre 6 y 40 caracteres en longitud\n"; + } + else + { + echo "
    CAMPAÑA AÑADIDA: $campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA ', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA ', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11544,94 +12335,101 @@ if ($ADD==21) if ($ADD==20) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAÚA NO AGREGADA - hay ya una campaña en el sistema con esta identificación\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPAÚA NO AGREGADA - hay ya una campaña en el sistema con esta identificación\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) - { - echo "
    CAMPAÚA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; - echo "
    source la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPAÚA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
    source la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; + } + else + { + echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refrescar,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11644,41 +12442,48 @@ if ($ADD==20) if ($ADD==22) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESTADO de la CAMPAÚA - hay ya una campaña - estado NO AGREGADO en el sistema con este nombre\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ESTADO de la CAMPAÚA NO AGREGADO - hay ya un global-estado en el sistema con este nombre\n";} + {echo "
    ESTADO de la CAMPAÚA - hay ya una campaña - estado NO AGREGADO en el sistema con este nombre\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    ESTADO de la CAMPAÚA NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    el estado debe estar entre 1 y 8 caracteres en longitud\n"; - echo "
    el nombre del estado debe estar entre 2 y 30 caracteres en longitud\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESTADO de la CAMPAÚA NO AGREGADO - hay ya un global-estado en el sistema con este nombre\n";} else { - echo "
    ESTADO DE LA CAMPAÑA AÑADIDA: $campaign_id - $status_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    ESTADO de la CAMPAÚA NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    el estado debe estar entre 1 y 8 caracteres en longitud\n"; + echo "
    el nombre del estado debe estar entre 2 y 30 caracteres en longitud\n"; + } + else + { + echo "
    ESTADO DE LA CAMPAÑA AÑADIDA: $campaign_id - $status_id\n"; - $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA STATUS', event_sql=\"$SQL_log\", event_notes='Estado: $status_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA STATUS', event_sql=\"$SQL_log\", event_notes='Estado: $status_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -11693,38 +12498,45 @@ if ($ADD==22) if ($ADD==23) { - $HKstatus_data = explode('-----',$HKstatus); - $status = $HKstatus_data[0]; - $status_name = $HKstatus_data[1]; - - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) - { - echo "
    CAMPAÚA HOT KEY NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    hotkey must be a single character between 1 and 9 \n"; - echo "
    el estado debe estar entre 1 y 8 caracteres en longitud\n"; - } + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} else { - echo "
    ACCESO DIRECTO A LA CAMPAÑA AÑADIDO: $campaign_id - $status - $hotkey\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    CAMPAÚA HOT KEY NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    hotkey must be a single character between 1 and 9 \n"; + echo "
    el estado debe estar entre 1 y 8 caracteres en longitud\n"; + } + else + { + echo "
    ACCESO DIRECTO A LA CAMPAÑA AÑADIDO: $campaign_id - $status - $hotkey\n"; - $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA HOTKEY', event_sql=\"$SQL_log\", event_notes='Estado: $status|HotKey: $hotkey';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA HOTKEY', event_sql=\"$SQL_log\", event_notes='Estado: $status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=23; @@ -11738,36 +12550,43 @@ if ($ADD==23) if ($ADD==25) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    El PLOMO de la CAMPAÑA RECICLA NO AGREGADO - hay ya unconducir-reciclaje para esta campaña con este estado\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) - { - echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; - echo "
    la tentativa retrasa debe ser por lo menos 120 segundos y menos de 43.200 segundos o 12 horas\n"; - echo "
    las tentativas máximas deben ser a partir la 1 a 10\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    El PLOMO de la CAMPAÑA RECICLA NO AGREGADO - hay ya unconducir-reciclaje para esta campaña con este estado\n";} else { - echo "
    EL PLOMO DE LA CAMPAÑA RECICLA AGREGADO: $campaign_id - $status - $attempt_delay\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
    la tentativa retrasa debe ser por lo menos 120 segundos y menos de 43.200 segundos o 12 horas\n"; + echo "
    las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
    EL PLOMO DE LA CAMPAÑA RECICLA AGREGADO: $campaign_id - $status - $attempt_delay\n"; - $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Estado: $status';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Estado: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=25; @@ -11781,40 +12600,47 @@ if ($ADD==25) if ($ADD==26) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} else { - echo "
    ESTADO AUTO DEL DIAL DEL ALT AGREGADO: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
    ESTADO AUTO DEL DIAL DEL ALT AGREGADO: $campaign_id - $status\n"; - $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $auto_alt_dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA ALT DIAL', event_sql=\"$SQL_log\", event_notes='Estado: $auto_alt_dial_statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA ALT DIAL', event_sql=\"$SQL_log\", event_notes='Estado: $auto_alt_dial_statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=26; @@ -11828,34 +12654,41 @@ if ($ADD==26) if ($ADD==27) { - echo ""; - $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CÓDIGO DE LA PAUSA DEL AGENTE NO AGREGADO - hay ya una entrada para esta campaña con este code\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) - { - echo "
    CÓDIGO DE LA PAUSA DEL AGENTE NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    pause code must be between 1 and 6 characters in length\n"; - echo "
    pause nombre de código debe estar entre 2 y 30 caracteres de longitud\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CÓDIGO DE LA PAUSA DEL AGENTE NO AGREGADO - hay ya una entrada para esta campaña con este code\n";} else { - echo "
    EL CÓDIGO DE LA PAUSA DEL AGENTE AGREGÓ: $campaign_id - $pause_code - $pause_code_name\n"; + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    CÓDIGO DE LA PAUSA DEL AGENTE NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + echo "
    pause nombre de código debe estar entre 2 y 30 caracteres de longitud\n"; + } + else + { + echo "
    EL CÓDIGO DE LA PAUSA DEL AGENTE AGREGÓ: $campaign_id - $pause_code - $pause_code_name\n"; - $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Código De la Pausa: $pause_code';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Código De la Pausa: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=27; @@ -11869,40 +12702,47 @@ if ($ADD==27) if ($ADD==28) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESTADO DEL DIAL DE LA CAMPAÑA NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    ESTADO DEL DIAL DE LA CAMPAÑA NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESTADO DEL DIAL DE LA CAMPAÑA NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} else { - echo "
    EL ESTADO DEL DIAL DE LA CAMPAÑA AGREGÓ: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    ESTADO DEL DIAL DE LA CAMPAÑA NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
    EL ESTADO DEL DIAL DE LA CAMPAÑA AGREGÓ: $campaign_id - $status\n"; - $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Estado: $statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Estado: $statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } #$SUB=28; @@ -11915,37 +12755,44 @@ if ($ADD==28) ###################### if ($ADD==201) { - echo ""; - $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PRESET NO ESTÁ SUJETA - ya hay una entrada para esta campaña con este ajuste de\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) - { - echo "
    PRESET NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    preset name must be between 1 and 40 characters in length\n"; - echo "
    preset number must be between 2 and 50 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PRESET NO ESTÁ SUJETA - ya hay una entrada para esta campaña con este ajuste de\n";} else { - echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; + if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) + { + echo "
    PRESET NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    preset name must be between 1 and 40 characters in length\n"; + echo "
    preset number must be between 2 and 50 characters in length\n"; + } + else + { + echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; - $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; + $rslt=mysql_query($stmt, $link); - $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=201; @@ -11958,121 +12805,128 @@ if ($ADD==201) ###################### if ($ADD==202) { - echo ""; - if ($stage == 'ADD') + if ($add_copy_disabled > 0) { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CódigoÁrea CID NO ESTÁ SUJETA - ya hay una entrada para esta campaña con el CID
    \n";} - else - { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    CódigoÁrea CID NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó
    \n"; - } - else - { - echo "
    CódigoÁrea CID AGREGADOS: $campaign_id - $areacode - $outbound_cid
    \n"; - - $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - if ($stage == 'DELETE') + else { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    CódigoÁrea CID NO DELETED - esta entrada no existe
    \n";} - else + echo ""; + if ($stage == 'ADD') { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    CódigoÁrea CID NO DELETED - Vaya por favor detrás y mire los datos que usted incorporó
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CódigoÁrea CID NO ESTÁ SUJETA - ya hay una entrada para esta campaña con el CID
    \n";} else { - echo "
    CódigoÁrea CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    CódigoÁrea CID NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó
    \n"; + } + else + { + echo "
    CódigoÁrea CID AGREGADOS: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } - } - if ($stage == 'MODIFY') - { - $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; - $rslt=mysql_query($stmt, $link); - $accids_to_print = mysql_num_rows($rslt); - $o=0; - while ($accids_to_print > $o) + if ($stage == 'DELETE') { - $rowx=mysql_fetch_row($rslt); - $Xareacode[$o] = $rowx[0]; - $Xoutbound_cid[$o] = $rowx[1]; - $Xactive[$o] = $rowx[2]; - $Xcid_description[$o] = $rowx[3]; - $Xcall_count_today[$o] = $rowx[4]; - $o++; - } - - $o=0; - while ($accids_to_print > $o) - { - $Factive_value=''; - $Fcid_description_value=''; - $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; - $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; - - if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} - elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} - if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} - elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} - $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); - $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); - - # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; - - if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) - { - # echo "
    CódigoÁrea CID NOT MODIFIED - Vaya por favor detrás y mire los datos que usted incorporó
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    CódigoÁrea CID NO DELETED - esta entrada no existe
    \n";} else { - echo "CódigoÁrea CID MODIFICADO: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    CódigoÁrea CID NO DELETED - Vaya por favor detrás y mire los datos que usted incorporó
    \n"; + } + else + { + echo "
    CódigoÁrea CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; - $rslt=mysql_query($stmt, $link); + $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + if ($stage == 'MODIFY') + { + $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; + $rslt=mysql_query($stmt, $link); + $accids_to_print = mysql_num_rows($rslt); + $o=0; + while ($accids_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xareacode[$o] = $rowx[0]; + $Xoutbound_cid[$o] = $rowx[1]; + $Xactive[$o] = $rowx[2]; + $Xcid_description[$o] = $rowx[3]; + $Xcall_count_today[$o] = $rowx[4]; + $o++; + } + + $o=0; + while ($accids_to_print > $o) + { + $Factive_value=''; + $Fcid_description_value=''; + $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; + $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; + + if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} + elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} + if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} + elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} + $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); + $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); + + # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; + + if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) + { + # echo "
    CódigoÁrea CID NOT MODIFIED - Vaya por favor detrás y mire los datos que usted incorporó
    \n"; + } + else + { + echo "CódigoÁrea CID MODIFICADO: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + + $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + $o++; } - $o++; } } $SUB=202; @@ -12086,49 +12940,56 @@ if ($ADD==202) if ($ADD==211) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $list_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LISTA NO AGREGADA - hay ya una lista en el sistema con esta ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    LISTA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    La ID de la lista debe estar entre 2 y 8 caracteres en longitud\n"; - echo "
    El nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; - echo "
    ID De la Lista must be greater than 100\n"; + $row=mysql_fetch_row($rslt); + $list_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LISTA NO AGREGADA - hay ya una lista en el sistema con esta ID\n";} else { - echo "
    LISTA AÑADIDA: $list_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 19) ) + { + echo "
    LISTA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    La ID de la lista debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
    El nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; + echo "
    ID De la Lista must be greater than 100\n"; + } + else + { + echo "
    LISTA AÑADIDA: $list_id\n"; - $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311; @@ -12142,67 +13003,148 @@ if ($ADD==211) if ($ADD==2111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    La ID de grupo debe estar entre 2 y 20 caracteres en longitud y contener no ' -+'.\n"; - echo "
    El color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    La ID de grupo debe estar entre 2 y 20 caracteres en longitud y contener no ' -+'.\n"; + echo "
    El color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group','$group_handling');"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPO AÑADIDO: $group_id\n"; + echo "
    GRUPO AÑADIDO: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2811 adds the new EMAIL inbound group to the system +###################### + +if ( ($ADD==2811) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPO NO AGREGADO - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    La ID de grupo debe estar entre 2 y 20 caracteres en longitud y contener no ' -+'.\n"; + echo "
    El color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','EMAIL','','','','','','$user_group','EMAIL');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    EMAIL grupo añadió: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2011 adds copied inbound group to the system @@ -12210,67 +13152,148 @@ if ($ADD==2111) if ($ADD==2011) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    La ID de grupo debe estar entre 2 y 20 caracteres en longitud y contener no ' -+'.\n"; - echo "
    El color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id=\"$source_group_id\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    La ID de grupo debe estar entre 2 y 20 caracteres en longitud y contener no ' -+'.\n"; + echo "
    El color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPO AÑADIDO: $group_id\n"; + echo "
    GRUPO AÑADIDO: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN GRUPO DE ENTRADA DEL COPY', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN GRUPO DE ENTRADA DEL COPY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2911 adds copied inbound group to the system +###################### + +if ( ($ADD==2911) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPO NO AGREGADO - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    EMAIL GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Grupo ID de correo electrónico debe estar entre 2 y 20 caracteres de longitud y no contienen ' -+'.\n"; + echo "
    Email nombre del grupo y el color del grupo deben tener al menos 2 caracteres de longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    EMAIL grupo añadió: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN GRUPO DE ENTRADA DEL COPY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2311 adds the new did to the system @@ -12278,45 +13301,52 @@ if ($ADD==2011) if ($ADD==2311) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DIDNOT AÑADIDO - ya hay un DID en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { + echo ""; $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    DIDNOT AÑADIDO - ya hay un DID en el sistema con esta extensión\n";} + {echo "
    DIDNOT AÑADIDO - ya hay un DID en el sistema con este ID\n";} else { - if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) - { - echo "
    DIDNOT AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DIDNOT AÑADIDO - ya hay un DID en el sistema con esta extensión\n";} else - { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + { # or (eregi("\+",$did_pattern)) + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) ) + { + echo "
    DIDNOT AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; + echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12330,38 +13360,45 @@ if ($ADD==2311) if ($ADD==2411) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DIDNOT AÑADIDO - ya hay un DID en el sistema con esta extensión\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) - { - echo "
    DIDNOT AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DIDNOT AÑADIDO - ya hay un DID en el sistema con esta extensión\n";} else { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
    DIDNOT AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern - $did_id\n"; + echo "
    DID ADDED: $did_pattern - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPIA DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPIA DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3311; @@ -12374,61 +13411,68 @@ if ($ADD==2411) if ($ADD==2511) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL MENU NO AGREGADOS - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL MENU NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Identificación de llamada del menú no puede utilizar las palabras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL MENU NO AGREGADOS - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL MENU NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Llame Menú de identificación debe ser entre 2 y 50 caracteres de longitud y no contienen ' '.\n"; + echo "
    Identificación de llamada del menú no puede utilizar las palabras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + { + echo "
    CALL MENU NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Llame Menú de identificación debe ser entre 2 y 50 caracteres de longitud y no contienen ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    CALL AGREGADOS MENU: $menu_id $menu_name\n"; + echo "
    CALL AGREGADOS MENU: $menu_id $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12441,64 +13485,71 @@ if ($ADD==2511) if ($ADD==2611) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL MENU NO AGREGADOS - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL MENU NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Identificación de llamada del menú no puede utilizar las palabras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL MENU NO AGREGADOS - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL MENU NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Llame Menú de identificación debe ser entre 2 y 50 caracteres de longitud y no contienen ' '.\n"; + echo "
    Identificación de llamada del menú no puede utilizar las palabras reservadas: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id=\"$source_menu\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + { + echo "
    CALL MENU NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Llame Menú de identificación debe ser entre 2 y 50 caracteres de longitud y no contienen ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id=\"$source_menu\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; + $rslt=mysql_query($stmtA, $link); - echo "
    CALL AGREGADOS MENU: $menu_id - $menu_name\n"; + echo "
    CALL AGREGADOS MENU: $menu_id - $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtA"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtA"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12511,33 +13562,40 @@ if ($ADD==2611) if ($ADD==2711) { - echo ""; - $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TELÉFONO DEL GRUPO FILTRO NO ESTÁ SUJETA - ya hay un grupo de telefonía filtro en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) - { - echo "
    PHONE FILTER GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Teléfono ID de grupo del filtro debe ser entre 2 y 20 caracteres de longitud y no contienen ' '.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TELÉFONO DEL GRUPO FILTRO NO ESTÁ SUJETA - ya hay un grupo de telefonía filtro en el sistema con este ID\n";} else { - $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) + { + echo "
    PHONE FILTER GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Teléfono ID de grupo del filtro debe ser entre 2 y 20 caracteres de longitud y no contienen ' '.\n"; + } + else + { + $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    Group Teléfono filtro añadido: $filter_phone_group_id $filter_phone_group_name\n"; + echo "
    Group Teléfono filtro añadido: $filter_phone_group_id $filter_phone_group_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN AGREGUE EL FILTRO PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN AGREGUE EL FILTRO PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3711; @@ -12550,50 +13608,57 @@ if ($ADD==2711) if ($ADD==21111) { - echo ""; - $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AGENTES ALEJADOS NO AGREGADOS - hay ya una entrada alejada de los agentes comenzando con esta ID del usuario\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - ### check for a valid user that will be associated with this account - $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    AGENTES REMOTOS NOT ADDED - debe utilizar un usuario válido como el user_start de agentes remotos\n";} + if ($row[0] > 0) + {echo "
    AGENTES ALEJADOS NO AGREGADOS - hay ya una entrada alejada de los agentes comenzando con esta ID del usuario\n";} else { - ### check for closest remote agents to this account to ensure no overlapping - $user_finish = ($user_start + $number_of_lines); - $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + ### check for a valid user that will be associated with this account + $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AGENTES REMOTOS NOT ADDED - el número de líneas se superpone con otro agente remoto\n";} + if ($row[0] < 1) + {echo "
    AGENTES REMOTOS NOT ADDED - debe utilizar un usuario válido como el user_start de agentes remotos\n";} else { - if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) - { - echo "
    AGENTES ALEJADOS NO AGREGADOS - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    El comienzo de la ID del usuario y la extensión externa deben ser por lo menos 2 caracteres en longitud\n"; - } + ### check for closest remote agents to this account to ensure no overlapping + $user_finish = ($user_start + $number_of_lines); + $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    AGENTES REMOTOS NOT ADDED - el número de líneas se superpone con otro agente remoto\n";} else { - $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    AGENTES ALEJADOS NO AGREGADOS - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    El comienzo de la ID del usuario y la extensión externa deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); - echo "
    AGENTES REMOTO AÑADIDO: $user_start\n"; + echo "
    AGENTES REMOTO AÑADIDO: $user_start\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12608,38 +13673,45 @@ if ($ADD==21111) if ($ADD==22111) { - echo ""; - $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ENTRADA DE EXTENSIÓN DEL GRUPO NO ESTÁ SUJETA - ya hay una entrada de grupo de extensión con estos valores\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) - { - echo "
    ENTRADA DE EXTENSIÓN DEL GRUPO NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ENTRADA DE EXTENSIÓN DEL GRUPO NO ESTÁ SUJETA - ya hay una entrada de grupo de extensión con estos valores\n";} else { - $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) + { + echo "
    ENTRADA DE EXTENSIÓN DEL GRUPO NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $extension_id = $row[0]; + $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension_id = $row[0]; - echo "
    Entrada de extensión grupo añadió: $extension_id - $extension_group_id - $extension\n"; + echo "
    Entrada de extensión grupo añadió: $extension_id - $extension_group_id - $extension\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=12000; @@ -12652,147 +13724,154 @@ if ($ADD==22111) if ($ADD==211111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user_group = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO de USUARIO NO AGREGADO - hay ya una entrada del grupo de usuario con este nombre\n";} else { - if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    GRUPO de USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    El nombre y la descripción de grupo deben ser por lo menos 2 caracteres en longitud\n"; + $row=mysql_fetch_row($rslt); + $user_group = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPO de USUARIO NO AGREGADO - hay ya una entrada del grupo de usuario con este nombre\n";} else { - $allowed_user_group_insert_SQL = '---ALL---'; - $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; - # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups - if ($admin_viewable_groupsALL < 1) + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) { - $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; - $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); - $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; + echo "
    GRUPO de USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    El nombre y la descripción de grupo deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $allowed_user_group_insert_SQL = '---ALL---'; + $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; + # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups + if ($admin_viewable_groupsALL < 1) + { + $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; + $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); + $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; - $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + + $allowed_user_group_insert_SQL = " $user_group -"; + + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $allowed_campaign_insert_SQL = $LOGallowed_campaigns; + } + + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; $rslt=mysql_query($stmt, $link); - $allowed_user_group_insert_SQL = " $user_group -"; - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); - $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - } - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) - { - $allowed_campaign_insert_SQL = $LOGallowed_campaigns; - } + echo "
    GRUPO DE USUARIO AÑADIDO: $user_group\n"; - $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN NUEVO GRUPO DE USUARIO', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - - echo "
    GRUPO DE USUARIO AÑADIDO: $user_group\n"; - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN NUEVO GRUPO DE USUARIO', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} if (!$rslt) {die('Could not execute: ' . mysql_error());} $row=mysql_fetch_row($rslt); - $groupid = $row[0]; + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### } } } @@ -12805,47 +13884,54 @@ if ($ADD==211111) if ($ADD==2111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $script_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESCRITURA NO AGREGADA - hay ya una entrada de la escritura con este nombre\n";} else { - if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    ESCRITURA NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    El nombre, la descripción y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + $row=mysql_fetch_row($rslt); + $script_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESCRITURA NO AGREGADA - hay ya una entrada de la escritura con este nombre\n";} else { - $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    ESCRITURA AGREGADA: $script_id\n"; + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    ESCRITURA NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    El nombre, la descripción y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + echo "
    ESCRITURA AGREGADA: $script_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ESCRITURAS', event_type='ADD', record_id='$script_id', event_code='ADMIN AGREGUE LA ESCRITURA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='ESCRITURAS', event_type='ADD', record_id='$script_id', event_code='ADMIN AGREGUE LA ESCRITURA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=1000000; @@ -12858,48 +13944,55 @@ if ($ADD==2111111) if ($ADD==21111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $lead_filter_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    FILTRO NO AGREGADO - hay ya una entrada del filtro con esta identificación\n";} else { - if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    FILTRO NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Filtre la identificación, nombre y el SQL debe ser por lo menos 2 caracteres en longitud\n"; + $row=mysql_fetch_row($rslt); + $lead_filter_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    FILTRO NO AGREGADO - hay ya una entrada del filtro con esta identificación\n";} else { - $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    FILTRO NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Filtre la identificación, nombre y el SQL debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; + $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    EL FILTRO AGREGÓ: $lead_filter_id\n"; + if ($DB > 0) {echo "|$stmt|";} + echo "
    EL FILTRO AGREGÓ: $lead_filter_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTROS', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN AGREGUE EL FILTRO', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTROS', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN AGREGUE EL FILTRO', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=10000000; @@ -12912,34 +14005,41 @@ if ($ADD==21111111) if ($ADD==211111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificación\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) - { - echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    La identificación del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificación\n";} else { - $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    La identificación del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group',ct_state_call_times='',ct_holidays='';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    TIEMPO DE LA LLAMADA AGREGADO: $call_time_id\n"; + echo "
    TIEMPO DE LA LLAMADA AGREGADO: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111; @@ -12952,98 +14052,159 @@ if ($ADD==211111111) if ($ADD==2111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificación\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) - { - echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Indique que identificación del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificación\n";} else { - $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Indique que identificación del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    TIEMPO DE LA LLAMADA DEL ESTADO AGREGADO: $call_time_id\n"; + echo "
    TIEMPO DE LA LLAMADA DEL ESTADO AGREGADO: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111; } +###################### +# ADD=2211111111 adds new holiday definition to the system +###################### + +if ($ADD==2211111111) + { + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_call_time_holidays where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DEFINICIÓN DE VACACIONES NO AGREGADO - ya hay una entrada de fiesta con esta ID\n";} + else + { + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    DEFINICIÓN DE VACACIONES NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    ID vacaciones, el nombre y la fecha deben estar ocupados\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_time_holidays SET holiday_id='$holiday_id',holiday_name='$holiday_name',holiday_comments='$holiday_comments',holiday_date='$holiday_date',holiday_status='INACTIVE',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + + echo "
    HOLIDAY AÑADIDO: $holiday_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='ADD', record_id='$holiday_id', event_code='ADMIN ADD HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3211111111; + } + + ###################### # ADD=231111111 adds new shift definition to the system ###################### if ($ADD==231111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $shift_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    MAYÚS DEFINICIÓN NO AÑADIDO - ya hay un cambio de entrada con este ID\n";} else { - $shift_length_test = eregi_replace(':','',$shift_length); - if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    MAYÚS DEFINICIÓN NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Identificación y cambio de nombre debe ser al menos de 2 caracteres de longitud\n"; - echo "
    Hora de inicio cambio debe ser de 4 dígitos de longitud y una hora válida\n"; - echo "
    Longitud cambio debe ser de 5 caracteres de longitud y 24 horas o menos\n"; + $row=mysql_fetch_row($rslt); + $shift_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    MAYÚS DEFINICIÓN NO AÑADIDO - ya hay un cambio de entrada con este ID\n";} else { - $p=0; - $shift_weekdays_ct = count($shift_weekdays); - while ($p <= $shift_weekdays_ct) + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) { - $SHIFT_weekdays .= "$shift_weekdays[$p]"; - $p++; + echo "
    MAYÚS DEFINICIÓN NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Identificación y cambio de nombre debe ser al menos de 2 caracteres de longitud\n"; + echo "
    Hora de inicio cambio debe ser de 4 dígitos de longitud y una hora válida\n"; + echo "
    Longitud cambio debe ser de 5 caracteres de longitud y 24 horas o menos\n"; } - $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    MAYÚS AÑADIDO:$shift_id\n"; + echo "
    MAYÚS AÑADIDO:$shift_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111; @@ -13056,71 +14217,78 @@ if ($ADD==231111111) if ($ADD==21111111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $extension = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TELÉFONO NO AGREGADO - hay ya un teléfono en el sistema con esta extensión/servidor\n";} else { - $stmt="SELECT count(*) from phones where login='$login';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $extension = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - ya hay un teléfono en el sistema con esta información de acceso\n";} + {echo "
    TELÉFONO NO AGREGADO - hay ya un teléfono en el sistema con esta extensión/servidor\n";} else { - $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $stmt="SELECT count(*) from phones where login='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - ya existe un Teléfono de alias en el sistema con esta información de acceso\n";} + {echo "
    PHONE NOT ADDED - ya hay un teléfono en el sistema con esta información de acceso\n";} else { - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - there is already a ID de correo de voz in the system with this ID\n";} + {echo "
    PHONE NOT ADDED - ya existe un Teléfono de alias en el sistema con esta información de acceso\n";} else { - if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) - { - echo "
    TELÉFONO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    Los siguientes campos deben disponer de datos: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; - } + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a ID de correo de voz in the system with this ID\n";} else { - echo "
    EL TELÉFONO AGREGÚ\n"; + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + { + echo "
    TELÉFONO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    Los siguientes campos deben disponer de datos: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; + } + else + { + echo "
    EL TELÉFONO AGREGÚ\n"; - $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13136,37 +14304,44 @@ if ($ADD==21111111111) if ($ADD==22111111111) { - echo ""; - $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TELÉFONO ALIAS NO AÑADIDO - ya existe un alias de teléfono en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where login='$alias_id';"; + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    TELÉFONO ALIAS NO AÑADIDO - ya existe un Teléfono de inicio de sesión en el sistema con este ID\n";} + {echo "
    TELÉFONO ALIAS NO AÑADIDO - ya existe un alias de teléfono en el sistema con este ID\n";} else { - if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) - {echo "
    TELÉFONO ALIAS NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TELÉFONO ALIAS NO AÑADIDO - ya existe un Teléfono de inicio de sesión en el sistema con este ID\n";} else { - echo "
    TELÉFONO ALIAS AÑADIDO\n"; + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    TELÉFONO ALIAS NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    TELÉFONO ALIAS AÑADIDO\n"; - $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD TELÉFONO ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD TELÉFONO ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13180,34 +14355,41 @@ if ($ADD==22111111111) if ($ADD==23111111111) { - echo ""; - $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ALIAS GRUPO NO AÑADIDO - ya existe un alias de teléfono en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) - {echo "
    ALIAS GRUPO NO AÑADIDO - no puede usar palabras reservadas en el grupo de alias\n";} + echo ""; + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ALIAS GRUPO NO AÑADIDO - ya existe un alias de teléfono en el sistema con este ID\n";} else { - if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) - {echo "
    ALIAS GRUPO NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) + {echo "
    ALIAS GRUPO NO AÑADIDO - no puede usar palabras reservadas en el grupo de alias\n";} else { - echo "
    GRUPO DE ALIAS AÑADIDO\n"; + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    ALIAS GRUPO NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    GRUPO DE ALIAS AÑADIDO\n"; - $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13221,33 +14403,40 @@ if ($ADD==23111111111) if ($ADD==211111111111) { - echo ""; - $stmt="SELECT count(*) from servers where server_id='$server_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SERVIDOR NO AGREGADO - hay ya un servidor en el sistema con esta identificación\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) - {echo "
    SERVIDOR NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SERVIDOR NO AGREGADO - hay ya un servidor en el sistema con esta identificación\n";} else { - echo "
    SERVIDOR AGREGADO\n"; + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    SERVIDOR NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    SERVIDOR AGREGADO\n"; - $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111111; @@ -13260,51 +14449,58 @@ if ($ADD==211111111111) if ($ADD==221111111111) { - echo ""; - $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $MAXvicidial_trunks = $rowx[0]; - - $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); - - if ($SUMvicidial_trunks > $MAXvicidial_trunks) + if ($add_copy_disabled > 0) { - echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - hay ya un expediente del servidor-tronco para esta campaña\n";} + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) - { - echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    la campaña debe estar entre 3 y 8 caracteres en longitud\n"; - echo "
    el server_ip retrasa debe ser por lo menos 7 caracteres\n"; - echo "
    los troncos deben ser un dígito a partir de la 0 a 9999\n"; - } + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - hay ya un expediente del servidor-tronco para esta campaña\n";} else { - echo "
    EL EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL AGREGÓ: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
    el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + echo "
    los troncos deben ser un dígito a partir de la 0 a 9999\n"; + } + else + { + echo "
    EL EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL AGREGÓ: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; - $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVIDOR TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVIDOR TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13318,30 +14514,37 @@ if ($ADD==221111111111) if ($ADD==231111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONF PLANTILLA NO AÑADIDO - ya hay una plantilla en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if (strlen($template_id) < 2) - {echo "
    CONF PLANTILLA NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONF PLANTILLA NO AÑADIDO - ya hay una plantilla en el sistema con este ID\n";} else { - echo "
    CONF PLANTILLA AÑADIDO\n"; + if (strlen($template_id) < 2) + {echo "
    CONF PLANTILLA NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    CONF PLANTILLA AÑADIDO\n"; - $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111; @@ -13354,33 +14557,40 @@ if ($ADD==231111111111) if ($ADD==241111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TRANSPORTISTA NO AÑADIDO - ya existe un soporte en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    TRANSPORTISTA NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TRANSPORTISTA NO AÑADIDO - ya existe un soporte en el sistema con este ID\n";} else { - echo "
    CARRIER ADDED\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    TRANSPORTISTA NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    CARRIER ADDED\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13393,33 +14603,40 @@ if ($ADD==241111111111) if ($ADD==240111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TRANSPORTISTA NO AÑADIDO - ya existe un soporte en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    TRANSPORTISTA NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TRANSPORTISTA NO AÑADIDO - ya existe un soporte en el sistema con este ID\n";} else { - echo "
    CARRIER copiaban agregaban\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    TRANSPORTISTA NO AÑADIDO - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    CARRIER copiaban agregaban\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13432,30 +14649,37 @@ if ($ADD==240111111111) if ($ADD==251111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TTS entrada no AGREGADOS - ya hay una entrada de TTS en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) - {echo "
    TTS entrada no AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TTS entrada no AGREGADOS - ya hay una entrada de TTS en el sistema con este ID\n";} else { - echo "
    TTS añadido la entrada de\n"; + if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) + {echo "
    TTS entrada no AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    TTS añadido la entrada de\n"; - $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=351111111111; @@ -13468,30 +14692,37 @@ if ($ADD==251111111111) if ($ADD==261111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - ya hay una entrada en el Ministerio de Salud en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) - {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - ya hay una entrada en el Ministerio de Salud en el sistema con este ID\n";} else { - echo "
    MÚSICA EN ESPERA añadido la entrada de\n"; + if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) + {echo "
    MÚSICA EN ESPERA entrada no AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    MÚSICA EN ESPERA añadido la entrada de\n"; - $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=361111111111; @@ -13504,45 +14735,52 @@ if ($ADD==261111111111) if ($ADD==271111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Contestador NO AGREGADOS - ya existe un buzón de voz en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    Contestador NO AGREGADOS - ya hay un teléfono en el sistema de correo de voz con este ID\n";} + {echo "
    Contestador NO AGREGADOS - ya existe un buzón de voz en el sistema con este ID\n";} else { - if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) - {echo "
    Contestador NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n";} + $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Contestador NO AGREGADOS - ya hay un teléfono en el sistema de correo de voz con este ID\n";} else { - echo "
    Contestador AGREGADOS\n"; + if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) + {echo "
    Contestador NO AGREGADOS - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    Contestador AGREGADOS\n"; - $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT active_voicemail_server from system_settings;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $active_voicemail_server = $row[0]; + $stmt="SELECT active_voicemail_server from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13556,30 +14794,37 @@ if ($ADD==271111111111) if ($ADD==281111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ETIQUETA DE LA PANTALLA NO ESTÁ SUJETA - ya hay una etiqueta en el sistema con este ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) - {echo "
    ETIQUETA DE LA PANTALLA NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ETIQUETA DE LA PANTALLA NO ESTÁ SUJETA - ya hay una etiqueta en el sistema con este ID\n";} else { - echo "
    ETIQUETA DE LA PANTALLA ESTÁ SUJETA\n"; + if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) + {echo "
    ETIQUETA DE LA PANTALLA NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    ETIQUETA DE LA PANTALLA ESTÁ SUJETA\n"; - $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=381111111111; @@ -13592,38 +14837,45 @@ if ($ADD==281111111111) if ($ADD==291111111111) { - if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + if ($add_copy_disabled > 0) { - $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); - mysql_select_db("$SSalt_log_dbname", $linkALT); + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } - else - {$linkALT = $link;} - echo ""; - $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; - $rslt=mysql_query($stmt, $linkALT); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONTACTO NO ESTÁ SUJETA - ya hay un contacto en el sistema con este nombre y número\n";} else { - if (strlen($last_name) < 2) - {echo "
    CONTACTO NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n";} + if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + { + $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); + mysql_select_db("$SSalt_log_dbname", $linkALT); + } + else + {$linkALT = $link;} + echo ""; + $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; + $rslt=mysql_query($stmt, $linkALT); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONTACTO NO ESTÁ SUJETA - ya hay un contacto en el sistema con este nombre y número\n";} else { - echo "
    Contacto añadido\n"; + if (strlen($last_name) < 2) + {echo "
    CONTACTO NO ESTÁ SUJETA - Vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    Contacto añadido\n"; - $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; - $rslt=mysql_query($stmt, $linkALT); - $contact_id = mysql_insert_id($linkALT); + $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; + $rslt=mysql_query($stmt, $linkALT); + $contact_id = mysql_insert_id($linkALT); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=391111111111; @@ -13636,22 +14888,29 @@ if ($ADD==291111111111) if ($ADD==2111111111111) { - echo ""; - $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONFERENCIA NO AGREGADA - hay ya una conferencia en el sistema con esta identificación y servidor\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    CONFERENCIA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFERENCIA NO AGREGADA - hay ya una conferencia en el sistema con esta identificación y servidor\n";} else { - echo "
    LA CONFERENCIA AGREGÚ\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    CONFERENCIA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    LA CONFERENCIA AGREGÚ\n"; - $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111111; @@ -13664,22 +14923,29 @@ if ($ADD==2111111111111) if ($ADD==21111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    VICIDIAL CONFERENCIA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} else { - echo "
    VICIDIAL LA CONFERENCIA AGREGÚ\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL CONFERENCIA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
    VICIDIAL LA CONFERENCIA AGREGÚ\n"; - $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=31111111111111; @@ -13692,41 +14958,48 @@ if ($ADD==21111111111111) if ($ADD==221111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESTADO DE SISTEMA NO AGREGADO - there is already a campaign-status in the system with this name: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ESTADO DE SISTEMA NO AGREGADO - there is already a global-status in the system with this name\n";} + {echo "
    ESTADO DE SISTEMA NO AGREGADO - there is already a campaign-status in the system with this name: $row[0]\n";} else { - if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    ESTADO DE SISTEMA NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    el estado debe estar entre 1 y 8 caracteres en longitud\n"; - echo "
    el nombre del estado debe estar entre 2 y 30 caracteres en longitud\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESTADO DE SISTEMA NO AGREGADO - there is already a global-status in the system with this name\n";} else { - echo "
    EL ESTADO DE SISTEMA AGREGÓ: $status_name - $status_id\n"; + if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    ESTADO DE SISTEMA NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    el estado debe estar entre 1 y 8 caracteres en longitud\n"; + echo "
    el nombre del estado debe estar entre 2 y 30 caracteres en longitud\n"; + } + else + { + echo "
    EL ESTADO DE SISTEMA AGREGÓ: $status_name - $status_id\n"; - $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13740,43 +15013,50 @@ if ($ADD==221111111111111) if ($ADD==231111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CATEGORÍA DEL ESTADO NO AGREGADA - hay ya una categoría del estado en el sistema con estaidentificación: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } else { - if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) - { - echo "
    CATEGORÍA DEL ESTADO NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    La identificación debe estar entre 2 y 20 caracteres en longitud\n"; - echo "
    el nombre conocido debe estar entre 2 y 50 caracteres en longitud\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CATEGORÍA DEL ESTADO NO AGREGADA - hay ya una categoría del estado en el sistema con estaidentificación: $row[0]\n";} else { - echo "
    STATUS CATEGORÍA ADDED: $vsc_id - $vsc_name\n"; - - $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) { - $tovdad_display = 'N'; - echo "
    ERROR: Hay ya sistema de 4 categorías del estado a la exhibición deTimeOnVDAD\n"; + echo "
    CATEGORÍA DEL ESTADO NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    La identificación debe estar entre 2 y 20 caracteres en longitud\n"; + echo "
    el nombre conocido debe estar entre 2 y 50 caracteres en longitud\n"; } + else + { + echo "
    STATUS CATEGORÍA ADDED: $vsc_id - $vsc_name\n"; - $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; - $rslt=mysql_query($stmt, $link); + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    ERROR: Hay ya sistema de 4 categorías del estado a la exhibición deTimeOnVDAD\n"; + } - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATEGORÍA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATEGORÍA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111111; @@ -13787,41 +15067,7 @@ if ($ADD==231111111111111) ###################### # ADD=241111111111111 adds the new qc status code to the system ###################### - -if ($ADD==241111111111111) - { - echo ""; - $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CC Código de estado no se añade- ya hay una qc código de estado en el sistema con el nombre: $row[0]\n";} - else - { - if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) - { - echo "
    CC Código de estado no se añade- Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    código debe estar entre 1 y 8 caracteres de longitud\n"; - echo "
    nombre de código debe estar entre 2 y 30 caracteres de longitud\n"; - } - else - { - echo "
    CC Código AÑADIDO:$code_name - $code\n"; - - $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $ADD=341111111111111; - } +//Moved to qc/QC_status_codes_include.php include file @@ -13858,7 +15104,7 @@ if ($ADD=="4A") } echo "
    USUARIO MODIFICADO - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data' where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts' where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -14598,9 +15844,11 @@ if ($ADD==41) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $survey_camp_record_dir = '/home/survey'; $survey_dtmf_digits = '1238'; + $survey_wait_sec = '10'; $survey_first_audio_file = 'US_pol_survey_hello'; $survey_method = 'AGENT_XFER'; $survey_ni_audio_file = ''; @@ -14617,6 +15865,8 @@ if ($ADD==41) $call_count_target = '0'; $lead_order_randomize = 'N'; $lead_order_secondary = 'LEAD_ASCEND'; + $amd_inbound_group = ''; + $amd_callmenu = ''; } if ( (ereg('list_activation',$stage)) or (ereg('test_call',$stage)) ) { @@ -14683,13 +15933,17 @@ if ($ADD==41) else {$CIDstring = "$VqueryCID";} ### insert a NEW record to the vicidial_manager table to be processed - $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$SSactive_voicemail_server','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; + $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$old_server_ip','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; $rslt=mysql_query($stmtB, $link); ### insert a SENT record to the vicidial_auto_calls table - $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$SSactive_voicemail_server','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; + $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$old_server_ip','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; $rslt=mysql_query($stmtC, $link); + ### insert a record in the vicidial_dial_log table + $stmtD = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$old_server_ip',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $rslt=mysql_query($stmtD, $link); + ### LOG INSERTION Admin Log Table, for campaign ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -14830,7 +16084,7 @@ if ($ADD==41) if (strlen($groups_value)>2) {$groups_value .= " -";} } - $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refrescar='$campaign_stats_refrescar',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check' where campaign_id='$campaign_id';"; + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refrescar='$campaign_stats_refrescar',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check',in_group_dial='$in_group_dial',in_group_dial_select='$in_group_dial_select',safe_harbor_audio_field='$safe_harbor_audio_field',pause_after_next_call='$pause_after_next_call',owner_populate='$owner_populate',use_other_campaign_dnc='$use_other_campaign_dnc',allow_emails='$allow_emails',amd_inbound_group='$amd_inbound_group',amd_callmenu='$amd_callmenu' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmtA, $link); if ($reset_hopper == 'Y') @@ -15017,6 +16271,7 @@ if ($ADD==44) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $voicemail_ext = ''; } @@ -15280,7 +16535,7 @@ if ($ADD=='40A') { echo "
    ENCUESTA DE AJUSTES MODIFICADOS: $campaign_id\n"; - $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording' where campaign_id='$campaign_id';"; + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording',survey_wait_sec='$survey_wait_sec' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15464,37 +16719,44 @@ if ($ADD==49) ##### ADD a NEW list mix ##### if ($stage=='NEWMIX') { - echo ""; - - if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + if ($add_copy_disabled > 0) { - echo "
    MEZCLA DE LA LISTA NO AGREGADA- Vaya por favor detrás y mire los datos que usted incorporó\n"; - echo "
    vcl_id must be between 1 and 20 characters in length\n"; - echo "
    vcl_name must be at least 2 characters in length\n"; + echo "
    Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) { - echo "
    MEZCLA DE LA LISTA NO AGREGADA- Hay ya una mezcla de la lista con esta identificación en el sistema\n"; + echo "
    MEZCLA DE LA LISTA NO AGREGADA- Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name must be at least 2 characters in length\n"; } else { - $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    MEZCLA DE LA LISTA NO AGREGADA- Hay ya una mezcla de la lista con esta identificación en el sistema\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA LIST MIX', event_sql=\"$SQL_log\", event_notes='Mezcla lista: $vcl_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN NUEVA CAMPAÑA LIST MIX', event_sql=\"$SQL_log\", event_notes='Mezcla lista: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - echo "
    LA MEZCLA DE LA LISTA AGREGÓ:$campaign_id - $vcl_id - $vcl_name\n"; + echo "
    LA MEZCLA DE LA LISTA AGREGÓ:$campaign_id - $vcl_id - $vcl_name\n"; + } } } } @@ -15588,7 +16850,6 @@ if ($ADD==401) $stmt="UPDATE vicidial_xfer_presets SET preset_dtmf='$preset_dtmf',preset_number='$preset_number',preset_hide_number='$preset_hide_number' where campaign_id='$campaign_id' and preset_name='$preset_name';"; $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15655,12 +16916,19 @@ if ($ADD==411) else { if (strlen($reset_time) < 4) {$reset_time='';} + if (strlen($expiration_date) < 10) {$expiration_date='2099-12-31';} echo "
    LISTA MODIFICADA: $list_id\n"; - $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report' where list_id='$list_id';"; + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date' where list_id='$list_id';"; $rslt=mysql_query($stmt, $link); +## BEGIN QC Addition for Audited Comments + $stmt="INSERT INTO vicidial_lists_custom (audit_comments, list_id) VALUES ('" . mysql_real_escape_string($audit_comments) . "','$list_id') ON DUPLICATE KEY UPDATE audit_comments='" . mysql_real_escape_string($audit_comments) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} +## END QC Addition for Audited Comments + ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15705,7 +16973,7 @@ if ($ADD==411) # ADD=4111 modify in-group info in the system ###################### -if ($ADD==4111) +if ($ADD==4111 || $ADD==4811) { if ($SUB=='agents_select') { @@ -15867,7 +17135,7 @@ if ($ADD==4111) echo "
    GRUPO MODIFICADO: $group_id\n"; - $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action' where group_id='$group_id';"; + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid' where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15886,7 +17154,7 @@ if ($ADD==4111) exit; } } - $ADD=3111; # go to in-group modification form below + $ADD-=1000; #$ADD=3111; # go to in-group modification form below } @@ -15949,7 +17217,7 @@ if ($ADD==4511) { echo "
    CALL menú modificado: $menu_id\n"; - $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group' where menu_id='$menu_id';"; + $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group',qualify_sql='$qualify_sql' where menu_id='$menu_id';"; $rslt=mysql_query($stmt, $link); $h=0; @@ -16289,6 +17557,39 @@ if ($ADD==411111) } $allowed_reports = preg_replace("/,$/","",$new_field_value); + # update allowed_camapigns with values that the editor cant see http://www.vicidial.org/VICIDIALforum/viewtopic.php?f=5&t=26101 + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $changer_allowed_campaigns = preg_replace("/ -/",'',$LOGallowed_campaigns); + $changer_allowed_campaigns = explode(" ", $changer_allowed_campaigns); + + $stmt="SELECT allowed_campaigns FROM vicidial_user_groups WHERE user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $old_allowed_rows = mysql_num_rows($rslt); + if ($old_allowed_rows > 0) + { + $row=mysql_fetch_row($rslt); + $old_allowed = $row[0]; + } + if ( (!eregi("-ALL",$old_allowed)) ) + { + $invis_campaigns=""; + $campaigns_value = preg_replace("/ -/",'',$campaigns_value); + $old_allowed = preg_replace("/ -/",'',$old_allowed); + $old_allowed = explode(" ", $old_allowed); + + foreach ($old_allowed as $oac) + { + if (!in_array($oac, $changer_allowed_campaigns)) + { + $invis_campaigns .= "$oac "; + } + } + $campaigns_value .= " $invis_campaigns-"; + } + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement',agent_status_viewable_groups='$VGROUP_vgroups',agent_status_view_time='$agent_status_view_time',agent_call_log_view='$agent_call_log_view',agent_xfer_consultative='$agent_xfer_consultative',agent_xfer_dial_override='$agent_xfer_dial_override',agent_xfer_vm_transfer='$agent_xfer_vm_transfer',agent_xfer_blind_transfer='$agent_xfer_blind_transfer',agent_xfer_dial_with_customer='$agent_xfer_dial_with_customer',agent_xfer_park_customer_dial='$agent_xfer_park_customer_dial',agent_fullscreen='$agent_fullscreen',allowed_reports='$allowed_reports',webphone_url_override='" . mysql_real_escape_string($webphone_url_override) . "',webphone_systemkey_override='$webphone_systemkey_override',webphone_dialpad_override='$webphone_dialpad_override',admin_viewable_groups='$Vadmin_viewable_groups',admin_viewable_call_times='$Vadmin_viewable_call_times' where user_group='$OLDuser_group';"; $rslt=mysql_query($stmt, $link); @@ -16576,7 +17877,7 @@ if ($ADD==4111111111) $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } @@ -16590,6 +17891,48 @@ if ($ADD==4111111111) } +###################### +# ADD=4211111111 modify holiday in the system +###################### + +if ($ADD==4211111111) + { + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    VACACIONES NO MODIFICADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    ID vacaciones, el nombre y la fecha deben estar ocupados\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $stmt="UPDATE vicidial_call_time_holidays set holiday_name='$holiday_name', holiday_comments='$holiday_comments', holiday_date='$holiday_date', holiday_status='$holiday_status', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop',user_group='$user_group', default_afterhours_filename_override='$default_afterhours_filename_override' where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    HOLIDAY MODIFICADO\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='MODIFY', record_id='$holiday_id', event_code='ADMIN MODIFY HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + $ADD=3211111111; # go to holiday modification form below + } + + ###################### # ADD=431111111 modify shift in the system ###################### @@ -16664,7 +18007,7 @@ if ($ADD==41111111111) { echo "
    TELÉFONO MODIFICADO: $extension\n"; - $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refrescar='$enable_fast_refrescar', fast_refrescar_rate='$fast_refrescar_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where extension='$old_extension' and server_ip='$old_server_ip';"; + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refrescar='$enable_fast_refrescar', fast_refrescar_rate='$fast_refrescar_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where extension='$old_extension' and server_ip='$old_server_ip';"; $rslt=mysql_query($stmt, $link); $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; @@ -17115,15 +18458,18 @@ if ($ADD==471111111111) {echo "
    Contestador SIN MODIFICAR - Vaya por favor detrás y mire los datos que usted incorporó\n";} else { - $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where voicemail_id='$voicemail_id';"; + $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|";} $stmt="SELECT active_voicemail_server from system_settings;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $sounds_updateSQL=''; + if ($SSallow_voicemail_greeting > 0) {$sounds_updateSQL = ",sounds_update='Y'";} + $stmtA="UPDATE servers SET rebuild_conf_files='Y'$sounds_updateSQL where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; $rslt=mysql_query($stmtA, $link); echo "
    Contestador MODIFICADOS: $voicemail_id\n"; @@ -17334,7 +18680,7 @@ if ($ADD==411111111111111) } $tables_use_alt_log_db = preg_replace("/,$/","",$new_altlog_value); - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refrescar='$admin_modify_refrescar',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled';"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refrescar='$admin_modify_refrescar',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add';"; $rslt=mysql_query($stmt, $link); if ($reload_dialplan_on_servers > 0) @@ -17934,6 +19280,30 @@ if ($ADD==5111111111) $ADD='3111111111'; # go to state call time modification below } + +###################### +# ADD=5211111111 confirmation before deletion of holiday record +###################### + +if ($ADD==5211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY no se eliminan - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    ID de vacaciones debe ser de al menos 2 caracteres de longitud\n"; + } + else + { + echo "
    HOLIDAY ELIMINACIÓN DE CONFIRMACIÓN: $holiday_id\n"; + echo "

    Haz clic aquí para borrar vacaciones $holiday_id


    \n"; + } + + $ADD='3211111111'; # go to holiday modification below + } + + ###################### # ADD=531111111 confirmation before deletion of shift record ###################### @@ -19413,6 +20783,64 @@ if ($ADD==6111111111) } +###################### +# ADD=6211111111 delete holiday record +###################### + +if ($ADD==6211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY no se eliminan - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    ID de vacaciones debe ser de al menos 2 caracteres de longitud\n"; + } + else + { + $stmtA="DELETE from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="SELECT call_time_id,ct_holidays from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_ids[$o] = "$rowx[0]"; + $hct_holidays[$o] = "$rowx[1]"; + $o++; + } + $o=0; + while ($hct_to_print > $o) + { + $hct_holidays[$o] = eregi_replace("\|$holiday_id\|",'|',$hct_holidays[$o]); + $stmt="UPDATE vicidial_call_times set ct_holidays='$hct_holidays[$o]' where call_time_id='$hct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} + echo "Regla Holiday Eliminado: $hct_ids[$o]
    \n"; + $o++; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='DELETE', record_id='$holiday_id', event_code='ADMIN DELETE HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    ELIMINACIÓN DE VACACIONES COMPLETADO: $holiday_id\n"; + echo "

    \n"; + } + + $ADD='1200000000'; # go to holidays list + } + + ###################### # ADD=631111111 delete shift record ###################### @@ -19988,7 +21416,7 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -20181,6 +21611,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -20193,7 +21630,7 @@ if ($ADD==3) echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -20291,6 +21728,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -20388,7 +21832,7 @@ if ($ADD==31) $enable_vtiger_integration_LU = $row[0]; $vtiger_url_LU = $row[1]; - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $campaign_name = $row[1]; @@ -20595,6 +22039,16 @@ if ($ADD==31) $callback_list_calltime = $row[202]; $user_group = $row[203]; $hopper_vlc_dup_check = $row[204]; + $in_group_dial = $row[205]; + $in_group_dial_select = $row[206]; + $safe_harbor_audio_field = $row[207]; + $pause_after_next_call = $row[208]; + $owner_populate = $row[209]; + $use_other_campaign_dnc = $row[210]; + $allow_emails = $row[211]; + $amd_inbound_group = $row[212]; + $amd_callmenu = $row[213]; + $survey_wait_sec = $row[214]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -20748,6 +22202,7 @@ if ($ADD==31) $nxLOGadmin_viewable_groupsSQL = $LOGadmin_viewable_groupsSQL; if (strlen($xfer_groupsSQL) < 6) {$nxLOGadmin_viewable_groupsSQL = $whereLOGadmin_viewable_groupsSQL;} + ##### get in-groups listings for dynamic transfer group pulldown list menu $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL $nxLOGadmin_viewable_groupsSQL order by group_id;"; $rslt=mysql_query($stmt, $link); @@ -20772,6 +22227,54 @@ if ($ADD==31) else {$Xgroups_menu .= "\n";} + ##### get in-groups listings for dynamic AMD inbound group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $AMDgroups_to_print = mysql_num_rows($rslt); + $AMDgroups_menu=''; + $AMDgroups_selected=0; + $o=0; + while ($AMDgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDgroups_menu .= "\n"; + $o++; + } + if ($AMDgroups_selected < 1) + {$AMDgroups_menu .= "\n";} + else + {$AMDgroups_menu .= "\n";} + + ##### get callmenus listings for dynamic AMD callmenu pulldown list menu + $stmt="SELECT menu_id from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $AMDmenus_to_print = mysql_num_rows($rslt); + $AMDmenus_menu=''; + $AMDmenus_selected=0; + $o=0; + while ($AMDmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDmenus_menu .= "\n"; + $o++; + } + if ($AMDmenus_selected < 1) + {$AMDmenus_menu .= "\n";} + else + {$AMDmenus_menu .= "\n";} + ##### get agent screen label listings for dynamic pulldown list menu $stmt="SELECT label_id,label_name from vicidial_screen_labels where active='Y' $LOGadmin_viewable_groupsSQL order by label_id;"; $rslt=mysql_query($stmt, $link); @@ -20829,7 +22332,7 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -20872,10 +22375,10 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -20884,7 +22387,7 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-user_group$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSenable_second_webform > 0) { @@ -20892,7 +22395,14 @@ if ($ADD==31) } echo "\n"; echo "\n"; - + if ($SSallow_emails > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -21296,9 +22806,26 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-local_call_time$NWE\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) { - echo "\n"; + echo "\n"; } echo "\n"; @@ -21326,11 +22853,11 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21352,7 +22879,7 @@ if ($ADD==31) {$cfwHTML = '';} echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; } echo "\n"; @@ -21430,11 +22967,13 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -21479,7 +23020,9 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; if ($SSuser_territories_active > 0) { @@ -21491,7 +23034,7 @@ if ($ADD==31) else {$ASLlink = "$PHP_SELF?ADD=381111111111&label_id=$screen_labels";} echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21505,9 +23048,11 @@ if ($ADD==31) echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21521,6 +23066,10 @@ if ($ADD==31) echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -21630,7 +23179,7 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; if ($campaign_allow_inbound == 'Y') { @@ -21691,7 +23240,9 @@ if ($ADD==31) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -21701,7 +23252,7 @@ if ($ADD==31) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -21733,21 +23284,27 @@ if ($ADD==31) echo ""; + echo ""; echo "\n"; $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $user_id = $row[0]; @@ -20087,6 +21515,8 @@ if ($ADD==3) $modify_same_user_level = $row[95]; $admin_hide_lead_data = $row[96]; $admin_hide_phone_data = $row[97]; + $agentcall_email = $row[98]; + $modify_email_accounts = $row[99]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -20147,7 +21577,7 @@ if ($ADD==3) echo "
    Conexión Del Teléfono: $NWB#vicidial_users-phone_login$NWE
    Contraseña Del Teléfono: $NWB#vicidial_users-phone_pass$NWE
    Activo: $NWB#vicidial_users-active$NWE
    ID de correo de voz: voicemail chooser$NWB#vicidial_users-voicemail_id$NWE
    ID de correo de voz: selector de voz$NWB#vicidial_users-voicemail_id$NWE
    Correo electrónico:$NWB#vicidial_users-optional$NWE
    Usuario Code: $NWB#vicidial_users-optional$NWE
    Main Territorio: $NWB#vicidial_users-optional$NWE
    Servicios repetidos Programar: $NWB#vicidial_users-scheduled_callbacks$NWE
    Servicios repetidos Del Agente-Solamente: $NWB#vicidial_users-agentonly_callbacks$NWE
    Manual de la llamada del agente: $NWB#vicidial_users-agentcall_manual$NWE
    Agent Call Correo electrónico:$NWB#vicidial_users-agentcall_email$NWE
    Grabación de Vicidial: $NWB#vicidial_users-vicidial_recording$NWE
    Vicidial transfiere: $NWB#vicidial_users-vicidial_transfers$NWE
    Agente de Cambio observancia Sobrescribir: $NWB#vicidial_users-agent_shift_enforcement_override$NWE
    Agente de Registro de llamadas Ver anulación: $NWB#vicidial_users-agent_call_log_view_override$NWE
    Principal agente de búsqueda de anulación: $NWB#vicidial_users-agent_lead_search_override$NWE
    Principal agente de búsqueda de anulación: $NWB#vicidial_users-agent_lead_search_override$NWE
    Alerta Activado: $alert_enabled $NWB#vicidial_users-alert_enabled$NWE
    Modificar Mayúsculass: $NWB#vicidial_users-modify_sections$NWE
    ModificarMóviles: $NWB#vicidial_users-modify_sections$NWE
    ModificarTransportistas: $NWB#vicidial_users-modify_sections$NWE
    Modificar cuentas de correo electrónico: $NWB#vicidial_users-modify_email_accounts$NWE
    ModificarLabels: $NWB#vicidial_users-modify_sections$NWE
    ModificarEstados: $NWB#vicidial_users-modify_sections$NWE
    ModificarBuzón de Voz: $NWB#vicidial_users-modify_sections$NWE
    Lead RecyclingPlomo ReciclajeAuto Alt telefónicoMezcla listaEncuesta
    Descripción De la Campaña: $NWB#vicidial_campaigns-campaign_description$NWE
    Campaña Fecha de cambio: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Campaña Fecha de inicio de sesión: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Campaña Call Date: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    Campaña Call Fecha: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    \n"; - horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1); + horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1,'',''); echo "
    Activo: $NWB#vicidial_campaigns-active$NWE
    Parque de la Música-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Parque de la Música-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Formulario Web: $NWB#vicidial_campaigns-web_form_address$NWE
    Formulario web de destino: $NWB#vicidial_campaigns-web_form_target$NWE
    Permitir Closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Permitir mensajes de correo electrónico: $NWB#vicidial_campaigns-allow_emails$NWE
    Permita de entrada y mezclado:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    \n"; + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$local_call_time';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_state_call_times = $rowx[0]; + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + if ($ct_srs < 0) {$ct_hrs=0;} + echo "Normas estatales definidos para este tiempo de llamada: $ct_srs\n"; + } + else + {echo "Call time not found!: $local_call_time\n";} + echo "
    Tiempo de espera Del Dial: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
    Tiempo de espera Del Dial: en segundo$NWB#vicidial_campaigns-dial_timeout$NWE
    Prefijo al marcar: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
    Nombre de fichero De Rec De la Campaña: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
    La Registración Retrasa: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
    La Registración Retrasa: en segundo$NWB#vicidial_campaigns-allcalls_delay$NWE
    Llame a notas por llamada: $NWB#vicidial_campaigns-per_call_notes$NWE
    Agente de Búsqueda de plomo: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Agente de Búsqueda de plomo: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Plomo Agente Método de búsqueda: $NWB#vicidial_campaigns-agent_lead_search_method$NWE
    Consiga El Lanzamiento De la Llamada: $NWB#vicidial_campaigns-get_call_launch$NWE
    Mensaje del contestador automático: audio chooser $NWB#vicidial_campaigns-am_message_exten$NWE\n"; + echo "
    Mensaje del contestador automático: audio selector $NWB#vicidial_campaigns-am_message_exten$NWE\n"; $stmt="SELECT count(*) from vicidial_lists where campaign_id='$campaign_id' and am_message_exten_override != '' and active='Y' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $rowx=mysql_fetch_row($rslt); @@ -21364,9 +22891,19 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo "
    AMD envían a la VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    AMD envía a la Acción: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    CPD AMD Acción: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    CPD AMD Acción: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    AMD Entrante Grupo: $NWB#vicidial_campaigns-amd_inbound_group$NWE\n"; + echo "
    AMD Llame Menú: $NWB#vicidial_campaigns-amd_callmenu$NWE\n"; + echo "
    Transfiera -Conf DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Puerto Seguro Exten: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
    Safe Harbor de audio: audio chooser $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbor de audio: audio selector $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbor de audio Campo: $NWB#vicidial_campaigns-safe_harbor_audio_field$NWE
    Safe Harbor menú de llamadas: $NWB#vicidial_campaigns-safe_harbor_menu_id$NWE
    Buzón de Voz: voicemail chooser$NWB#vicidial_campaigns-voicemail_ext$NWE
    Buzón de Voz: selector de voz$NWB#vicidial_campaigns-voicemail_ext$NWE
    Grupo de Transferencia de caída:
    Campaña de uso Lista DNC: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
    Otros DNC Campaña: $NWB#vicidial_campaigns-use_other_campaign_dnc$NWE
    AgentCódigos De la PausaActivo: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
    Auto Pause antes de la llamada de trabajo: $NWB#vicidial_campaigns-auto_pause_precall$NWE
    N marcado Hopper: $NWB#vicidial_campaigns-no_hopper_dialing$NWE
    Único propietario de marcado: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Único propietario de marcado: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Propietario Rellenar: $NWB#vicidial_campaigns-owner_populate$NWE
    Las etiquetas de la pantalla del agente: $NWB#vicidial_campaigns-screen_labels$NWE
    Campos de la pantalla de estado: $NWB#vicidial_campaigns-status_display_fields$NWE
    Campos de la pantalla de estado: $NWB#vicidial_campaigns-status_display_fields$NWE
    Agente Mostrar cola Cuenta:$NWB#vicidial_campaigns-display_queue_count$NWE
    Agente de pausa después de cada llamada: $NWB#vicidial_campaigns-pause_after_each_call$NWE
    Pausa Agente Tras Siguiente Call Enlace: $NWB#vicidial_campaigns-pause_after_next_call$NWE
    Marcación manual de anulación: $NWB#vicidial_campaigns-manual_dial_override$NWE
    Identificación Manual De la Lista Del Dial:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Identificación Manual De la Lista Del Dial:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Manual de Acceso telefónico Filtro:$NWB#vicidial_campaigns-manual_dial_filter$NWE
    Mensaje Teléfono Diferencia de tiempo de alerta: $NWB#vicidial_campaigns-post_phone_time_diff_alert$NWE
    En Grupo Dial Manual: $NWB#vicidial_campaigns-in_group_dial$NWE
    En Grupo Manual Dial Select: $NWB#vicidial_campaigns-in_group_dial_select$NWE
    Agente de pantalla Portapapeles Copiar: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
    Ciegos Aviso monitor: $NWB#vicidial_campaigns-blind_monitor_message$NWE
    Nombre del Monitor de Ciegos: audio chooser $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    Nombre del Monitor de Ciegos: audio selector $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    NOMBRE DE LA LISTADESCRIPCIÓNENCABEZA COUNTACTIVOACTIVOÚLTIMA FECHA DE CONVOCATORIAMODIFICAR
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]MODIFICAR

    \n"; $filterSQL = $filtersql_list[$lead_filter_id]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -21806,7 +23363,7 @@ if ($ADD==31) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -21964,6 +23521,18 @@ if ($ADD==31) { if ( ($SStest_campaign_calls > 0) and ($campaign_active == 'Y') ) { + ##### get list of active asterisk server for dynamic pulldown list menu + $stmt="SELECT server_id,server_ip from servers where active='Y' and active_asterisk_server='Y' $LOGadmin_viewable_groupsSQL order by server_id;"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_menu="\n"; + $os=0; + while ($servers_to_print > $os) + { + $rowx=mysql_fetch_row($rslt); + $servers_menu .= "\n"; + $os++; + } echo "
    \n"; echo "\n"; echo "\n"; @@ -21976,8 +23545,9 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "Prueba de llamadas salientes: "; - echo "code:   "; - echo "number:   "; + echo "code:   "; + echo "Número:   "; + echo "servidor:   "; echo "   $NWB#settings-test_campaign_calls$NWE


    \n"; } else @@ -22169,8 +23739,10 @@ if ($ADD==31) echo "   \n"; echo "Estado:   \n"; echo "
    \n"; echo "
    \n"; @@ -22446,29 +24018,30 @@ if ($ADD==31) echo "
    \n"; echo "\n"; - echo "
    Primera encuesta de archivo de audio: audio chooser $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Primera encuesta de archivo de audio: audio selector $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Encuesta dígitos DTMF: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
    No encuesta interesadas dígitos: $NWB#vicidial_campaigns-survey_ni_digit$NWE
    Encuesta de Opt-in de archivos de audio: audio chooser $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    No encuesta interesadas archivo de audio: audio chooser $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Encuesta Espere segundos: $NWB#vicidial_campaigns-survey_wait_sec$NWE
    Encuesta de Opt-in de archivos de audio: audio selector $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    No encuesta interesadas archivo de audio: audio selector $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Método de estudio: $NWB#vicidial_campaigns-survey_method$NWE
    Estudio n-Respuesta de acción: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Estudio n-Respuesta de acción: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Estudio de estado no le interesa: $NWB#vicidial_campaigns-survey_ni_status$NWE
    Encuesta tercer dígito: $NWB#vicidial_campaigns-survey_third_digit$NWE
    Tercera Encuesta de archivos de audio: audio chooser $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Tercera Encuesta de archivos de audio: audio selector $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Tercera Encuesta de Situación: $NWB#vicidial_campaigns-survey_third_status$NWE
    Tercer Estudio de Extensión: $NWB#vicidial_campaigns-survey_third_exten$NWE
    Digit Cuarta Encuesta: $NWB#vicidial_campaigns-survey_fourth_digit$NWE
    Cuarta Encuesta Archivo de audio: audio chooser $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Cuarta Encuesta Archivo de audio: audio selector $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Situación Cuarta Encuesta: $NWB#vicidial_campaigns-survey_fourth_status$NWE
    Encuesta cuarta prórroga: $NWB#vicidial_campaigns-survey_fourth_exten$NWE
    Respuesta encuesta dígitos Mapa: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
    Encuesta Encuesta Xfer Extensión: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
    Estudio de grabación Campaña Directorio: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
    Buzón de Voz: voicemail chooser $NWB#vicidial_campaigns-voicemail_ext$NWE
    Buzón de Voz: selector de voz $NWB#vicidial_campaigns-voicemail_ext$NWE
    Encuesta del menú de llamadas: $NWB#vicidial_campaigns-survey_menu_id$NWE
    Estudio de grabación: $NWB#vicidial_campaigns-survey_recording$NWE
    Formulario Web: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
    Permitir Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
    Grupo De la Transferencia Del Defecto:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
    Permitir mensajes de correo electrónico: $allow_emails $NWB#vicidial_campaigns-allow_emails$NWE
    Permita de entrada y mezclado:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    NOMBRE DE LA LISTADESCRIPCIÓNENCABEZA COUNTACTIVOACTIVOÚLTIMA FECHA DE CONVOCATORIAMODIFICAR
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]MODIFICAR

    \n"; echo "
    \n"; @@ -23188,7 +24775,7 @@ if ($ADD==34) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -24156,8 +25743,9 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + + echo "\n"; + + if($audit_comments=='1') { + echo "\n"; + } else { + echo "\n"; + } echo "\n"; echo "\n"; @@ -24284,7 +25904,7 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report from vicidial_lists where list_id='$list_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} $row=mysql_fetch_row($rslt); $list_name = $row[1]; $campaign_id = $row[2]; @@ -24179,6 +25767,9 @@ if ($ADD==311) $web_form_address_two = $row[18]; $time_zone_setting = $row[19]; $inventory_report = $row[20]; + $audit_comments = $row[21]; + $expiration_date = $row[22]; + $expiration_dateINT = $row[23]; # grab names of global statuses and statuses in the selected campaign $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; @@ -24247,7 +25838,7 @@ if ($ADD==311) {$Dgroups_menu .= "\n";} - echo "
    MODIFICAR UN REGISTRO DE LAS LISTAS: $list_id
    \n"; + echo "
    MODIFICAR UN REGISTRO DE LAS LISTAS: $list_id\n"; echo "\n"; echo "\n"; echo "\n"; @@ -24271,9 +25862,38 @@ if ($ADD==311) echo "$campaigns_list"; echo "\n"; echo "$NWB#vicidial_lists-campaign_id$NWE
    Activo: $NWB#vicidial_lists-active$NWE
    Activo: $NWB#vicidial_lists-active$NWE \n"; + if ( ($expiration_dateINT < $EXPtestdate) and ($active == 'Y') ) + {echo "     LISTA DE VENCIDO Y PUESTA EN ACTIVO";} + echo "
    Reiniciar el Lead-Called-Status para esta lista: $NWB#vicidial_lists-reset_list$NWE
    Perdí Times: $NWB#vicidial_lists-reset_time$NWE
    Fecha de vencimiento: \n"; + echo " $NWB#vicidial_lists-expiration_date$NWE \n"; + if ($expiration_dateINT < $EXPtestdate) + { + if ($active == 'Y') + {echo "     LISTA DE VENCIDO Y PUESTA EN ACTIVO";} + else + {echo "     LIST EXPIRED";} + } + echo "
    Auditoría Comentarios: $NWB#vicidial_lists-audit_comments$NWE
    Auditoría Comentarios: $NWB#vicidial_lists-audit_comments$NWE
    Fecha Del Cambio De la Lista: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    Última Fecha de lista de llamadas: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    Campaña CID Override: $NWB#vicidial_lists-campaign_cid_override$NWE
    Contestador automático de mensajes Override: audio chooser $NWB#vicidial_lists-am_message_exten_override$NWE
    Contestador automático de mensajes Override: audio selector $NWB#vicidial_lists-am_message_exten_override$NWE
    Drop de entrada Grupo de Override: \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25361,7 +27000,7 @@ if ($ADD==3111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25381,21 +27020,21 @@ if ($ADD==3111) echo "$Wmenuslist"; echo "$NWB#vicidial_inbound_groups-wait_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25415,23 +27054,23 @@ if ($ADD==3111) echo "$Xmenuslist"; echo "$NWB#vicidial_inbound_groups-hold_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25464,6 +27103,8 @@ if ($ADD==3111) echo "$group_alias_menu"; echo "$NWB#vicidial_inbound_groups-default_group_alias$NWE\n"; + echo "\n"; + echo "\n"; @@ -25890,6 +27531,708 @@ if ($ADD==3111) +###################### +# ADD=3811 modify in-group info in the system +###################### + +if ($ADD==3811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3811&group_id=$group_id"; + $modify_footer_refrescar=1; + } + echo "
    \n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -25016,6 +26636,8 @@ if ($ADD==3111) $max_calls_method = $row[109]; $max_calls_count = $row[110]; $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; ##### get callmenu listings for dynamic pulldown $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; @@ -25155,7 +26777,7 @@ if ($ADD==3111) echo "
    En-Grupo Calldate: $group_calldate$NWB#vicidial_inbound_groups-group_calldate$NWE
    \n"; - horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1,'',''); echo "
    Grupo de usuarios de administración:
    Gota Exten: $NWB#vicidial_inbound_groups-drop_exten$NWE
    Buzón de Voz: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Buzón de Voz: selector de voz$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Grupo de Transferencia de caída: $NWB#vicidial_inbound_groups-call_time_id$NWE
    \n"; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "Vacaciones defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!: $call_time_id\n";} + echo "
    Acción de transferencia de CID: $NWB#vicidial_inbound_groups-action_xfer_cid$NWE
    Después De la Acción De las Horas:$NWB#vicidial_inbound_groups-after_hours_action$NWE
    Después De Nombre de fichero Del Mensaje De las Horas: audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Después De Nombre de fichero Del Mensaje De las Horas: audio selector $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Después De la Extensión De las Horas:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
    Después De las Horas Buzón de Voz: voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Después De las Horas Buzón de Voz: selector de voz$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Horas después de la transferencia del Grupo: \n"; echo "
    Método de búsqueda: \n"; - echo "   ID De la Lista: "; + echo "   ID De la Lista: "; echo "
    ID De la Campaña: \n"; echo "   Phone Code: "; @@ -25316,7 +26955,7 @@ if ($ADD==3111) { if (strlen($no_agent_action_value) < 3) {$no_agent_action_value = 'nbdy-avail-to-take-call|vm-goodbye';} - echo "archivo de audio: audio chooser\n"; + echo "archivo de audio: audio selector\n"; } if ($no_agent_action=='EXTENSION') { @@ -25329,7 +26968,7 @@ if ($ADD==3111) } if ($no_agent_action=='VOICEMAIL') { - echo "Caja de voz: voicemail chooser\n"; + echo "Caja de voz: selector de voz\n"; } echo " @@ -25341,13 +26980,13 @@ if ($ADD==3111) echo "
    Max llama Acción: $NWB#vicidial_inbound_groups-max_calls_action$NWE
    Nombre de fichero Agradable Del Mensaje: audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Nombre de fichero Agradable Del Mensaje: audio selector $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Reproducir Mensaje de Bienvenida:$NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Música En Contexto Del Asimiento: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Música En Contexto Del Asimiento: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    En Nombre de fichero Del Aviso Del Asimiento: audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    En Nombre de fichero Del Aviso Del Asimiento: audio selector $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    En Intervalo Del Aviso Del Asimiento:$NWB#vicidial_inbound_groups-prompt_interval$NWE
    Calcular estimado Segundos Hold: $NWB#vicidial_inbound_groups-calculate_estimated_hold_seconds$NWE
    Nombre del archivo estimado Hold tiempo mínimo: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Nombre del archivo estimado Hold tiempo mínimo: audio selector $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Mínimo Estimado Tiempo de Espera Preguntar no hay un bloque: $NWB#vicidial_inbound_groups-eht_minimum_prompt_no_block$NWE
    Espera Tiempo de correo de voz opcional: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Espera Tiempo de correo de voz opcional: selector de voz $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Espera Tiempo de Transferencia opción dentro del grupo: $NWB#vicidial_inbound_groups-wait_time_option_xfer_group$NWE
    Espere Opción Tiempo Archivo de Prensa: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Espere Opción Tiempo Archivo de Prensa: audio selector $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Espere Prensa opción de tiempo de ningún bloque: $NWB#vicidial_inbound_groups-wait_time_option_no_block$NWE
    Tiempo de espera Opción Segundos Nombre de archivo de prensa: $NWB#vicidial_inbound_groups-wait_time_option_prompt_seconds$NWE
    Espere Opción Tiempo Después de Archivo de Prensa: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Espere Opción Tiempo Después de Archivo de Prensa: audio selector $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Espere opción Tiempo de devolución de llamada ID Lista: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Espere opción Tiempo de devolución de llamada ID Lista: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Espera tener prioridad Opción: $NWB#vicidial_inbound_groups-wait_hold_option_priority$NWE
    Mantenga la opción Tiempo de voz: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Mantenga la opción Tiempo de voz: selector de voz $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Opción de Transferencia de celebrar Tiempo-Grupo A:$NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Mantenga la opción Time Nombre del archivo de prensa: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Mantenga la opción Time Nombre del archivo de prensa: audio selector $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Hold Time Prensa opción No Bloquear: $NWB#vicidial_inbound_groups-hold_time_option_no_block$NWE
    Tiempo de espera Opción Segundos Nombre de archivo de prensa: $NWB#vicidial_inbound_groups-hold_time_option_prompt_seconds$NWE
    Mantenga la opción Tiempo Después de Archivo de Prensa: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Mantenga la opción Tiempo Después de Archivo de Prensa: audio selector $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Mantenga la opción Tiempo de llamada Lista ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Mantenga la opción Tiempo de llamada Lista ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Agente de Alerta Nombre de archivo: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agente de Alerta Nombre de archivo: audio selector $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    La Alarma Del Agente Retrasa:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Dial In-Grupo CID: $NWB#vicidial_inbound_groups-dial_ingroup_cid$NWE
    Recordatorio de Transferencia de celebrar en Grupo:$NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = stripslashes($row[4]); + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = stripslashes($row[39]); + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + $default_group_alias = $row[55]; + $no_agent_no_queue = $row[56]; + $no_agent_action = $row[57]; + $no_agent_action_value = $row[58]; + $web_form_address_two = stripslashes($row[59]); + $timer_action = $row[60]; + $timer_action_message = $row[61]; + $timer_action_seconds = $row[62]; + $start_call_url = $row[63]; + $dispo_call_url = $row[64]; + $ignore_list_script_override = $row[68]; + $extension_appended_cidname = $row[69]; + $uniqueid_status_display = $row[70]; + $uniqueid_status_prefix = $row[71]; + $hold_time_option_minimum = $row[72]; + $hold_time_option_press_filename = $row[73]; + $hold_time_option_callmenu = $row[74]; + $onhold_prompt_no_block = $row[75]; + $onhold_prompt_seconds = $row[76]; + $hold_time_option_no_block = $row[77]; + $hold_time_option_prompt_seconds = $row[78]; + $hold_time_second_option = $row[79]; + $hold_time_third_option = $row[80]; + $wait_hold_option_priority = $row[81]; + $wait_time_option = $row[82]; + $wait_time_second_option = $row[83]; + $wait_time_third_option = $row[84]; + $wait_time_option_seconds = $row[85]; + $wait_time_option_exten = $row[86]; + $wait_time_option_voicemail = $row[87]; + $wait_time_option_xfer_group = $row[88]; + $wait_time_option_callmenu = $row[89]; + $wait_time_option_callback_filename = $row[90]; + $wait_time_option_callback_list_id = $row[91]; + $wait_time_option_press_filename = $row[92]; + $wait_time_option_no_block = $row[93]; + $wait_time_option_prompt_seconds = $row[94]; + $timer_action_destination = $row[95]; + $calculate_estimated_hold_seconds = $row[96]; + $add_lead_url = $row[97]; + $eht_minimum_prompt_filename = $row[98]; + $eht_minimum_prompt_no_block = $row[99]; + $eht_minimum_prompt_seconds = $row[100]; + $na_call_url = $row[102]; + $group_calldate = $row[104]; + $action_xfer_cid = $row[105]; + $drop_callmenu = $row[106]; + $after_hours_callmenu = $row[107]; + $user_group = $row[108]; + $max_calls_method = $row[109]; + $max_calls_count = $row[110]; + $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; + + ##### get callmenu listings for dynamic pulldown + $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $Xmenus_to_print = mysql_num_rows($rslt); + $o=0; + $Xmenuslist=''; + $Wmenuslist=''; + while ($Xmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xmenuslist .= "\n"; + $Wmenuslist .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $o++; + } + if ($Xmenus_selected < 1) + {$Xmenuslist .= "\n";} + if ($Wmenus_selected < 1) + {$Wmenuslist .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Wgroups_menu=''; + $Wgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Wgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Wgroups_selected < 1) + {$Wgroups_menu .= "\n";} + else + {$Wgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
    MODIFY AN EMAIL GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + if ($SSenable_second_webform > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + +/* Commenting this out because it is handled by the Email Account section and is redundant here + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +*/ + + + echo "\n"; + + echo "\n"; + + # echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts $whereLOGadmin_viewable_groupsSQL order by shift_id;"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    ID De Grupo: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Nombre De Grupo: $NWB#vicidial_inbound_groups-group_name$NWE
    Color Del Grupo: $NWB#vicidial_inbound_groups-group_color$NWE
    Activo: $NWB#vicidial_inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#vicidial_inbound_groups-group_emaildate$NWE
    \n"; + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + echo "
    Grupo de usuarios de administración: $NWB#vicidial_inbound_groups-user_group$NWE
    Formulario Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Formulario Web Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Siguiente Enviar un email: $NWB#vicidial_inbound_groups-next_agent_email$NWE
    Cola de prioridad: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
    En llamada de grupo Manipule Método:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    En Grupo Agente Método de búsqueda:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    -En la lista Grupo de Identificación:$NWB#vicidial_inbound_dids-list_id$NWE
    En el Grupo de Campaña-ID:$NWB#vicidial_inbound_dids-campaign_id$NWE
    Inicio Email URL: $NWB#vicidial_inbound_groups-start_email_url$NWE
    Dispo Correo electrónico URL: $NWB#vicidial_inbound_groups-dispo_email_url$NWE
    Agregar el URL de plomo: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    No Agente Email URL: $NWB#vicidial_inbound_groups-na_email_url$NWE
    Anexar extensión de CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    Pantalla de estado UniqueId: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    Prefijo de Estado UniqueId: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
     
    Grupo de Ajustes de entrada de CC:
    CC Activado: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    CC estados:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    Formulario de Asistencia CC:$NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    Control de calidad de secuencias de comandos: $NWB#vicidial_inbound_groups-qc_script$NWE
    CC Mayúsculas: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    CC Obtener Registro de lanzamiento: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    Mostrar control de la calidad de grabación: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    \n"; + echo "


    \n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
    \n"; + echo "
    AGENTE RANKS FOR THIS INBOUND GROUP:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,full_name,closer_campaigns,user_group from vicidial_users where active='Y' $LOGadmin_viewable_groupsSQL order by user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_name[$o] = $rowx[1]; + $ARIG_close[$o] = $rowx[2]; + $ARIG_group[$o] = $rowx[3]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + + $o=0; + $ARIG_changenotes=''; + $stmtDlog=''; + while ($users_to_print > $o) + { + $o++; + $stmt="SELECT group_rank,calls_today,group_grade from vicidial_inbound_group_agents where group_id='$group_id' and user='$ARIG_user[$o]';"; + $rsltx=mysql_query($stmt, $link); + $viga_to_print = mysql_num_rows($rsltx); + if ($viga_to_print > 0) + { + $rowx=mysql_fetch_row($rsltx); + $ARIG_rank[$o] = $rowx[0]; + $ARIG_calls[$o] = $rowx[1]; + $ARIG_grade[$o] = $rowx[2]; + } + else + { + $stmtD="INSERT INTO vicidial_inbound_group_agents set calls_today='0',group_rank='0',group_weight='0',user='$ARIG_user[$o]',group_id='$group_id',group_grade='1';"; + $rslt=mysql_query($stmtD, $link); + if ($DB > 0) {echo "|$stmtD|";} + $stmtDlog .= "$stmtD|"; + $ARIG_changenotes .= "added missing user to viga table $ARIG_user[$o]|"; + $ARIG_rank[$o] = '0'; + $ARIG_calls[$o] = '0'; + $ARIG_grade[$o] = '1'; + } + } + if (strlen($ARIG_changenotes) > 10) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtDlog|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + if ($stage=='ENVIAR') + { + $o=0; + while ($users_to_print > $o) + { + $o++; + + $ARIG_checked=''; + $ARIG_ranked=''; + $ARIG_graded=''; + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + + if (isset($_GET["$checkbox_field"])) {$ARIG_checked=$_GET["$checkbox_field"];} + elseif (isset($_POST["$checkbox_field"])) {$ARIG_checked=$_POST["$checkbox_field"];} + if (isset($_GET["$rank_field"])) {$ARIG_ranked=$_GET["$rank_field"];} + elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} + if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} + elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} + $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); + $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); + $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + + $stmtA=''; + $stmtB=''; + $stmtC=''; + $ARIG_updated=0; + $ARIG_changenotes=''; + if ( ($ARIG_check[$o]=='') and ($ARIG_checked=='YES') ) + { + if (strlen($ARIG_close[$o]) < 4) {$ARIG_close[$o]=' - ';} + $stmtA="UPDATE vicidial_users set closer_campaigns=' $group_id$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtA, $link); + if ($DB > 0) {echo "|$stmtA|";} + $ARIG_updated++; + $ARIG_changenotes .= "added $group_id to selected in-groups|"; + } + if ( ($ARIG_check[$o]==' CHECKED') and ($ARIG_checked=='') ) + { + $ARIG_close[$o] = preg_replace("/ $group_id /",' ',$ARIG_close[$o]); + $stmtB="UPDATE vicidial_users set closer_campaigns='$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtB, $link); + if ($DB > 0) {echo "|$stmtB|";} + $ARIG_updated++; + $ARIG_changenotes .= "removed $group_id from selected in-groups|"; + } + if ( ($ARIG_ranked < $ARIG_rank[$o]) or ($ARIG_ranked > $ARIG_rank[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_rank='$ARIG_ranked',group_weight='$ARIG_ranked' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed rank from $ARIG_rank[$o] to $ARIG_ranked|"; + } + if ( ($ARIG_graded < $ARIG_grade[$o]) or ($ARIG_graded > $ARIG_grade[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_grade='$ARIG_graded' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed grade from $ARIG_grade[$o] to $ARIG_graded|"; + } + if ($ARIG_updated > 0) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USUARIOS', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + + $stmt="SELECT vu.user,viga.group_rank,calls_today,full_name,closer_campaigns,viga.group_grade from vicidial_inbound_group_agents viga, vicidial_users vu where group_id='$group_id' and active='Y' and vu.user=viga.user $LOGadmin_viewable_groupsSQL order by vu.user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_rank[$o] = $rowx[1]; + $ARIG_calls[$o] = $rowx[2]; + $ARIG_name[$o] = $rowx[3]; + $ARIG_close[$o] = $rowx[4]; + $ARIG_grade[$o] = $rowx[5]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + } + + $checkbox_count=0; + $o=0; + while ($users_to_print > $o) + { + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + $checkbox_list .= "|$checkbox_field"; + $checkbox_count++; + + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + + echo "$users_output"; + + echo "\n"; + + echo "
    USERGROUPSELECTED     RANK     GRADE     CALLS TODAY
    $ARIG_user[$o] - $ARIG_name[$o]$ARIG_group[$o]     select all  

    \n"; + + echo "
    Haga clic aquí para ver un informe de este grupo entrante

    \n"; + + echo "Haga clic aquí para ver los agentes registrados en este grupo de entrada

    \n"; + + echo "
    \n"; + + echo "Cuentas de correo electrónico USANDO ESTA EN GRUPO:
    \n"; + echo "\n"; + + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $emails_to_print = mysql_num_rows($rslt); + $o=0; + while ($emails_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]

    \n"; + echo "CAMPAÑAS QUE PERMITA EN ESTE GRUPO:
    \n"; + echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where closer_campaigns LIKE \"% $group_id %\" $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $campin_to_print = mysql_num_rows($rslt); + $o=0; + while ($campin_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + + if ($LOGdelete_ingroups > 0) + { + # echo "

    EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

    \n"; + echo "

    SUPRIMA A ESTE EN-GRUPO\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Haga clic aquí para ver los cambios de administrador para el Grupo-En
    \n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + + } + + + ###################### # ADD=3311 modify did info in the system ###################### @@ -26053,8 +28396,10 @@ if ($ADD==3311) echo "
    MODIFICAR UN REGISTRO DID:$row[0]
    \n"; echo "\n"; echo "\n"; + echo "\n"; echo "
    \n"; - echo "\n"; + # echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "
    DID Extensión:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Extensión:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Extensión:$did_pattern $NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Descripción:$NWB#vicidial_inbound_dids-did_description$NWE
    Activo: $NWB#vicidial_inbound_dids-did_active$NWE
    Grupo de usuarios de administración:
    Grabar llamadas: $NWB#vicidial_inbound_dids-record_call$NWE
    Extensión:$NWB#vicidial_inbound_dids-extension$NWE
    Extensión Contexto:$NWB#vicidial_inbound_dids-exten_context$NWE
    Caja de voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Caja de voz: selector de voz$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Teléfono Extensión:$NWB#vicidial_inbound_dids-phone$NWE
    IP Del Servidor:
    En Configuración de usuario Ruta-Grupo:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    In-ID De Grupo:
    Dentro de la ID de grupo: $NWB#vicidial_inbound_dids-group_id$NWE
    En llamada de grupo Manipule Método:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    En Grupo Agente Método de búsqueda:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    -En la lista Grupo de Identificación:$NWB#vicidial_inbound_dids-list_id$NWE
    -En la lista Grupo de Identificación:$NWB#vicidial_inbound_dids-list_id$NWE
    En el Grupo de Campaña-ID:
    Filter Extensión:$NWB#vicidial_inbound_dids-extension$NWE
    Filter Extensión Contexto:$NWB#vicidial_inbound_dids-exten_context$NWE
    Filter Caja de voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Caja de voz: selector de voz$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Teléfono Extensión:$NWB#vicidial_inbound_dids-phone$NWE
    Filter IP Del Servidor:
    Filter En Configuración de usuario Ruta-Grupo:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    Filter In-ID De Grupo:
    Filter Dentro de la ID de grupo: $NWB#vicidial_inbound_dids-group_id$NWE
    Filter En llamada de grupo Manipule Método:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Filter En Grupo Agente Método de búsqueda:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Filter -En la lista Grupo de Identificación:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter -En la lista Grupo de Identificación:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter En el Grupo de Campaña-ID:\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-call_time_id$NWE "; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "   Vacaciones defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!\n";} + echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-dtmf_field$NWE\n"; echo "\n"; echo "\n"; @@ -26603,7 +28980,7 @@ if ($ADD==3511) $j=0; while ($menus_to_print > $j) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $option_value = $Aoption_value[$j]; $option_description = $Aoption_description[$j]; $option_route = $Aoption_route[$j]; @@ -26677,13 +29054,13 @@ if ($ADD==3511) echo "$IGhandle_method_list $NWB#vicidial_call_menu-ingroup_settings$NWE\n"; echo "
    Método de búsqueda: \n"; - echo "   ID De la Lista: "; + echo "   ID De la Lista: "; echo "
    ID De la Campaña: \n"; echo "   Phone Code: "; - echo "
      VID Ingrese Nombre del archivo: audio chooser"; - echo "
      VID ID Nombre del archivo Número: audio chooser"; - echo "
      VID Confirmar Archivo: audio chooser"; + echo "
      VID Ingrese Nombre del archivo: audio selector"; + echo "
      VID ID Nombre del archivo Número: audio selector"; + echo "
      VID Confirmar Archivo: audio selector"; echo "   VID dígitos: "; } if ($option_route=='DID') @@ -26700,7 +29077,7 @@ if ($ADD==3511) } if ($option_route=='HANGUP') { - echo "archivo de audio: audio chooser\n"; + echo "archivo de audio: audio selector\n"; } if ($option_route=='EXTENSION') { @@ -26712,7 +29089,7 @@ if ($ADD==3511) } if ($option_route=='VOICEMAIL') { - echo "Caja de voz:voicemail chooser\n"; + echo "Caja de voz:selector de voz\n"; } if ($option_route=='AGI') { @@ -26726,7 +29103,7 @@ if ($ADD==3511) while ($j <= 20) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $dtmf_list = "\n"; } + if ($SScall_menu_qualify_enabled > 0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $menu_name = $row[0]; @@ -26521,6 +28873,7 @@ if ($ADD==3511) $dtmf_log = $row[11]; $dtmf_field = $row[12]; $user_group = $row[13]; + $qualify_sql = $row[14]; echo "
    MODIFICAR UNA LLAMADA menú de grabación: $menu_id\n"; @@ -26533,10 +28886,10 @@ if ($ADD==3511) echo "$UUgroups_list"; echo "\n"; echo "$NWB#vicidial_call_menu-user_group$NWE
    Menú del sistema: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Menú del sistema: audio selector $NWB#vicidial_call_menu-menu_prompt$NWE
    Menú de tiempo de espera: $NWB#vicidial_call_menu-menu_timeout$NWE
    Menú de tiempo de espera del sistema: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Menú del sistema no válido: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menú de tiempo de espera del sistema: audio selector $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Menú del sistema no válido: audio selector $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Repita Menú: $NWB#vicidial_call_menu-menu_repeat$NWE
    Menú Hora Hora:
    Tiempo De la Llamada:$NWB#vicidial_call_menu-call_time_id$NWE
    Pide pista en tiempo real Informe: $NWB#vicidial_call_menu-dtmf_log$NWE     Diario de campo: \n"; - echo "$NWB#vicidial_call_menu-dtmf_field$NWE
    Opciones del menú de llamadas:
    Entrada Dialplan personalizada: Disabled $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Calificar SQL:
    $NWB#vicidial_call_menu-qualify_sql$NWE
    \n"; echo "

    \n"; @@ -26904,7 +29288,7 @@ if ($ADD==31111) echo "
    Con el teléfono colgado del timbre: $NWB#vicidial_remote_agents-on_hook_ring_time$NWE
    \n"; - horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1); + horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1,'',''); echo "
    Grupos De entrada: \n"; @@ -27474,7 +29858,7 @@ if ($ADD==3111111) echo "
    Texto de la escritura:

    Escritura De la Inspección previo
    "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -27714,6 +30099,7 @@ if ($ADD==321111111) $modify_url = "$PHP_SELF?ADD=311111111&call_time_id=$call_time_id"; $modify_footer_refrescar=1; } + ### add-remove state rule if ( ($stage=="ADD") and (strlen($state_rule)>0) ) { $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; @@ -27727,6 +30113,15 @@ if ($ADD==321111111) {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD STATE RULE', event_sql=\"$SQL_log\", event_notes='Regla Del Estado Agregada: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Agregada: $state_rule
    \n"; } if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) @@ -27739,8 +30134,63 @@ if ($ADD==321111111) $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE STATE RULE', event_sql=\"$SQL_log\", event_notes='Regla Del Estado Quitada: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Quitada: $state_rule
    \n"; } + ### add-remove holiday rule + if ( ($stage=="ADD") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + if (eregi("\|$",$ct_holidays)) + {$ct_holidays = "$ct_holidays$holiday_rule\|";} + else + {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Regla vacaciones Alta: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Regla vacaciones Alta: $holiday_rule
    \n"; + } + if ( ($stage=="REMOVE") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Regla Holiday Eliminado: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Regla Holiday Eliminado: $holiday_rule
    \n"; + } $ADD=311111111; } @@ -27767,7 +30217,7 @@ if ($ADD==311111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; $ct_srs=1; @@ -27875,6 +30326,60 @@ if ($ADD==311111111) echo "\n"; echo "\n"; + + $ct_hrs=1; + $b=0; + $hrs_SQL =''; + if (strlen($ct_holidays)>2) + { + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 1); + } + echo "\n"; + echo "\n"; + while($ct_hrs >= $b) + { + if (strlen($holiday_rules[$b])>0) + { + $stmt="SELECT holiday_date,holiday_name from vicidial_call_time_holidays where holiday_id='$holiday_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $hrs_SQL .= "'$holiday_rules[$b]',"; + $hrs_holiday_SQL .= "'$row[0]',"; + } + $b++; + } + if (strlen($hrs_SQL)>2) + { + $hrs_SQL = "$hrs_SQL''"; + $hrs_holiday_SQL = "$hrs_holiday_SQL''"; + $hrs_SQL = "where holiday_id NOT IN($hrs_SQL) and holiday_date NOT IN($hrs_holiday_SQL) $LOGadmin_viewable_groupsSQL"; + } + else + {$hrs_SQL="$whereLOGadmin_viewable_groupsSQL";} + $stmt="SELECT holiday_id,holiday_date from vicidial_call_time_holidays $hrs_SQL order by holiday_date;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_list .= "\n"; + $o++; + } + echo "\n"; + echo "\n"; + + echo "
    \n"; echo ""; - $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group,ct_holidays from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $call_time_name = $row[1]; @@ -27798,6 +30248,7 @@ if ($ADD==311111111) $friday_afterhours_filename_override = $row[26]; $saturday_afterhours_filename_override = $row[27]; $user_group = $row[28]; + $ct_holidays = $row[29]; echo ""; @@ -27809,18 +30260,18 @@ if ($ADD==311111111) echo "
    Identificación Del Tiempo De la Llamada: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Nombre Del Tiempo De la Llamada: (descripción corta del tiempo de la llamada)$NWB#vicidial_call_times-call_time_name$NWE
    Comentarios Del Tiempo De la Llamada: $NWB#vicidial_call_times-call_time_comments$NWE
    Grupo de usuarios de administración:
    Grupo de usuarios de administración: $NWB#vicidial_call_times-user_group$NWE
    Comienzo Del Defecto: Parada Del Defecto: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Domingo: Parada De Domingo: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Lunes: Parada De Lunes: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Martes: Parada De Martes: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Miércoles: Parada De Miércoles: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Jueves Start: Parada De Jueves: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Viernes: Parada De Viernes: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Sábado: Parada De Sábado: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo Del Defecto: Parada Del Defecto: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Domingo: Parada De Domingo: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Lunes: Parada De Lunes: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Martes: Parada De Martes: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Miércoles: Parada De Miércoles: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Jueves Start: Parada De Jueves: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Viernes: Parada De Viernes: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Comienzo De Sábado: Parada De Sábado: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Activo entrantes Definiciones vacaciones de este registro:  
    $holiday_rules[$b] - REMOVE $row[0] - $row[1]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Añadir regla vacaciones entrante:


    \n"; echo "CAMPAÑAS USANDO ESTE TIEMPO DE LA LLAMADA:
    \n"; echo "\n"; @@ -27976,7 +30481,7 @@ if ($ADD==3111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; @@ -28012,6 +30517,105 @@ if ($ADD==3111111111) { echo "

    SUPRIMA ESTA DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO\n"; } + if ($LOGuser_level >= 9) + { + echo "

    Haga clic aquí para ver los cambios admin to this call time\n"; + } + } + else + { + echo "Le no autorizan a visión esta página. Vaya por favor detrás."; + } + } + + +###################### +# ADD=3211111111 modify holiday definition info in the system +###################### + +if ($ADD==3211111111) + { + if ($LOGmodify_call_times==1) + { + if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3211111111&holiday_id=$holiday_id"; + $modify_footer_refrescar=1; + } + echo "
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    _ Estado Llamar Tiempo Nombre: (descripción corta del tiempo de la llamada)$NWB#vicidial_call_times-call_time_name$NWE
    Comentarios Del Tiempo De la Llamada Del Estado: $NWB#vicidial_call_times-call_time_comments$NWE
    Grupo de usuarios de administración:
    Grupo de usuarios de administración: $NWB#vicidial_call_times-user_group$NWE
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_comments,holiday_status,ct_default_start,ct_default_stop,user_group,default_afterhours_filename_override from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $holiday_date = $row[1]; + $holiday_name = $row[2]; + $holiday_comments = $row[3]; + $holiday_status = $row[4]; + $ct_default_start = $row[5]; + $ct_default_stop = $row[6]; + $user_group = $row[7]; + $default_afterhours_filename_override = $row[8]; + + echo ""; + + echo "
    MODIFICAR UN DÍA DE FIESTA
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Holiday ID: $holiday_id$NWB#vicidial_call_times-holiday_id$NWE
    Nombre de vacaciones: (breve descripción de las vacaciones)$NWB#vicidial_call_times-holiday_name$NWE
    Vacaciones Comentarios: $NWB#vicidial_call_times-holiday_comments$NWE
    Grupo de usuarios de administración: $NWB#vicidial_call_times-user_group$NWE
    Comienzo Del Defecto: Parada Del Defecto: $NWB#vicidial_call_times-ct_default_start$NWE
    AH Override: audio selector $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Holiday Fecha: \n"; + echo " $NWB#vicidial_call_times-holiday_date$NWE
    Estado vacaciones: $NWB#vicidial_call_times-holiday_status$NWE


    \n"; + echo "LLAME A veces usando ESTE DÍA DE FIESTA:
    \n"; + echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" $whereLOGadmin_viewable_call_timesSQL;"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + echo "


    \n"; + + if ($LOGdelete_call_times > 0) + { + echo "

    BORRAR LA DEFINICIÓN DE VACACIONES\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Haga clic aquí para ver los cambios de administrador para estas vacaciones
    \n"; + } } else { @@ -28171,7 +30775,7 @@ if ($ADD==31111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -28229,6 +30833,12 @@ if ($ADD==31111111111) } echo " $NWB#phones-voicemail_timezone$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "\n"; echo "\n"; echo "\n"; @@ -29140,7 +31750,7 @@ if ($ADD==361111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -28201,7 +30805,7 @@ if ($ADD==31111111111) echo "
    Agente de sesión de pantalla: $NWB#phones-login$NWE
    Inicio de sesión Contraseña: $NWB#phones-pass$NWE
    Registro Contraseña: $NWB#phones-conf_secret$NWE     Fuerza:
    Establecer como Webphone: $NWB#phones-is_webphone$NWE
    Establecer como Webphone: $NWB#phones-is_webphone$NWE
    Webphone Dialpad: $NWB#phones-webphone_dialpad$NWE
    Webphone Respuesta automática: $NWB#phones-webphone_auto_answer$NWE
    Use IP del servidor externo: $NWB#phones-use_external_server_ip$NWE
    Opciones de correo de voz: $NWB#phones-voicemail_options$NWE
    Saludo de correo de voz: audio selector $NWB#phones-voicemail_greeting$NWE
    Compañía: $NWB#phones-company$NWE
    Foto: $NWB#phones-picture$NWE
    Mensajes Nuevos: $row[14]$NWB#phones-messages$NWE
    Añadir un archivo de audio: audio chooser $NWB#vicidial_music_on_hold-filename$NWE
    Añadir un archivo de audio: audio selector $NWB#vicidial_music_on_hold-filename$NWE
    \n"; @@ -29179,7 +31789,7 @@ if ($ADD==371111111111) echo "
    \n"; echo ""; - $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $voicemail_id = $row[0]; @@ -29193,9 +31803,11 @@ if ($ADD==371111111111) $voicemail_timezone = $row[8]; $voicemail_options = $row[9]; $user_group = $row[10]; + $voicemail_greeting = $row[11]; echo "
    MODIFICAR UN contestador: $tts_id\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; @@ -29209,6 +31821,13 @@ if ($ADD==371111111111) echo "\n"; echo "$NWB#vicidial_voicemail-user_group$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "
    Eliminar correo de voz después del email: $NWB#vicidial_voicemail-delete_vm_after_email$NWE
    Saludo de correo de voz: audio selector $NWB#vicidial_voicemail-voicemail_greeting$NWE
    Correo de voz Zona: \n"; echo "\n"; echo "
    \n"; echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -29838,7 +32467,12 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; - echo "\n"; + + $admin_web_dir=''; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} + + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; echo "\n"; @@ -29938,7 +32584,7 @@ if ($ADD==311111111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; } @@ -30063,6 +32709,8 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo ""; -$MAIN.=""; +$MAIN.=""; +$MAIN.=""; + +$MAIN.=""; $MAIN.="
    Versión: $version
    SVN Versión: $svn_revision
    DB Schema Versión: $db_schema_version
    DB Schema Update Date: $db_schema_update_date
    Auto Usuario-add Value: $auto_user_add_value
    Central de control de sonido activo: $NWB#settings-sounds_central_control_active$NWE
    Sonidos de servidor Web: $NWB#settings-sounds_web_server$NWE
    Sounds Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Sounds Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Directorio Web de administración: $NWB#settings-admin_web_directory$NWE
    Servidor de correo de voz activo: $NWB#settings-active_voicemail_server$NWE
    Permitir correo de voz Selector de felicitación: $NWB#settings-allow_voicemail_greeting$NWE
    Marcado automático de límite de:
    Habilitar Estadísticas ampliados Lista: $NWB#settings-expanded_list_stats$NWE
    Enhanced Disconnect Logging: $NWB#settings-enhanced_disconnect_logging$NWE
    Habilitar Areacode Campaña CID: $NWB#settings-campaign_cid_areacodes_enabled$NWE
    Habilitar remoto anula Agente de Extensión: $NWB#settings-did_ra_extensions_enabled$NWE
    Enable Contacts: $NWB#settings-contacts_enabled$NWE
    Llame Menú calificar Activado: $NWB#settings-call_menu_qualify_enabled$NWE
    Nivel 8 deshabilitar: $NWB#settings-level_8_disable_add$NWE
    Lista de los Condes admin: $NWB#settings-admin_list_counts$NWE
    Permitir mensajes de correo electrónico: $NWB#settings-allow_emails$NWE
    Primera sesión de disparo: $first_login_trigger   $NWB#settings-first_login_trigger$NWE
    Teléfono predeterminado Registro Contraseña: $NWB#settings-default_phone_registration_password$NWE     Fuerza:
    Esclavo del servidor de base de datos: $NWB#settings-slave_db_server$NWE
    Informes de utilizar DB Esclavo:
    Informes de utilizar DB Esclavo:
    Entrada Dialplan personalizada: $NWB#settings-custom_dialplan_entry$NWE
    Entrada Dialplan personalizada: $NWB#settings-custom_dialplan_entry$NWE
    Actualizar Dialplan En los servidores: $NWB#settings-reload_dialplan_on_servers$NWE
    QueueMetrics Addmember Activado: $NWB#settings-queuemetrics_addmember_enabled$NWE
    QueueMetrics dispo Código Pausa: $NWB#settings-queuemetrics_dispo_pause$NWE
    Teléfono Teléfono QueueMetrics Medio Ambiente Anexar: $NWB#settings-queuemetrics_pe_phone_append$NWE
    QueueMetrics Socket Enviar: $NWB#settings-queuemetrics_socket$NWE
    QueueMetrics Socket Enviar URL: $NWB#settings-queuemetrics_socket_url$NWE
    Habilitar Vtiger Integración: $NWB#settings-enable_vtiger_integration$NWE\n"; echo "   Haga clic aquí para sincronizar los usuarios con Vtiger\n"; @@ -30339,89 +32987,12 @@ if ($ADD==331111111111111) +##QC +require_once('qc/QC_status_codes_include.php'); ###################### # ADD=341111111111111 modify vicidial QC status code ###################### - -if ($ADD==341111111111111) - { - if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) - { - if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) - { - $modify_url = "$PHP_SELF?ADD=341111111111111"; - $modify_footer_refrescar=1; - } - echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30884,7 +33460,7 @@ if ($ADD==100) $o++; } - $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; + $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); $o=0; @@ -30900,7 +33476,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30958,6 +33537,61 @@ if ($ADD==1000) echo "
    \n"; - echo ""; - - echo "
    \n"; - echo "CC CÓDIGOS VICIDIAL ESTADO DENTRO DE ESTE SISTEMA:  $NWB#vicidial_qc_status_codes$NWE
    \n"; - echo "\n"; - echo "\n"; - - ##### go through each QC status code - $stmt="SELECT count(*) from vicidial_qc_codes;"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - if ($rowx[0] > 0) - { - $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; - $rslt=mysql_query($stmt, $link); - $statuses_to_print = mysql_num_rows($rslt); - $o=0; - while ($statuses_to_print > $o) - { - $rowx=mysql_fetch_row($rslt); - $o++; - - if (eregi("1$|3$|5$|7$|9$", $o)) - {$bgcolor='bgcolor="#B9CBFD"';} - else - {$bgcolor='bgcolor="#9BB9FB"';} - - echo "\n"; - echo "\n"; - echo "\n"; - } - } - echo "
    STATUS CODEDESCRIPCIÓNMODIFY/DELETE
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "$rowx[0]         \n"; - echo "   \n"; - - if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) - { - echo "ELIMINAR\n"; - } - else - { - echo "ELIMINAR\n"; - } - echo "
    \n"; - - echo "
    Añadir CC NUEVO CÓDIGO ESTADO
    \n"; - echo "\n"; - echo "Estado:   \n"; - echo "Descripción:
    \n"; - echo "
    \n"; - - echo "

    \n"; - - } - else - { - echo "Usted no tiene permiso de visión esta página\n"; - exit; - } - } - - - - - +//This section moved to include file as part of QC ###################### # ADD=550 user search form @@ -30844,7 +33415,9 @@ if ($ADD==100) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists $whereLOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -30876,7 +33449,10 @@ if ($ADD==100) echo "
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]MODIFICAR
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]MODIFICAR
    \n"; } +###################### +# ADD=1800 display all email groups +###################### +if ( ($ADD==1800) and ($SSallow_emails>0) ) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,queue_priority,active,call_time_id,group_color,user_group from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $ingroups_to_print = mysql_num_rows($rslt); + + echo "
    EMAIL GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($ingroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and group_id='$row[0]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IN-GROUPNOMBREPRIORIDADACTIVOMensajes no leídosGRUPO DE ADMINTIMECOLORMODIFICAR
    $row[0] $row[1] $row[2] $row[3] $unhandled_emails $row[6] $row[4]  MODIFICAR
    \n"; + } ###################### # ADD=1300 display all inbound dids @@ -31345,8 +33979,8 @@ if ($ADD==10000000) echo "
    LISTADOS DEL FILTRO DEL PLOMO:\n"; echo "
    \n"; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo "\n"; @@ -31458,6 +34092,52 @@ if ($ADD==1000000000) echo "
    FILTER IDFILTER NAMEFILTRO IDNOMBRE DEL FILTROGRUPO DE ADMINMODIFICAR
    \n"; } +###################### +# ADD=1200000000 display all holidays +###################### +if ($ADD==1200000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_status,ct_default_start,ct_default_stop,user_group from vicidial_call_time_holidays $whereLOGadmin_viewable_groupsSQL order by holiday_date,holiday_id;"; + $rslt=mysql_query($stmt, $link); + $holidays_to_print = mysql_num_rows($rslt); + + echo "
    HOLIDAY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($holidays_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    HOLIDAY IDDATENOMBREESTADOSTARTSTOPGRUPO DE ADMINMODIFICAR
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] MODIFICAR
    \n"; + } + ###################### # ADD=130000000 display all shifts ###################### @@ -32103,7 +34783,10 @@ if ($ADD==10000000000000) } - +###################### +# ADD=100000000000000 display all qc campaigns +###################### +require_once('qc/QC_admin_include01.php'); ###################### @@ -32115,22 +34798,22 @@ if ($ADD==700000000000000) echo ""; $DURATION_graph.=" "; $HANDLETIME_graph.=" "; - } + } $CALLS_graph.="
    \n"; echo ""; - if ($stage > 9999) + if ($stage > 4999) { - $next_limit = ($stage + 10000); - $limitSQL = "10000 offset $stage"; + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; } else { - $next_limit = "10000"; - $limitSQL = "10000"; + $next_limit = "5000"; + $limitSQL = "5000"; } $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log $whereLOGadmin_viewable_groupsSQL order by event_date desc limit $limitSQL;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); - echo "
    ADMIN Change Log: (Última 10.000 registros)\n"; + echo "
    ADMIN Change Log: (Last 5000 records)\n"; echo "
    \n"; echo ""; echo ""; @@ -32212,7 +34895,7 @@ if ($ADD==710000000000000) $user_name = $row[0]; } - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32298,7 +34981,7 @@ if ($ADD==720000000000000) if (preg_match("/DIDS/",$category)) {$sectionSQL = "event_section IN('DIDS','DID_RA-EXTEN')";} - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32334,6 +35017,8 @@ if ($ADD==720000000000000) if (eregi('REMOTEAGENT',$row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} if (eregi('PHONE',$row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} if (eregi('CALLTIME',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} + if (eregi('CALLTIMES_STATE',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} + if (eregi('HOLIDAY',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} if (eregi('SHIFT',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} if (eregi('CARRIER',$row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} @@ -32343,6 +35028,7 @@ if ($ADD==720000000000000) if (eregi('CATEGOR',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} if (eregi('GROUPALIAS',$row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} if (eregi('LEADS',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} + if (eregi('EMAIL',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} if (eregi("1$|3$|5$|7$|9$", $o)) {$bgcolor='bgcolor="#B9CBFD"';} @@ -32444,6 +35130,214 @@ if ($ADD==730000000000000) } +###################### +# ADD=800000000000000 view all activity in the admin report log +###################### + +if ($ADD==800000000000000) + { + echo "
    ID
    \n"; + echo ""; + + if ($stage > 4999) + { + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; + } + else + { + $next_limit = "5000"; + $limitSQL = "5000"; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log order by event_date desc limit $limitSQL;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + + echo "
    ADMIN Informe de registro: (Last 5000 records)\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "NEXT\n"; + echo "
    \n"; + } + + +###################### +# ADD=810000000000000 view all activity in the report log made by one user +###################### + +if ($ADD==810000000000000) + { + echo "\n"; echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT full_name from vicidial_users where user='$stage' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $names_to_print = mysql_num_rows($rslt); + if ($names_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $user_name = $row[0]; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log where user='$stage' order by event_date desc limit 5000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    ADMIN Informe de registro: Los cambios efectuados por $stage - $user_name\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=830000000000000 detail view of one report log entry +###################### + +if ($ADD==830000000000000) + { + if ($LOGuser_level >= 9) + { + echo ""; - echo "\n"; + echo "\n"; } else { @@ -32644,6 +35546,7 @@ if ($ADD==999999) } $o=0; + $web_u_time = date('U'); while ($servers_to_print > $o) { $cpu = (100 - $cpu_idle_percent[$o]); @@ -32662,7 +35565,23 @@ if ($ADD==999999) $k++; } $disk = "$disk%"; - echo "\n"; + $s_time=' '; + $s_ver=' '; + $u_time=$web_u_time; + $stmt="SELECT last_update,UNIX_TIMESTAMP(last_update) from server_updater where server_ip='$server_ip[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servertime_to_print = mysql_num_rows($rslt); + if ($servertime_to_print) + { + $row=mysql_fetch_row($rslt); + $s_time = $row[0]; + $u_time = ($row[1] + 10); + } + $server_bgcolor=''; + if ($web_u_time > $u_time) + {$server_bgcolor=' bgcolor=red';} + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32672,15 +35591,16 @@ if ($ADD==999999) echo "\n"; if ($stage == 'TIME') { - $stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';"; + $stmt="SELECT svn_revision from servers where server_ip='$server_ip[$o]';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $servertime_to_print = mysql_num_rows($rslt); - if ($servertime_to_print) + $serverver_to_print = mysql_num_rows($rslt); + if ($serverver_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + $s_ver = $row[0]; } + echo ""; } else { @@ -32701,7 +35621,7 @@ if ($ADD==999999) if ($stage == 'TIME') { - echo ""; + echo ""; $stmt="SELECT NOW();"; $rslt=mysql_query($stmt, $link); @@ -32710,7 +35630,7 @@ if ($ADD==999999) if ($dbtime_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + echo ""; } } echo "
    \n"; + echo ""; + + $stmt="SELECT report_log_id,event_date,vrl.user,ip_address,report_name,browser,referer,notes,url,full_name,val.user_group,run_time from vicidial_report_log vrl, vicidial_users val where report_log_id='$stage' and val.user=vrl.user $valLOGadmin_viewable_groupsSQL;"; + if ($DB > 0) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + if ($logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + + $run_color='color=blue'; + if ($row[11] > 5) {$run_color='color=black';} + if ($row[11] > 10) {$run_color='color=purple';} + if ($row[11] > 30) {$run_color='color=red';} + + echo "
    ADMIN Informe de registro: Detalle de registro - $stage

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "
    ID: $row[0]
    DATE TIME: $row[1]
    RUN TIME: $row[11] seconds
    USER: $row[2] - $row[9]
    IP: $row[3]
    REPORT: $row[4]
    BROWSER: $row[5]
    NOTES: $row[7]
    REFERER:

    $row[6]

    URL:

    $row[8]



    \n"; + echo "\n"; + echo "
    \n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } + + ###################### # ADD=999999 display reports section ###################### @@ -32551,7 +35445,13 @@ if ($ADD==999999) # echo "
  • AGENTE SPREADSHEET FUNCIONAMIENTO\n"; if ( ( (preg_match("/Dialer Informe de Inventario/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) and ($inventory_report_count > 0) ) {echo "
  • Dialer Informe de Inventario\n";} - + if ($SSemail_enabled > 0) + { + if ( ( (preg_match("/Inbound Report/",$LOGallowed_reports)) and (preg_match("/Inbound Email Report/",$LOGallowed_reports)) ) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) + {echo "
  • Inbound Email Report\n";} + if ( (preg_match("/Email Log Report/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) + {echo "
  • Email Log Report\n";} + } if ($LOGexport_reports >= 1) { if ( (preg_match("/Pide Informe exportación/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) @@ -32575,6 +35475,8 @@ if ($ADD==999999) {echo "
  • Team Performance Detalle\n";} if ( (preg_match("/Single Agent Daily/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) {echo "
  • Single Agent Daily\n";} + if ( (preg_match("/Grupo Del Usuario Login Report/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) + {echo "
  • Grupo Del Usuario Login Report\n";} if ( (preg_match("/Estadísticas de usuario/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) {echo "
  • Estadísticas de usuario\n";} if ( (preg_match("/Usuario Hoja de tiempo/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) @@ -32635,7 +35537,7 @@ if ($ADD==999999) if ($stage == 'TIME') { echo "
  • SERVIDOR -DESCRIPCIÓNIPACTLOADCHANDISKTIME
    DESCRIPCIÓNIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$disk$row[0]$s_time$s_ver
      PHP Time   " . date("Y-m-d H:i:s") . "
      PHP Time   " . date("Y-m-d H:i:s") . "  
      DB Time   $row[0]
      DB Time   $row[0]  
    \n"; @@ -32759,6 +35679,10 @@ if ($ADD==999998) echo "
  • Estados De Sistema\n"; echo "
  • Buzón de Voz \n"; + if ($SSemail_enabled > 0) + { + echo "
  • Cuentas de correo electrónico \n"; + } if ( ($sounds_central_control_active > 0) or ($SSsounds_central_control_active > 0) ) { echo "
  • Audio de la tienda \n"; @@ -32770,11 +35694,11 @@ if ($ADD==999998) } if ($SScallcard_enabled > 0) { - echo "
  • CallCard Admin \n"; + echo "
  • CallCard administración \n"; } if ($SScontacts_enabled > 0) { - echo "
  • Contacts \n"; + echo "
  •  Contactos \n"; } echo "\n"; @@ -32980,7 +35904,7 @@ if ($ADD==999995) echo "
    Bienvenido a Vicidial: los derechos de autor, marca registrada y la licencia de la página

    \n"; echo "
    \n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -33014,9 +35938,13 @@ if ($ADD==999994) echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } } @@ -33128,11 +36056,47 @@ if ($ADD==999993) ###################### if ($ADD==999992) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + echo "
    Copyright:   El Call Center Vicidial Suite está mantenido por el ViciDial Group, © 2012
    Copyright:   El Call Center Vicidial Suite está mantenido por el ViciDial Group, © 2013
    Trademark:   \"VICIDIAL\" es una marca registrada de la ViciDial Group. Aquí está nuestra marca la política de uso
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0,'',''); echo "
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; } } $k++; @@ -700,7 +748,7 @@ if ($function == 'sounds_list') ################################################################################ if ($function == 'moh_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -866,7 +914,7 @@ if ($function == 'moh_list') ################################################################################ if ($function == 'vm_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1018,7 +1066,7 @@ if ($function == 'agent_ingroup_info') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1114,12 +1162,12 @@ if ($function == 'agent_ingroup_info') $row=mysql_fetch_row($rslt); $allowed_campaign_autodial=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_change_ingroups=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_modify_user=$row[0]; @@ -1344,7 +1392,7 @@ if ($function == 'blind_monitor') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1441,6 +1489,21 @@ if ($function == 'blind_monitor') { $man_id = mysql_insert_id($link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$BMquery',lead_id='0',server_ip='$monitor_server_ip',call_date='$NOW_TIME',extension='$dialplan_number',channel='Local/$monitor_dialstring$stage$session_id@default',timeout='0',outbound_cid='\"VC Blind Monitor\" <$outbound_cid>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ##### BEGIN log visit to the vicidial_report_log table ##### + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$user', ip_address='1.1.1.1', report_name='API Blind Monitor', browser='API', referer='realtime_report.php', notes='$user, $monitor_server_ip, $dialplan_number, $session_id, $phone_login', url='REALTIME BLIND MONITOR',run_time='$TOTALrun';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + ##### END log visit to the vicidial_report_log table ##### + $result = 'SUCCESS'; $result_reason = "blind_monitor HAS BEEN LAUNCHED"; echo "$result: $result_reason - $phone_login|$monitor_dialstring$stage$session_id|$dialplan_number|$session_id|$man_id|$user\n"; @@ -1500,7 +1563,7 @@ if ($function == 'add_user') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1660,6 +1723,97 @@ if ($function == 'add_user') +################################################################################ +### add_group_alias - adds group alias to the system +################################################################################ +if ($function == 'add_group_alias') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "add_group_alias USER DOES NOT HAVE PERMISSION TO ADD GROUP ALIASES"; + $data = "$allowed_user"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($caller_id_number)<6) + { + $result = 'ERROR'; + $result_reason = "add_group_alias YOU MUST USE ALL REQUIRED FIELDS"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($group_alias_id)<2) {$group_alias_id = $caller_id_number;} + if (strlen($group_alias_name)<2) {$group_alias_name = $caller_id_number;} + if (strlen($active)<1) {$active = 'Y';} + if (strlen($admin_user_group)<1) {$admin_user_group = '---ALL---';} + $group_alias_name = preg_replace("/\+/",' ',$group_alias_name); + $caller_id_name = preg_replace("/\+/",' ',$caller_id_name); + + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $alias_exists=$row[0]; + if ($alias_exists > 0) + { + $result = 'ERROR'; + $result_reason = "add_group_alias GROUP ALIAS ALREADY EXISTS"; + $data = "$group_alias_id|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$admin_user_group');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN API ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $result = 'SUCCESS'; + $result_reason = "add_group_alias GROUP ALIAS HAS BEEN ADDED"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + } + exit; + } +################################################################################ +### END add_group_alias +################################################################################ + + ################################################################################ ### add_phone - adds phone to the phones table @@ -1677,7 +1831,7 @@ if ($function == 'add_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1815,7 +1969,7 @@ if ($function == 'update_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1896,7 +2050,7 @@ if ($function == 'update_phone') { if ($delete_phone == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2210,8 +2364,6 @@ if ($function == 'update_phone') - - ################################################################################ ### add_phone_alias - adds phone alias to the system ################################################################################ @@ -2228,7 +2380,7 @@ if ($function == 'add_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2337,7 +2489,7 @@ if ($function == 'update_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2380,7 +2532,7 @@ if ($function == 'update_phone_alias') { if ($delete_alias == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2522,7 +2674,7 @@ if ($function == 'update_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2609,6 +2761,7 @@ if ($function == 'update_list') $webformSQL=''; $webformtwoSQL=''; $resettimeSQL=''; + $expiration_dateSQL=''; if (strlen($campaign_id) > 0) { $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; @@ -2758,6 +2911,25 @@ if ($function == 'update_list') {$resettimeSQL = " ,reset_time='$reset_time'";} } } + if (strlen($expiration_date) > 9) + { + if ($expiration_date == '--BLANK--') + {$expiration_dateSQL = " ,expiration_date='2099-12-31'";} + else + { + if (strlen($expiration_date) < 10) + { + $result = 'ERROR'; + $result_reason = "update_list EXPIRATION DATE IS NOT VALID, THIS IS AN OPTIONAL FIELD"; + $data = "$expiration_date"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + {$resettimeSQL = " ,expiration_date='$expiration_date'";} + } + } if (strlen($web_form_address) > 0) { if ($web_form_address == '--BLANK--') @@ -2773,7 +2945,7 @@ if ($function == 'update_list') {$webformtwoSQL = " ,web_form_address_two='$web_form_address_two'";} } - $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL"; + $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL$expiration_dateSQL"; if (strlen($updateSQL)< 3) { @@ -2846,7 +3018,7 @@ if ($function == 'update_list') if ($delete_list == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2884,7 +3056,7 @@ if ($function == 'update_list') if ($delete_leads == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2950,7 +3122,7 @@ if ($function == 'add_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3086,8 +3258,9 @@ if ($function == 'add_list') exit; } if (strlen($active)<1) {$active='N';} + if (strlen($expiration_date)<10) {$expiration_date='2099-12-31';} - $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time';"; + $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time', expiration_date='$expiration_date';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "|$stmt|\n";} @@ -3136,7 +3309,7 @@ if ($function == 'recording_lookup') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3308,7 +3481,7 @@ if ($function == 'did_log_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3448,7 +3621,7 @@ if ($function == 'agent_stats_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3596,6 +3769,7 @@ if ($function == 'agent_stats_export') if ($AScalls[$k] < 1) { $cust_sec = 0; + $wait_sec = 0; $avg_cust_sec = 0; $avg_wait_sec = 0; $pct_of_queue = 0; @@ -3603,6 +3777,7 @@ if ($function == 'agent_stats_export') else { $cust_sec = ($AStalk_sec[$k] - $ASdead_sec[$k]); + $wait_sec = $ASwait_sec[$k]; $avg_cust_sec = ($cust_sec / $AScalls[$k]); $avg_wait_sec = ($ASwait_sec[$k] / $AScalls[$k]); $pct_of_queue = ( ($AScalls[$k] / $total_calls) * 100); @@ -3618,10 +3793,11 @@ if ($function == 'agent_stats_export') $avg_session_sec = sec_convert($avg_session_sec,$time_format); $avg_pause_sec = sec_convert($avg_pause_sec,$time_format); $cust_sec = sec_convert($cust_sec,$time_format); + $wait_sec = sec_convert($wait_sec,$time_format); $avg_cust_sec = sec_convert($avg_cust_sec,$time_format); $avg_wait_sec = sec_convert($avg_wait_sec,$time_format); - $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session\n"; + $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session$DL$wait_sec\n"; $k++; } @@ -3647,6 +3823,737 @@ if ($function == 'agent_stats_export') +################################################################################ +### user_group_status - exports user group real-time stats +################################################################################ +if ($function == 'user_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status USER DOES NOT HAVE PERMISSION TO GET USER GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($user_groups)>0) and (strlen($user_groups)<10000) ) + { + $user_groupsOUTPUT = preg_replace("/\|/",' ',$user_groups); + $user_groupsSQL = preg_replace("/\|/","','",$user_groups); + $search_SQL .= "and user_group IN('$user_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$user_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $whereLOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $whereLOGallowed_callsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'usergroups' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dead_calls' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $whereLOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $i++; + } + } + + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $search_SQL $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: user_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + + if (eregi("INCALL",$row[1])) + { + $stmtP="select count(*) from parked_channels where channel_group='$row[5]';"; + $rsltP=mysql_query($stmtP,$link); + $rowP=mysql_fetch_row($rsltP); + $parked_channel = $rowP[0]; + + if ($parked_channel > 0) + {$row[1] = 'PARK';} + else + { + if (!ereg("$row[5]\|",$callerids)) + {$row[1] = 'DEAD';} + } + } + + if ($row[1]=='DEAD') + {$total_agents_dead++;} + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$user_groupsOUTPUT$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dead$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$user_groups|$stage"; + $result_reason = "user_group_status AGENTS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END user_group_status +################################################################################ + + + + + +################################################################################ +### in_group_status - exports in-group real-time stats +################################################################################ +if ($function == 'in_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status USER DOES NOT HAVE PERMISSION TO GET IN-GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($in_groups)>0) and (strlen($in_groups)<10000) ) + { + $in_groupsOUTPUT = preg_replace("/\|/",' ',$in_groups); + $in_groupsSQL = preg_replace("/\|/","','",$in_groups); + $search_SQL .= "where campaign_id IN('$in_groupsSQL')"; + $agent_search_SQL .= "where group_id IN('$in_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$in_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $LOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $LOGallowed_callsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'ingroups' . $DL . 'total_calls' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $search_SQL $LOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $total_calls++; + $i++; + } + } + + $users=''; + $stmt="SELECT distinct user from vicidial_live_inbound_agents where group_id IN('$in_groupsSQL');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $IG_users = mysql_num_rows($rslt); + if ($IG_users > 0) + { + $i=0; + while ($i < $IG_users) + { + $row=mysql_fetch_row($rslt); + $users .= "$row[0]','"; + $i++; + } + } + + $k=0; + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and vicidial_live_agents.user IN('$users') $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: in_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$in_groupsOUTPUT$DL$total_calls$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$in_groups|$stage"; + $result_reason = "in_group_status CALLS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END in_group_status +################################################################################ + + + + +################################################################################ +### agent_status - exports agent user real-time stats +################################################################################ +if ($function == 'agent_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status USER DOES NOT HAVE PERMISSION TO GET AGENT INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $agent_search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($agent_user)>0) and (strlen($agent_user)<100) ) + { + $agent_search_SQL .= "where user='$agent_user'"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status INVALID SEARCH PARAMETERS"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGadmin_viewable_groups = $row[0]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'status' . $DL . 'callerid' . $DL . 'lead_id' . $DL . 'campaign_id' . $DL . 'calls_today' . $DL . 'full_name' . $DL . 'user_group' . $DL . 'user_level' . "\n";} + + $stmt="select full_name,user_group,user_level from vicidial_users $agent_search_SQL $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $user_to_list = mysql_num_rows($rslt); + if ($user_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + $user_level = $row[2]; + + $stmt="select status,callerid,lead_id,campaign_id,calls_today from vicidial_live_agents $agent_search_SQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agent_to_list = mysql_num_rows($rslt); + if ($agent_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $callerid = $row[1]; + $lead_id = $row[2]; + $campaign_id = $row[3]; + $calls_today = $row[4]; + + $output .= "$status$DL$callerid$DL$lead_id$DL$campaign_id$DL$calls_today$DL$full_name$DL$user_group$DL$user_level\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$agent_user|$stage"; + $result_reason = "agent_status $output"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT LOGGED IN"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT FOUND"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + } + exit; + } +################################################################################ +### END agent_status +################################################################################ + + + +################################################################################ +### update_log_entry - updates the status of a log entry +################################################################################ +if ($function == 'update_log_entry') + { + if (strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "update_log_entry USER DOES NOT HAVE PERMISSION TO UPDATE LOGS"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + if ( (strlen($group)<2) or (strlen($call_id)<8) or (strlen($status)<8) ) + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $inbound_call=$row[0]; + + if ($inbound_call < 1) + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $outbound_call=$row[0]; + } + + if ( ($inbound_call < 1) and ($outbound_call < 1) ) + { + $result = 'ERROR'; + $result_reason = "update_log_entry GROUP NOT FOUND"; + $data = "$user|$group"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (preg_match("/\./",$call_id)) + { + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and uniqueid='$call_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and uniqueid='$call_id';";} + } + else + { + $lead_id = substr($call_id, -10); + $lead_id = ($lead_id + 0); + + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + } + $rslt=mysql_query($stmt, $link); + $found_recs = mysql_num_rows($rslt); + if ($found_recs > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id = $row[0]; + $old_status = $row[1]; + $uniqueid = $row[2]; + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS FOUND"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + + if ($inbound_call > 0) + {$stmt="UPDATE vicidial_closer_log SET status='$status' where campaign_id='$group' and closecallid='$uniqueid' order by call_date desc limit 1;";} + else + {$stmt="UPDATE vicidial_log SET status='$status' where campaign_id='$group' and uniqueid='$uniqueid';";} + $rslt=mysql_query($stmt, $link); + $update_count = mysql_affected_rows($link); + if ($update_count > 0) + { + $result = 'SUCCESS'; + $result_reason = "update_log_entry RECORD HAS BEEN UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid|$affected_rows"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry INVALID SEARCH PARAMETERS"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + exit; + } +################################################################################ +### END update_log_entry +################################################################################ + + + + + ################################################################################ ### add_lead - inserts a lead into the vicidial_list table ################################################################################ @@ -3663,7 +4570,7 @@ if ($function == 'add_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -3683,6 +4590,24 @@ if ($function == 'add_lead') if (strlen($rank)<1) {$rank='0';} if (strlen($list_id)<3) {$list_id='999';} if (strlen($phone_code)<1) {$phone_code='1';} + if ( ($nanpa_ac_prefix_check == 'Y') or (eregi("NANPA",$tz_method)) ) + { + $stmt="SELECT count(*) from vicidial_nanpa_prefix_codes;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vicidial_nanpa_prefix_codes_count = $row[0]; + if ($vicidial_nanpa_prefix_codes_count < 10) + { + $nanpa_ac_prefix_check='N'; + $tz_method = preg_replace("/NANPA/",'',$tz_method); + + $result = 'NOTICE'; + $result_reason = "add_lead NANPA options disabled, NANPA prefix data not loaded"; + echo "$result: $result_reason - $vicidial_nanpa_prefix_codes_count|$user\n"; + $data = "$inserted_alt_phones|$lead_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } $valid_number=1; if ( (strlen($phone_number)<6) || (strlen($phone_number)>16) ) @@ -3713,6 +4638,20 @@ if ($function == 'add_lead') $result_reason = "add_lead INVALID PHONE NUMBER AREACODE"; } } + if ( ($nanpa_ac_prefix_check=='Y') and ($valid_number > 0) ) + { + $phone_areacode = substr($phone_number, 0, 3); + $phone_prefix = substr($phone_number, 3, 3); + $stmt = "SELECT count(*) from vicidial_nanpa_prefix_codes where areacode='$phone_areacode' and prefix='$phone_prefix';"; + if ($DB>0) {echo "DEBUG: add_lead areacode check query - $stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $valid_number=$row[0]; + if ($valid_number < 1) + { + $result_reason = "add_lead INVALID PHONE NUMBER NANPA AREACODE PREFIX"; + } + } if ($valid_number < 1) { $result = 'ERROR'; @@ -3753,14 +4692,22 @@ if ($function == 'add_lead') if ( ($campaign_dnc_check == 'Y') or ($campaign_dnc_check == 'AREACODE') ) { if ($DB>0) {echo "DEBUG: Checking for campaign DNC\n";} + + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign_id; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if ($campaign_dnc_check == 'AREACODE') { $phone_areacode = substr($phone_number, 0, 3); $phone_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$campaign_id';"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign_id';";} + {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -4035,7 +4982,7 @@ if ($function == 'add_lead') ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); $new_status='NEW'; if ($callback == 'Y') @@ -4225,13 +5172,11 @@ if ($function == 'add_lead') $result = 'NOTICE'; $result_reason = "add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME"; echo "$result: $result_reason - $phone_number|$lead_id|$gmt_offset|$dialable|$user\n"; - $data = "$phone_number|$lead_id|$gmt_offset|$dialable"; + $data = "$phone_number|$lead_id|$gmt_offset|$dialable|$state"; api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); } else { - ### code to insert into hopper goes here - ### insert record into vicidial_hopper for alt_phone call attempt $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$list_id',gmt_offset_now='$gmt_offset',state='$state',user='',priority='$hopper_priority',source='P',vendor_lead_code='$vendor_lead_code';"; if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} @@ -4366,7 +5311,7 @@ if ($function == 'update_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -4561,6 +5506,7 @@ if ($function == 'update_lead') if (strlen($owner)>0) {$VL_update_SQL .= "owner='$owner',";} if (strlen($called_count)>0) {$VL_update_SQL .= "called_count='$called_count',";} if ( (strlen($reset_lead) > 0 && $reset_lead == 'Y') ) {$VL_update_SQL .= "called_since_last_reset='N',";} + if ( (strlen($update_phone_number)>0 && $update_phone_number=='Y' && strlen($phone_number)>0) ) {$VL_update_SQL .= "phone_number='$phone_number',";} $VL_update_SQL = preg_replace("/,$/","",$VL_update_SQL); $VL_update_SQL = preg_replace("/'--BLANK--'/","''",$VL_update_SQL); $VL_update_SQL = preg_replace("/\n/","!N",$VL_update_SQL); @@ -4900,7 +5846,7 @@ if ($function == 'update_lead') else { ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); if (strlen($status)<1) {$status='NEW';} @@ -5094,11 +6040,6 @@ api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$resul - - - - - if ($format=='debug') { $ENDtime = date("U"); @@ -5119,7 +6060,7 @@ exit; ##### LOOKUP GMT, FINDS THE CURRENT GMT OFFSET FOR A PHONE NUMBER ##### -function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner) +function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix) { require("dbconnect.php"); @@ -5171,6 +6112,24 @@ if ( ($tz_method=="TZCODE") && (strlen($owner)>1) ) if (strlen($dst_range)>2) {$dst = 'Y';} } } +if ( (eregi("NANPA",$tz_method)) && (strlen($USarea)>2) && (strlen($USprefix)>2) ) + { + $stmt="select GMT_offset,DST from vicidial_nanpa_prefix_codes where areacode='$USarea' and prefix='$USprefix';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[0]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[1]; + $dst_range = ''; + if ($dst == 'Y') + {$dst_range = 'SSM-FSN';} + $PC_processed++; + $postalgmt_found++; + $post++; + } + } if ($postalgmt_found < 1) { $PC_processed=0; @@ -5924,273 +6883,160 @@ function dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state) $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times FROM vicidial_call_times where call_time_id='$local_call_time';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; - if ($GMT_day==0) #### Sunday local time - { - if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + if ( (strlen($Gct_state_call_times) > 2) and (strlen($state)>0) ) { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==1) #### Monday local time - { - if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==2) #### Tuesday local time - { - if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==3) #### Wednesday local time - { - if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==4) #### Thursday local time - { - if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==5) #### Friday local time - { - if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==6) #### Saturday local time - { - if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) - {$dialable=1;} - } - } + $Gct_state_call_timesSQL = $Gct_state_call_times; + $Gct_state_call_timesSQL = preg_replace("/\|/","','",$Gct_state_call_timesSQL); + $Gct_state_call_timesSQL = preg_replace("/^',|,'$/",'',$Gct_state_call_timesSQL); - return $dialable; - } - -/* - $ct_states = ''; - $ct_state_gmt_SQL = ''; - $ct_srs=0; - $b=0; - if (strlen($Gct_state_call_times)>2) - { - $state_rules = explode('|',$Gct_state_call_times); - $ct_srs = ((count($state_rules)) - 2); - } - while($ct_srs >= $b) - { - if ( (strlen($state_rules[$b])>1) and (strlen($state)>1) ) - { - $stmt="SELECT STAR from vicidial_state_call_times where state_call_time_id='$state_rules[$b]' and state_call_time_state='$state';"; + $stmt="SELECT sct_default_start,sct_default_stop,sct_sunday_start,sct_sunday_stop,sct_monday_start,sct_monday_stop,sct_tuesday_start,sct_tuesday_stop,sct_wednesday_start,sct_wednesday_stop,sct_thursday_start,sct_thursday_stop,sct_friday_start,sct_friday_stop,sct_saturday_start,sct_saturday_stop FROM vicidial_state_call_times where state_call_time_id IN($Gct_state_call_timesSQL) and state_call_time_state='$state';"; + if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; - - $ct_states .="'$Gstate_call_time_state',"; - - $r=0; - $state_gmt=''; - while($r < $g) + $state_times_to_print = mysql_num_rows($rslt); + if ($state_times_to_print > 0) { - if ($GMT_day[$r]==0) #### Sunday local time - { - if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==1) #### Monday local time - { - if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==2) #### Tuesday local time - { - if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==3) #### Wednesday local time - { - if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==4) #### Thursday local time - { - if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==5) #### Friday local time - { - if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==6) #### Saturday local time - { - if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - $r++; + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[0]; + $Gct_default_stop = $rowx[1]; + $Gct_sunday_start = $rowx[2]; + $Gct_sunday_stop = $rowx[3]; + $Gct_monday_start = $rowx[4]; + $Gct_monday_stop = $rowx[5]; + $Gct_tuesday_start = $rowx[6]; + $Gct_tuesday_stop = $rowx[7]; + $Gct_wednesday_start = $rowx[8]; + $Gct_wednesday_stop = $rowx[9]; + $Gct_thursday_start = $rowx[10]; + $Gct_thursday_stop = $rowx[11]; + $Gct_friday_start = $rowx[12]; + $Gct_friday_stop = $rowx[13]; + $Gct_saturday_start = $rowx[14]; + $Gct_saturday_stop = $rowx[15]; } - $state_gmt = "$state_gmt'99'"; - $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; } - $b++; - } - if (strlen($ct_states)>2) - { - $ct_states = eregi_replace(",$",'',$ct_states); - $ct_statesSQL = "and state NOT IN($ct_states)"; + ### go through each day to determine dialability + if ($GMT_day==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) + {$dialable=1;} + } + } + + return $dialable; } else { - $ct_statesSQL = ""; + return 0; } - -*/ - + } @@ -6208,7 +7054,6 @@ function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$val $TOTALrun = ($runS + $runM); $NOW_TIME = date("Y-m-d H:i:s"); - # api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script',run_time='$TOTALrun';"; $rslt=mysql_query($stmt, $link); } diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include01.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include01.php new file mode 100644 index 00000000..3e9f7b76 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include01.php @@ -0,0 +1,105 @@ +
    \n"; echo ""; echo "
    Administration: Maximum System Stats   $NWB#vicidial_max_stats$NWE

    \n"; - echo "
    \n"; + echo ""; + + echo "\n"; + + echo " to "; + + echo "    
    \n"; + echo "
    [DESCARGAR ALL]
    \n"; if ( (preg_match("/Maximum System Stats/",$LOGallowed_reports)) or (preg_match("/ALL INFORMES/",$LOGallowed_reports)) ) { @@ -33149,31 +36113,38 @@ if ($ADD==999992) } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } else @@ -33182,8 +36153,128 @@ if ($ADD==999992) } ##### END max system stats report ##### +##### If report run, update the time in the vicidial_report_log table ##### +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } +###################### +# ADD=999991 display server version info +###################### +if ($ADD==999991) + { + echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls','total call count in and out',0); + $download_link="[DESCARGAR]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls','total call count in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_inbound_all','total inbound call count',0); + $download_link="[DESCARGAR]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_inbound_all','total inbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_outbound_all','total outbound call count',0); + $download_link="[DESCARGAR]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_outbound_all','total outbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0); + $download_link="[DESCARGAR]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_inbound','most concurrent calls inbound total',0); + $download_link="[DESCARGAR]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_inbound','most concurrent calls inbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_outbound','most concurrent calls outbound total',0); + $download_link="[DESCARGAR]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_outbound','most concurrent calls outbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_agents','most concurrent agents',0); + $download_link="[DESCARGAR]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_agents','most concurrent agents',0,$end_date,$download_link); echo "
    \n"; + echo ""; + + echo "
    Administration: Server Version Information

    \n"; + + if ($LOGview_reports==1) + { + if ($reports_only_user < 1) + { + echo "
    \n";
    +
    +			echo "";
    +			echo "\n";
    +
    +			$stmt="SELECT server_id,server_description,server_ip,active,sysload,channels_total,cpu_idle_percent,disk_usage from servers order by server_id;";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$servers_to_print = mysql_num_rows($rslt);
    +			$i=0;
    +			while ($i < $servers_to_print)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$server_id[$i] =			$row[0];
    +				$server_description[$i] =	$row[1];
    +				$server_ip[$i] =			$row[2];
    +				$active[$i] =				$row[3];
    +				$sysload[$i] =				$row[4];
    +				$channels_total[$i] =		$row[5];
    +				$cpu_idle_percent[$i] =		$row[6];
    +				$disk_usage[$i] =			$row[7];
    +				$i++;
    +				}
    +
    +			$o=0;
    +			while ($servers_to_print > $o)
    +				{
    +				$cpu = (100 - $cpu_idle_percent[$o]);
    +				$disk = '';
    +				$disk_ary = explode('|',$disk_usage[$o]);
    +				$disk_ary_ct = count($disk_ary);
    +				$k=0;
    +				while ($k < $disk_ary_ct)
    +					{
    +					$disk_ary[$k] = preg_replace("/^\d* /","",$disk_ary[$k]);
    +					if ($k<1) {$disk = "$disk_ary[$k]";}
    +					else
    +						{
    +						if ($disk_ary[$k] > $disk) {$disk = "$disk_ary[$k]";}
    +						}
    +					$k++;
    +					}
    +				$disk = "$disk%";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +
    +				$s_time=' ';
    +				$s_ver=' ';
    +				$s_info_print='no svn information';
    +				$stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$servertime_to_print = mysql_num_rows($rslt);
    +				if ($servertime_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_time = $row[0];
    +					}
    +				$stmt="SELECT svn_revision,svn_info from servers where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$serverver_to_print = mysql_num_rows($rslt);
    +				if ($serverver_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_ver = $row[0];
    +					$s_info = $row[1];
    +					$s_info_print = preg_replace("/\n/",'
    ',$s_info); + } + if (strlen($s_info_print) < 1) {$s_info_print='no svn information';} + echo ""; + echo ""; + + echo "\n"; + $o++; + } + echo "
    SERVERDESCRIPCIÓNIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]$sysload[$o] - $cpu%$channels_total[$o]$disk$s_time$s_ver
     $s_info_print
    \n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } +##### END server version info ##### echo "
    \n"; @@ -33199,7 +36290,7 @@ echo "

    "; echo "VERSIÓN: $admin_version
    "; echo "CONSTRUCCION: $build\n"; if (!preg_match("/_CONSTRUCCION_/",$SShosted_settings)) - {echo "
    © 2012 ViciDial Group
    ";} + {echo "
    © 2013 ViciDial Group
    ";} echo "
    \n"; ?> @@ -33646,7 +36737,27 @@ if (isset($camp_lists)) $CCLsql = "and (called_count < $call_count_limit)"; } - $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL"; + $EXPsql=''; + $expired_lists=''; + $REPORTdate = date("Y-m-d"); + $stmt="SELECT list_id FROM vicidial_lists where list_id IN($camp_lists) and (active='Y') and (expiration_date < \"$REPORTdate\");"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + $f=0; + while ($rslt_rows > $f) + { + $rowx=mysql_fetch_row($rslt); + $expired_lists .= "'$rowx[0]',"; + $f++; + } + $expired_lists = preg_replace("/,$/",'',$expired_lists); + if (strlen($expired_lists) < 2) {$expired_lists = "''";} + $EXPsql = "and list_id NOT IN($expired_lists)"; + + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $EXPsql"; #$DB=1; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/admin_email_accounts.php b/agc_2-X/trunk/LANG_www/vicidial_es/admin_email_accounts.php new file mode 100644 index 00000000..7b0904af --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/admin_email_accounts.php @@ -0,0 +1,884 @@ + LICENSE: AGPLv2 +# +# This page manages the inbound email accounts in ViciDial +# +# changes: +# 121214-2245 - First Build +# 130102-1131 - Small admin log change +# 130221-1754 - Added level 8 disable add feature +# + +$admin_version = '2.6-3'; +$build = '130221-1754'; + +$sh="emails"; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["action"])) {$action=$_GET["action"];} + elseif (isset($_POST["action"])) {$action=$_POST["action"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["eact"])) {$eact=$_GET["eact"];} + elseif (isset($_POST["eact"])) {$eact=$_POST["eact"];} +if (isset($_GET["email_account_id"])) {$email_account_id=$_GET["email_account_id"];} + elseif (isset($_POST["email_account_id"])) {$email_account_id=$_POST["email_account_id"];} +if (isset($_GET["email_account_name"])) {$email_account_name=$_GET["email_account_name"];} + elseif (isset($_POST["email_account_name"])) {$email_account_name=$_POST["email_account_name"];} +if (isset($_GET["email_account_description"])) {$email_account_description=$_GET["email_account_description"];} + elseif (isset($_POST["email_account_description"])) {$email_account_description=$_POST["email_account_description"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["email_account_server"])) {$email_account_server=$_GET["email_account_server"];} + elseif (isset($_POST["email_account_server"])) {$email_account_server=$_POST["email_account_server"];} +if (isset($_GET["email_account_user"])) {$email_account_user=$_GET["email_account_user"];} + elseif (isset($_POST["email_account_user"])) {$email_account_user=$_POST["email_account_user"];} +if (isset($_GET["email_account_pass"])) {$email_account_pass=$_GET["email_account_pass"];} + elseif (isset($_POST["email_account_pass"])) {$email_account_pass=$_POST["email_account_pass"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["email_frequency_check_mins"])) {$email_frequency_check_mins=$_GET["email_frequency_check_mins"];} + elseif (isset($_POST["email_frequency_check_mins"])) {$email_frequency_check_mins=$_POST["email_frequency_check_mins"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["default_list_id"])) {$default_list_id=$_GET["default_list_id"];} + elseif (isset($_POST["default_list_id"])) {$default_list_id=$_POST["default_list_id"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["new_account_id"])) {$new_account_id=$_GET["new_account_id"];} + elseif (isset($_POST["new_account_id"])) {$new_account_id=$_POST["new_account_id"];} +if (isset($_GET["source_email_account"])) {$source_email_account=$_GET["source_email_account"];} + elseif (isset($_POST["source_email_account"])) {$source_email_account=$_POST["source_email_account"];} +if (isset($_GET["confirm_deletion"])) {$confirm_deletion=$_GET["confirm_deletion"];} + elseif (isset($_POST["confirm_deletion"])) {$confirm_deletion=$_POST["confirm_deletion"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_account_type"])) {$email_account_type=$_GET["email_account_type"];} + elseif (isset($_POST["email_account_type"])) {$email_account_type=$_POST["email_account_type"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,allow_emails,allow_emails,level_8_disable_add FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_queuemetrics_logging = $row[1]; + $SSenable_vtiger_integration = $row[2]; + $SSqc_features_active = $row[3]; + $SSoutbound_autodial_active = $row[4]; + $SSsounds_central_control_active = $row[5]; + $SSenable_second_webform = $row[6]; + $SSuser_territories_active = $row[7]; + $SScustom_fields_enabled = $row[8]; + $SSadmin_web_directory = $row[9]; + $SSwebphone_url = $row[10]; + $SSfirst_login_trigger = $row[11]; + $SShosted_settings = $row[12]; + $SSdefault_phone_registration_password =$row[13]; + $SSdefault_phone_login_password = $row[14]; + $SSdefault_server_password = $row[15]; + $SStest_campaign_calls = $row[16]; + $SSactive_voicemail_server = $row[17]; + $SSvoicemail_timezones = $row[18]; + $SSdefault_voicemail_timezone = $row[19]; + $SSdefault_local_gmt = $row[20]; + $SScampaign_cid_areacodes_enabled = $row[21]; + $SSpllb_grouping_limit = $row[22]; + $SSdid_ra_extensions_enabled = $row[23]; + $SSexpanded_list_stats = $row[24]; + $SScontacts_enabled = $row[25]; + $SSalt_log_server_ip = $row[26]; + $SSalt_log_dbname = $row[27]; + $SSalt_log_login = $row[28]; + $SSalt_log_pass = $row[29]; + $SStables_use_alt_log_db = $row[30]; + $SSallow_emails = $row[31]; + $SSemail_enabled = $row[32]; + $SSlevel_8_disable_add = $row[33]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $email_account_id = ereg_replace("[^_0-9a-zA-Z]","",$email_account_id); + $email_account_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_name); + $email_account_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_description); + $user_group = ereg_replace("[^_0-9a-zA-Z]","",$user_group); + $protocol = ereg_replace("[^_0-9a-zA-Z]","",$protocol); + $email_account_server = ereg_replace("[^\.\-\_0-9a-zA-Z]","",$email_account_server); + $active = ereg_replace("[^_0-9a-zA-Z]","",$active); + $email_frequency_check_mins = preg_replace("/^0-9/","",$email_frequency_check_mins); + $list_id = ereg_replace("[^0-9]","",$list_id); + + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$add_copy_disabled=0; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_email_accounts='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($webroot_writable > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$user = $PHP_AUTH_USER; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + if ($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,user_level,user_group,modify_email_accounts from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $LOGuser_level = $row[1]; + $LOGuser_group = $row[2]; + $LOGemails_modify = $row[3]; + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} + + $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGallowed_reports = $row[1]; + $LOGadmin_viewable_groups = $row[2]; + $LOGadmin_viewable_call_times = $row[3]; + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} + $regexLOGadmin_viewable_groups = " $LOGadmin_viewable_groups "; + + $UUgroups_list=''; + if ($admin_viewable_groupsALL > 0) + {$UUgroups_list .= "\n";} + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + $UUgroups_to_print = mysql_num_rows($rslt); + $o=0; + while ($UUgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $UUgroups_list .= "\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + # $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ADMINISTRATION: Marcador campos cuenta de correo electrónico +<?php + +##### BEGIN Set variables to make header show properly ##### +$ADD = '0'; +$hh = 'admin'; +$sh = 'emails'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$admin_color = '#FFFF99'; +$admin_font = 'BLACK'; +$admin_color = '#E6E6E6'; +$emails_color = '#FFFF99'; +$emails_font = 'BLACK'; +$emails_color = '#C6C6C6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +if ( ($LOGemails_modify < 1) or ($LOGuser_level < 8) ) + { + echo "You are not authorized to view this section\n"; + exit; + } + +if ($SSemail_enabled < 1) + { + echo "ERROR: mensajes de correo electrónico entrantes no están activos en este sistema\n"; + exit; + } + + +$NWB = "   <a href=\"javascript:openNewWindow('admin.php?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"AYUDA\" ALIGN=TOP></A>"; + + +if ($DB > 0) +{ +echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_email_account,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order"; +} + +if ($eact=="DELETE" && $confirm_deletion=="yes" && $email_account_id) + { + $del_stmt="delete from vicidial_email_accounts where email_account_id='$email_account_id'"; + $del_rslt=mysql_query($del_stmt, $link); + $message="ACCOUNT $email_account_id DELETED<BR/>"; + $eact=""; + } + + + +if (($ENVIAR=="ENVIAR" || $ENVIAR=="UPDATE") && $email_account_id) + { + $error_msg=""; + if (!$list_id) {$error_msg.="- Default list ID is inválida o nula<BR/>";} + if (!$email_account_id) {$error_msg.="- Email account ID is inválida o nula<BR/>";} + if (!$email_account_name) {$error_msg.="- Email account name is inválida o nula<BR/>";} + if (!$email_account_server) {$error_msg.="- Email account server is inválida o nula<BR/>";} + if (!$email_account_user) {$error_msg.="- Email account user is inválida o nula<BR/>";} + if (!$email_account_pass) {$error_msg.="- Email account password is inválida o nula<BR/>";} + if (!filter_var($email_replyto_address, FILTER_VALIDATE_EMAIL)) {$error_msg.="- Email reply-to address is inválida o nula<BR/>";} + + if (!$error_msg) + { + if ($ENVIAR=="ENVIAR") + { + if ($add_copy_disabled > 0) + { + echo "<br>Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } + else + { + $ins_stmt="INSERT INTO vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, email_replyto_address, protocol, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$email_account_id', '$email_account_name', '$email_account_description', '$user_group', '$email_replyto_address', '$protocol', '$email_account_server', '$email_account_user', '$email_account_pass', '$active', '$email_frequency_check_mins', '$group_id', '$default_list_id', '$email_account_type', '$call_handle_method', '$agent_search_method', '$list_id', '$campaign_id')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to create the new account<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="CUENTA NUEVA $email_account_id CREADO CON ÉXITO"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $upd_stmt="update vicidial_email_accounts set email_account_name='$email_account_name', email_account_description='$email_account_description', user_group='$user_group', protocol='$protocol', email_replyto_address='$email_replyto_address', email_account_server='$email_account_server', email_account_user='$email_account_user', email_account_pass='$email_account_pass', active='$active', email_frequency_check_mins='$email_frequency_check_mins', group_id='$group_id', default_list_id='$default_list_id', email_account_type='$email_account_type', call_handle_method='$call_handle_method', agent_search_method='$agent_search_method', campaign_id='$campaign_id', list_id='$list_id' WHERE email_account_id='$email_account_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to update account $email_account_id<BR/>"; + if($DB>0) {$error_msg.="<B>$upd_stmt</B><BR>";} + } + else + { + $message="ACCOUNT $email_account_id MODIFICADO CON ÉXITO"; + # $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$upd_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='MODIFY', record_id='$email_account_id', event_code='EMAIL ACCOUNT MODIFIED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } +else if ($ENVIAR=="COPY") + { + $stmt="select * from vicidial_email_accounts where email_account_id='$source_email_account'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) + { + if ($add_copy_disabled > 0) + { + echo "<br>Usted no tiene permiso para agregar registros en este sistema -system_settings-\n"; + } + else + { + $row=mysql_fetch_array($rslt); + $ins_stmt="insert into vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, protocol, email_replyto_address, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$new_account_id', '$email_account_name', '$row[email_account_description]', '$row[user_group]', '$row[protocol]', '$row[email_replyto_address]', '$row[email_account_server]', '$row[email_account_user]', '$row[email_account_pass]', '$row[active]', '$row[email_frequency_check_mins]', '$row[group_id]','$row[default_list_id]', '$row[email_account_type]', '$row[call_handle_method]','$row[agent_search_method]', '$row[list_id]', '$row[campaign_id]')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- Se ha producido un error desconocido al intentar copiar la nueva cuenta<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="CUENTA NUEVA $new_account_id ÉXITO DE COPIADO $source_email_account<BR/>"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $error_msg="- Error - correo electrónico de origen no existe<BR/>"; + if($DB>0) {$error_msg.="<B>$stmt</B><BR>";} + } + } + + +################################################################################ +##### BEGIN copy fields to a list form +if ($eact == "COPY") + { + ##### get lists listing for dynamic pulldown + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts order by email_account_id"; + $rsltx=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rsltx); + $accounts_list=''; + $o=0; + if ($accounts_to_print>0) + { + while ($accounts_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $accounts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "CUENTA NO COPIADO<BR/>Los datos que ha enviado tiene los siguientes errores:<BR/>$error_msg";} + echo "<br>Copie nueva cuenta desde una cuenta existente<form action='$PHP_SELF' method='GET'>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=action value=COPY_EMAIL_ENVIAR>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID de la cuenta de copia del: </td><td align=left><select size=1 name=source_email_account>\n"; + echo "$accounts_list"; + echo "</select></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>New Account ID: </td><td align=left><input type=text name=new_account_id value='$new_account_id' size=10 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>New Account Name: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100>$NWB#vicidial_email_accounts-carrier_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ENVIAR value='COPY'></td></tr>\n"; + echo "</TABLE></center>\n"; + echo "</TD></TR></TABLE>\n"; + } + else + { + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><br>*** No hay cuentas existentes para copiar desde ***\n"; + echo "</TD></TR></TABLE>\n"; + } + } +### END copy fields to a list form +else if ($eact == "ADD") + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "CUENTA NO INSERTADA<BR/>Los datos que ha enviado tiene los siguientes errores:<BR/>$error_msg";} + echo "<br>AÑADIR NUEVA CUENTA DE CORREO ELECTRÓNICO ENTRANTE<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account ID: </td><td align=left><input type=text name=email_account_id size=15 maxlength=20 value='$email_account_id'>$NWB#vicidial_email_accounts-email_account_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Correo electrónico Nombre de cuenta: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Activo: </td><td align=left><select size=1 name=active><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Descripción de la cuenta: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Tipo de cuenta: </td><td align=left><select size=1 name=email_account_type><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Grupo de usuarios de administración: </td><td align=left><select size=1 name=user_group>\n"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Todos los grupos de usuarios de administrador</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Protocolo de cuenta de correo electrónico: </td><td align=left><select size=1 name=protocol><option SELECTED>IMAP</option><option>POP3</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail Dirección de respuesta: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Cuenta de correo electrónico del servidor: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Correo electrónico de cuentas de usuario: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Contraseña: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Dentro de la ID de grupo</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "</select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Por defecto Lista ID</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>En llamada de grupo Manipule Método:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En Grupo Agente Método de búsqueda:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>-En la lista Grupo de Identificación:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En el Grupo de Campaña-ID:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ENVIAR VALUE=ENVIAR><input type=hidden name='eact' value='ADD'></td></tr>\n"; + echo "</TABLE></center></form>\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } +else if (($eact=="DELETE" || $eact=="UPDATE") && $email_account_id) + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT * from vicidial_email_accounts where email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_array($rslt); + + $email_account_id=$row["email_account_id"]; + $email_account_name=$row["email_account_name"]; + $email_account_description=$row["email_account_description"]; + $user_group=$row["user_group"]; + $protocol=$row["protocol"]; + $email_replyto_address=$row["email_replyto_address"]; + $email_account_server=$row["email_account_server"]; + $email_account_user=$row["email_account_user"]; + $email_account_pass=$row["email_account_pass"]; + $active=$row["active"]; + $email_frequency_check_mins=$row["email_frequency_check_mins"]; + $group_id=$row["group_id"]; + $call_handle_method=$row["call_handle_method"]; + $agent_search_method=$row["agent_search_method"]; + $campaign_id=$row["campaign_id"]; + $list_id=$row["list_id"]; + $default_list_id=$row["default_list_id"]; + $email_account_type=$row["email_account_type"]; + + if ($eact=="DELETE" && $email_account_id) + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><B>CONFIRMAR LA SUPRESIÓN DE ENTRADA CUENTA DE CORREO ELECTRÓNICO $email_account_id</B><BR>\n"; + echo "<a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id&confirm_deletion=yes'>Haga clic para borrar la cuenta $email_account_id</a>\n"; + echo "</font>"; + } + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + ## Get unhandled count + $stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $unhandled_emails=$row[0]; + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + if ($error_msg) {echo "CUENTA NO ACTUALIZADO<BR/>Los datos que ha enviado tiene los siguientes errores:<BR/>$error_msg";} + echo "<br>Actualizar un correo electrónico existente CUENTA DE ENTRADA<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account ID: </td><td align=left><input type=hidden name=email_account_id value='$email_account_id'><B>$email_account_id$NWB#vicidial_email_accounts-email_account_id$NWE</B></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Correo electrónico Nombre de cuenta: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Activo: </td><td align=left><select size=1 name=active>"; + echo "<option value='$active' selected>$active</option>"; + echo "<option>Y</option><option>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Descripción de la cuenta: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Tipo de cuenta: </td><td align=left><select size=1 name=email_account_type><option value='$email_account_type' selected>$email_account_type</option><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Grupo de usuarios de administración: </td><td align=left><select size=1 name=user_group>\n"; + echo "<option value='$user_group' selected>$user_group</option>"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Todos los grupos de usuarios de administrador</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Protocolo de cuenta de correo electrónico: </td><td align=left><select size=1 name=protocol><option>IMAP</option><option>POP3</option><option SELECTED>$protocol</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>E-mail Dirección de respuesta: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Cuenta de correo electrónico del servidor: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Correo electrónico de cuentas de usuario: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Contraseña: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + echo "<option value='$email_frequency_check_mins' selected>$email_frequency_check_mins</option>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=3811&group_id=$group_id\">Dentro de la ID de grupo</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "<option value='$group_id' selected>$group_id</option></select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Por defecto Lista ID</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + +############### + echo "<tr bgcolor=#B6D3FC><td align=right>En llamada de grupo Manipule Método:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En Grupo Agente Método de búsqueda:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>-En la lista Grupo de Identificación:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En el Grupo de Campaña-ID:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Emails Un-manejados: </td><td align=left><B>$unhandled_emails</B></td></tr>\n"; +################ + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=ENVIAR VALUE=UPDATE><input type=hidden name='eact' value='UPDATE'></td></tr>\n"; + echo "</TABLE><BR><BR>"; + if ($LOGuser_level >= 9) + { + echo "<br><br><a href=\"admin.php?ADD=720000000000000&category=EMAIL&stage=$email_account_id\">Haga clic aquí para ver los cambios de administrador para este disco</FONT>\n"; + } + echo "<BR><BR><a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id'>DELETE EMAIL ACCOUNT</a></center></form>\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } +else + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + echo "<br>ENTRADA cuenta de correo electrónico LISTADOS:\n"; + echo "<center><TABLE width=750 cellspacing=0 cellpadding=1>\n"; + echo "<TR BGCOLOR=BLACK>\n"; + echo "<TD><font size=1 color=white>ACCOUNT ID</TD>\n"; + echo "<TD><font size=1 color=white>ACCOUNT NAME</TD>\n"; + echo "<TD><font size=1 color=white>DESCRIPCIÓN</TD>\n"; + echo "<TD><font size=1 color=white>REPLY-TO ADDRESS</TD>\n"; + echo "<TD><font size=1 color=white>PROTOCOL</TD>\n"; + echo "<TD><font size=1 color=white>SERVER</TD>\n"; + echo "<TD><font size=1 color=white>FREQUENCY</TD>\n"; + echo "<TD><font size=1 color=white>ACTIVO</TD>\n"; + echo "<TD><font size=1 color=white>Mensajes no leídos</TD>\n"; + echo "<TD><font size=1 color=white>MODIFICAR</TD></tr>\n"; + + $stmt="SELECT email_account_id, email_account_name, email_account_description, email_replyto_address, protocol, email_account_server, email_frequency_check_mins, active from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $rslt=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rslt); + $o=0; + while ($accounts_to_print > $o) + { + $row=mysql_fetch_array($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$row[email_account_id]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<tr $bgcolor><td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">$row[email_account_id]</a></font></td>"; + echo "<td><font size=1> $row[email_account_name]</font></td>"; + echo "<td><font size=1> $row[email_account_description]</font></td>"; + echo "<td><font size=1> $row[email_replyto_address]</font></td>"; + echo "<td><font size=1> $row[protocol]</font></td>"; + echo "<td><font size=1> $row[email_account_server]</font></td>"; + echo "<td><font size=1> $row[email_frequency_check_mins] mins</font></td>"; + echo "<td><font size=1> $row[active]</font></td>"; + echo "<td><font size=1> $unhandled_emails</font></td>"; + echo "<td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">MODIFICAR</a></font></td></tr>\n"; + $o++; + } + + echo "</table></font>"; + } + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $STARTtime); +echo "\n\n\n<br><br><br>\n<font size=1> runtime: $RUNtime seconds         Versión: $admin_version     Build: $build</font>"; + +?> + +</body> +</html> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/admin_header.php b/agc_2-X/trunk/LANG_www/vicidial_es/admin_header.php index d83a8a80..c8525c96 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/admin_header.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/admin_header.php @@ -1,7 +1,7 @@ <?php # admin_header.php - VICIDIAL administration header # -# Copyright (C) 2012 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 # # CHANGES @@ -37,6 +37,10 @@ # 111106-0939 - Changes for user group restrictions # 111116-0208 - Added ALT and ADDR3 in-group handle methods # 120402-2134 - Changed lead loader link to fourth gen +# 121116-1412 - Added QC functionality +# 121123-0911 - Added Call Times Holidays Inbound functionality +# 121214-2238 - Added email menus +# 130221-1830 - Added Level 8 disable add option # @@ -50,13 +54,14 @@ if($short_header) ?> <TD>   <A HREF="admin.php" ALT="Usuarios"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Usuarios</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10" ALT="Campañas"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Campañas</B></A>   </TD> + <?php include 'qc/QC_header_include02.php'; ?> <TD>   <A HREF="admin.php?ADD=100" ALT="Listas"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Listas</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000000" ALT="Escrituras"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Escrituras</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000000" ALT="Filtros"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Filtros</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000" ALT="Inbound"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Inbound</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=100000" ALT="Grupos De Usuario"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Grupos De Usuario</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000" ALT="Agentes Remotos"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Agentes Remotos</B></A>   </TD> - <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Admin</B></A>   </TD> + <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Administración</B></A>   </TD> <?php } else @@ -110,6 +115,7 @@ if ($hh=='admin') if ($hh=='reports') {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} +include('qc/QC_header_include01.php'); echo "\n"; echo ""; $field_check=explode($delimiter, $buffer); flush(); -} else if ($form_action=="update_template") { + } +else if ($form_action=="update_template") + { echo "Hi"; -} else { + } +else + { + if ( (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) or (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$sample_template_file_name)) ) + { + echo "ERROR: Invalid File Name: $LF_orig $sample_template_file_name\n"; + exit; + } # echo "** $form_action"; die; $fields_stmt = "SELECT list_id, vendor_lead_code, source_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, rank, owner from vicidial_list limit 1"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/list_download.php b/agc_2-X/trunk/LANG_www/vicidial_es/list_download.php index 2ad575be..9d4c1b1c 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/list_download.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/list_download.php @@ -4,7 +4,7 @@ # downloads the entire contents of a vicidial list ID to a flat text file # that is tab delimited # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,13 @@ # 100924-1609 - Added ALL-LISTS option for downloading everything # 100929-1919 - Fixed ALL-LISTS download option to include custom fields # 101004-2108 - Added generic custom column headers for custom fields +# 120713-2110 - Added extended_vl_fields option +# 120907-1217 - Raised extended fields up to 99 +# 130414-0228 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -91,6 +87,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$list_id, $group_id, $download_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -112,6 +137,16 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL exit; } +if (file_exists('options.php')) + {require('options.php');} +$extended_vl_fields_SQL=''; +$extended_vl_fields_HEADER=''; +if ($extended_vl_fields > 0) + { + $extended_vl_fields_SQL = ',q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31,q32,q33,q34,q35,q36,q37,q38,q39,q40,q41,q42,q43,q44,q45,q46,q47,q48,q49,q50,q51,q52,q53,q54,q55,q56,q57,q58,q59,q60,q61,q62,q63,q64,q65,q66,q67,q68,q69,q70,q71,q72,q73,q74,q75,q76,q77,q78,q79,q80,q81,q82,q83,q84,q85,q86,q87,q88,q89,q90,q91,q92,q93,q94,q95,q96,q97,q98,q99'; + $extended_vl_fields_HEADER = "\tq01\tq02\tq03\tq04\tq05\tq06\tq07\tq08\tq09\tq10\tq11\tq12\tq13\tq14\tq15\tq16\tq17\tq18\tq19\tq20\tq21\tq22\tq23\tq24\tq25\tq26\tq27\tq28\tq29\tq30\tq31\tq32\tq33\tq34\tq35\tq36\tq37\tq38\tq39\tq40\tq41\tq42\tq43\tq44\tq45\tq46\tq47\tq48\tq49\tq50\tq51\tq52\tq53\tq54\tq55\tq56\tq57\tq58\tq59\tq60\tq61\tq62\tq63\tq64\tq65\tq66\tq67\tq68\tq69\tq70\tq71\tq72\tq73\tq74\tq75\tq76\tq77\tq78\tq79\tq80\tq81\tq82\tq83\tq84\tq85\tq86\tq87\tq88\tq89\tq90\tq91\tq92\tq93\tq94\tq95\tq96\tq97\tq98\tq99"; + } + $LOGallowed_campaignsSQL=''; if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) { @@ -304,13 +339,13 @@ else { $TXTfilename = "LIST_$list_id$US$FILE_TIME.txt"; $list_id_header=''; - $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id='$list_id';"; + $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id='$list_id';"; if ($list_id=='ALL-LISTS') { $list_id_header="list_id\t"; - $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id > 0;"; + $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id > 0;"; } - $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner"; + $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner$extended_vl_fields_HEADER"; $header_columns=''; } @@ -342,16 +377,21 @@ while ($i < $leads_to_print) else { $row[29] = preg_replace("/\n|\r/",'!N',$row[29]); + $extended_vl_fields_DATA=''; if ($list_id=='ALL-LISTS') { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[33]\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]$extended_vl_fields_DATA"; $export_list_id[$i] = $row[0]; $export_lead_id[$i] = $row[1]; } else { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]\t$row[132]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]$extended_vl_fields_DATA"; $export_list_id[$i] = $list_id; $export_lead_id[$i] = $row[0]; } @@ -480,14 +520,6 @@ if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') ) } -### LOG INSERTION Admin Log Table ### -$SQL_log = "$stmt|$stmtA|"; -$SQL_log = ereg_replace(';','',$SQL_log); -$SQL_log = addslashes($SQL_log); -$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; -if ($DB) {echo "|$stmt|\n";} -$rslt=mysql_query($stmt, $link); - echo "$header_row$header_columns\r\n"; @@ -499,6 +531,33 @@ while ($i < $leads_to_print) $i++; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +### LOG INSERTION Admin Log Table ### +$SQL_log = "$stmt|$stmtA|"; +$SQL_log = ereg_replace(';','',$SQL_log); +$SQL_log = addslashes($SQL_log); +$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/non_agent_api.php b/agc_2-X/trunk/LANG_www/vicidial_es/non_agent_api.php index a4a8d34e..a59b4ffe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/non_agent_api.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/non_agent_api.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed as an API(Application Programming Interface) to allow # other programs to interact with all non-agent-screen VICIDIAL functions @@ -65,10 +65,20 @@ # 120213-1613 - Added optional logging of all non-admin.php requests, enabled in options.php # 120315-1537 - Added filter for single-quotes and backslashes on custom field data # 120326-1317 - Added agent_stats_export function +# 120810-0859 - Added add_group_alias function, altered agent_stats_export function +# 120831-1529 - Added vicidial_dial_log outbound call logging +# 120912-2042 - Added user_group_status and in_group_status functions +# 120913-1255 - Added update_log_entry function +# 121116-1938 - Added state call time restrictions to add_lead hopper insert function +# 121125-2210 - Added Other Campaign DNC option and list expiration date option +# 130328-0949 - Added update_phone_number option to update_lead function, issue #653 +# 130405-1539 - Added agent_status function +# 130414-0311 - Added report logging for blind_monitor function +# 130420-1938 - Added NANPA prefix validation and timezone options # -$version = '2.4-43'; -$build = '120326-1317'; +$version = '2.6-53'; +$build = '130420-1938'; $api_url_log = 0; $startMS = microtime(); @@ -88,6 +98,8 @@ if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["update_phone_number"])) {$update_phone_number=$_GET["update_phone_number"];} + elseif (isset($_POST["update_phone_number"])) {$update_phone_number=$_POST["update_phone_number"];} if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} @@ -298,6 +310,26 @@ if (isset($_GET["datetime_end"])) {$datetime_end=$_GET["datetime_end"];} elseif (isset($_POST["datetime_end"])) {$datetime_end=$_POST["datetime_end"];} if (isset($_GET["time_format"])) {$time_format=$_GET["time_format"];} elseif (isset($_POST["time_format"])) {$time_format=$_POST["time_format"];} +if (isset($_GET["group_alias_id"])) {$group_alias_id=$_GET["group_alias_id"];} + elseif (isset($_POST["group_alias_id"])) {$group_alias_id=$_POST["group_alias_id"];} +if (isset($_GET["group_alias_name"])) {$group_alias_name=$_GET["group_alias_name"];} + elseif (isset($_POST["group_alias_name"])) {$group_alias_name=$_POST["group_alias_name"];} +if (isset($_GET["caller_id_number"])) {$caller_id_number=$_GET["caller_id_number"];} + elseif (isset($_POST["caller_id_number"])) {$caller_id_number=$_POST["caller_id_number"];} +if (isset($_GET["caller_id_name"])) {$caller_id_name=$_GET["caller_id_name"];} + elseif (isset($_POST["caller_id_name"])) {$caller_id_name=$_POST["caller_id_name"];} +if (isset($_GET["user_groups"])) {$user_groups=$_GET["user_groups"];} + elseif (isset($_POST["user_groups"])) {$user_groups=$_POST["user_groups"];} +if (isset($_GET["in_groups"])) {$in_groups=$_GET["in_groups"];} + elseif (isset($_POST["in_groups"])) {$in_groups=$_POST["in_groups"];} +if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} + elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_GET["nanpa_ac_prefix_check"];} + elseif (isset($_POST["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_POST["nanpa_ac_prefix_check"];} header ("Content-type: text/html; charset=utf-8"); @@ -327,6 +359,7 @@ if ($non_latin < 1) $format = ereg_replace("[^0-9a-zA-Z]","",$format); $list_id = ereg_replace("[^0-9]","",$list_id); $phone_code = ereg_replace("[^0-9]","",$phone_code); + $update_phone_number=ereg_replace("[^A-Z]","",$update_phone_number); $phone_number = ereg_replace("[^0-9]","",$phone_number); $vendor_lead_code = ereg_replace(";","",$vendor_lead_code); $vendor_lead_code = ereg_replace("\+"," ",$vendor_lead_code); @@ -442,6 +475,16 @@ if ($non_latin < 1) $datetime_start = ereg_replace("[^- \+\:\_0-9]","",$datetime_start); $datetime_end = ereg_replace("[^- \+\:\_0-9]","",$datetime_end); $time_format = ereg_replace("[^A-Z]","",$time_format); + $group_alias_id = ereg_replace("[^\_0-9a-zA-Z]","",$group_alias_id); + $group_alias_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$group_alias_name); + $caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); + $caller_id_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$caller_id_name); + $user_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$user_groups); + $in_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$in_groups); + $call_id = ereg_replace("[^0-9a-zA-Z]","",$call_id); + $group = ereg_replace("[^-\|\_0-9a-zA-Z]","",$group); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $nanpa_ac_prefix_check = ereg_replace("[^A-Z]","",$nanpa_ac_prefix_check); } else { @@ -451,6 +494,7 @@ else } $USarea = substr($phone_number, 0, 3); +$USprefix = substr($phone_number, 3, 3); if (strlen($hopper_priority)<1) {$hopper_priority=0;} if ($hopper_priority < -99) {$hopper_priority=-99;} if ($hopper_priority > 99) {$hopper_priority=99;} @@ -535,7 +579,7 @@ if ($function == 'version') ################################################################################ if ($function == 'sounds_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; if ($DB>0) {echo "DEBUG: sounds_list query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -556,10 +600,11 @@ if ($function == 'sounds_list') if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} $admDIR = "$HTTPprotocol$server_name:$server_port"; + $admin_web_dir=''; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### - $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory FROM system_settings;"; + $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory,admin_web_directory FROM system_settings;"; $rslt=mysql_query($stmt, $link); $ss_conf_ct = mysql_num_rows($rslt); if ($ss_conf_ct > 0) @@ -569,6 +614,9 @@ if ($function == 'sounds_list') $sounds_central_control_active = $row[1]; $sounds_web_server = $row[2]; $sounds_web_directory = $row[3]; + $admin_web_directory = $row[4]; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} } ##### END SETTINGS LOOKUP ##### ########################################### @@ -631,7 +679,7 @@ if ($function == 'sounds_list') if (eregi('tab',$format)) {echo "$k\t$file_names[$m]\t$file_dates[$m]\t$file_sizes[$m]\t$file_epoch[$m]\n";} if (eregi('link',$format)) - {echo "$file_names[$m]
    \n";} + {echo "$file_names[$m]
    \n";} if (eregi('selectframe',$format)) { if ($sf < 1) @@ -674,7 +722,7 @@ if ($function == 'sounds_list') echo "
    $file_names[$m]$file_dates[$m]$file_sizes[$m]PLAY
    PLAY
    \n"; + echo ""; +//SELECT campaign_id,campaign_name from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name"; +// echo $stmt="SELECT conf_exten,server_ip,extension from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + + echo "
    VICIDIAL QUALITY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    ID de campañaCAMPAIGN NAMEQC STATUSESMODIFICAR
    $row[0] $row[1] $row[2]MODIFICAR
    \n"; +} +###################### +# ADD=881 VIEW one qc campaign +###################### +if (($ADD==881) && ($qc_auth=='1')) { + echo " + + + 1) { + ?> +> + + +> + + +> + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include01.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include01.php new file mode 100644 index 00000000..4cbe0593 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include01.php @@ -0,0 +1,16 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include02.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include02.php new file mode 100644 index 00000000..3bc2a02b --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include02.php @@ -0,0 +1,17 @@ + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_status_codes_include.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_status_codes_include.php new file mode 100644 index 00000000..2ba57055 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_status_codes_include.php @@ -0,0 +1,140 @@ +"; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CC Código de estado no se añade- ya hay una qc código de estado en el sistema con el nombre: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    CC Código de estado no se añade- Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
    código debe estar entre 1 y 8 caracteres de longitud\n"; + echo "
    nombre de código debe estar entre 2 y 30 caracteres de longitud\n"; + } + else + { + echo "
    CC Código AÑADIDO:$code_name - $code\n"; + if (isset($_POST["qc_category"])) {$qc_category=$_POST["qc_category"];} + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) values('$code','$code_name','$qc_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111111; + } + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) + { + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + if ( ($SSadmin_modify_refrescar > 1) and ($modify_refrescar_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=341111111111111"; + $modify_footer_refrescar=1; + } + echo "
    \n"; + echo ""; + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' and campaign_id='$campaign_id' limit 1"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + $o++; + } + $qc_status_list=substr($row[2],0,strlen($row[2])-2); + + echo "
    $campaign_id - {$row[1]} - Control de Calidad Queue
    QC statuses: $qc_status_list\n"; + + $qc_statuses=explode(' ',$qc_status_list); + echo "
    \n"; + foreach ( $qc_statuses as $qc_status ) { + $stmt="SELECT lead_id,first_name,last_name,modify_date,user from vicidial_list inner join vicidial_lists on vicidial_list.list_id=vicidial_lists.list_id where campaign_id='$campaign_id' and status='$qc_status' order by status, modify_date"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + if($o==0){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + $lead_name=trim($row[1].' '.$row[2]); + $lead_nameENC=urlencode($lead_name); + if (strlen($lead_name)<1) $lead_name='No Name'; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + } + echo "
    $qc_status ($vicidialconf_to_print)LEAD IDNOMBRELast ModifiedUsuarioID
      $row[0]$lead_name $row[3]$row[4]
    \n"; +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include02.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include02.php new file mode 100644 index 00000000..63cea6ed --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_include02.php @@ -0,0 +1,34 @@ + 1 and active='Y' and qc_enabled='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$qc_auth=$row[0]; +//Not "qc_" as it will interfere with ADD=4A storage of modified user. +if ($qc_auth=='1') { + $qcuser_level=$row[1]; + $qcpass=$row[2]; + $qcfinish=$row[3]; + $qccommit=$row[4]; +} +//Modificarmenuing to allow qc users into the system (if they have no permission otherwise) +//Copied Informes-Only user setup for QC-Only user (Poundteam QC setup) +$qc_only_user=0; +if ( ($qc_auth > 0) and ($auth < 1) ) + { + if ($ADD != '881'){ + $ADD=100000000000000; + } + $qc_only_user=1; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_modify_lead_include.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_modify_lead_include.php new file mode 100644 index 00000000..8c7ea37a --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_modify_lead_include.php @@ -0,0 +1,20 @@ + 0) + { + echo "

    Click here to QC Modificarthis lead\n"; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_variables.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_variables.php new file mode 100644 index 00000000..f99255fb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_admin_variables.php @@ -0,0 +1,15 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Ciudad'; +$label_state = 'State'; +$label_province = 'Provincia'; +$label_postal_code = 'Código Postal'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sexo'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Comentarios'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} +include('QC_call_client_include.php'); +$qc_user_logged_in=is_user_logged_in($PHP_AUTH_USER); +if ($qc_user_logged_in===true){ + echo "Call Lead"; +} else { + echo "$qc_user_logged_in"; +} +echo " Refresh"; + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_call_client_include.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_call_client_include.php new file mode 100644 index 00000000..02ea1866 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_call_client_include.php @@ -0,0 +1,45 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include.php new file mode 100644 index 00000000..1d541fd0 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/QC_header_include.php @@ -0,0 +1,42 @@ + + + +
    > + SIZE=> Control de Calidad +
      + > Show QC Campañas +
      + > Enter QC Queue +
      + > ModificarQC Codes +
      Control de Calidad  
    "; + $alts_output .= ""; + $alts_output .= ""; + $alts_output .= "\n"; + $alts_output .= "\n"; + $alts_output .= "\n"; + } + + } + else + { + echo "las operaciones de búsqueda del plomo FALLARON para el lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + ##### grab vicidial_log records ##### + $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + if($DB) echo __LINE__."
    \n"; + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= ""; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select agent_log_id,user,server_ip,event_time,lead_id,campaign_id,pause_epoch,pause_sec,wait_epoch,wait_sec,talk_epoch,talk_sec,dispo_epoch,dispo_sec,status,user_group,comments,sub_status from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_qc_agent_log records ##### + //Differentiate between View and Mod + $stmt="select * from vicidial_qc_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by qc_agent_log_id desc limit 100;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo "$stmt
    \n"; + $y=0; + $qc_agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_assoc($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + if (strlen($row['save_epoch'])=='0'){ //VIEW ONLY record + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } else { // CHANGE record + $detailtooltip=str_replace("\n", " ", $row['details']); // tool tip line break and both work in IE, but not firefox. + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } + } + + ##### grab vicidial_closer_log records ##### + $stmt="select closecallid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,queue_seconds,user_group,xfercallid,term_reason,uniqueid,agent_only from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$lead_id = $row[0];} + $dispo = $row[3]; + $tsr = $row[4]; + $vendor_id = $row[5]; + $list_id = $row[7]; + $gmt_offset_now = $row[8]; + $phone_code = $row[10]; + $phone_number = $row[11]; + $title = $row[12]; + $first_name = $row[13]; + $middle_initial = $row[14]; + $last_name = $row[15]; + $address1 = $row[16]; + $address2 = $row[17]; + $address3 = $row[18]; + $city = $row[19]; + $state = $row[20]; + $province = $row[21]; + $postal_code = $row[22]; + $country_code = $row[23]; + $gender = $row[24]; + $date_of_birth = $row[25]; + $alt_phone = $row[26]; + $email = $row[27]; + $security = $row[28]; + $comments = $row[29]; + $called_count = $row[30]; + $last_local_call_time = $row[31]; + $rank = $row[32]; + $owner = $row[33]; + $entry_list_id = $row[34]; + + if($DB) { + echo __LINE__."\n"; + } + echo "
    Información de la llamada: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "CC CÓDIGOS VICIDIAL ESTADO DENTRO DE ESTE SISTEMA:  $NWB#vicidial_qc_status_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
    STATUS CODEDESCRIPCIÓNQC CATEGORÍAMODIFY/DELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    $rowx[2]         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "ELIMINAR\n"; + } + else + { + echo "ELIMINAR\n"; + } + echo "
    \n"; + + echo "
    Añadir CC NUEVO CÓDIGO ESTADO
    \n"; + echo "\n"; + echo "Estado:   \n"; + echo "Descripción: \n"; + echo "QC Categoría:
    \n"; + + echo "

    \n"; + + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/audit_comments.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/audit_comments.php new file mode 100644 index 00000000..b4846fdf --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentarios2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentarios3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentarios4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentariosERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditComentarios5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditComentarios:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditComentarios',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditComentarios $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditComentarios UsuarioID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UsuarioID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditComentarios Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_api.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_api.php new file mode 100644 index 00000000..321b9921 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_api.php @@ -0,0 +1,627 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$ingroup_choices = ereg_replace("\+"," ",$ingroup_choices); +$query_string = ereg_replace("'|\"|\\\\|;","",$query_string); + +if ($non_latin < 1) + { + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $agent_user=ereg_replace("[^0-9a-zA-Z]","",$agent_user); + $function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); + $value = ereg_replace("[^-\_0-9a-zA-Z]","",$value); + $vendor_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vendor_id); + $focus = ereg_replace("[^-\_0-9a-zA-Z]","",$focus); + $preview = ereg_replace("[^-\_0-9a-zA-Z]","",$preview); + $notes = ereg_replace("\+"," ",$notes); + $notes = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$notes); + $phone_code = ereg_replace("[^0-9X]","",$phone_code); + $search = ereg_replace("[^-\_0-9a-zA-Z]","",$search); + $group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); + $dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); + $source = ereg_replace("[^0-9a-zA-Z]","",$source); + $format = ereg_replace("[^0-9a-zA-Z]","",$format); + $vtiger_callback = ereg_replace("[^A-Z]","",$vtiger_callback); + $blended = ereg_replace("[^A-Z]","",$blended); + $ingroup_choices = ereg_replace("[^ -\_0-9a-zA-Z]","",$ingroup_choices); + $set_as_default = ereg_replace("[^A-Z]","",$set_as_default); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $address1 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address1); + $address2 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address2); + $address3 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address3); + $alt_phone = ereg_replace("[^ -\_0-9a-zA-Z]","",$alt_phone); + $city = ereg_replace("[^ -\_0-9a-zA-Z]","",$city); + $comments = ereg_replace("[^ -\_0-9a-zA-Z]","",$comments); + $country_code = ereg_replace("[^A-Z]","",$country_code); + $date_of_birth = ereg_replace("[^ -\_0-9]","",$date_of_birth); + $email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); + $first_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$first_name); + $gender = ereg_replace("[^A-Z]","",$gender); + $gmt_offset_now = ereg_replace("[^ \.-\_0-9]","",$gmt_offset_now); + $last_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$last_name); + $lead_id = ereg_replace("[^0-9]","",$lead_id); + $middle_initial = ereg_replace("[^ -\_0-9a-zA-Z]","",$middle_initial); + $province = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$province); + $security_phrase = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$security_phrase); + $source_id = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$source_id); + $state = ereg_replace("[^ -\_0-9a-zA-Z]","",$state); + $title = ereg_replace("[^ -\_0-9a-zA-Z]","",$title); + $vendor_lead_code = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$vendor_lead_code); + $rank = ereg_replace("[^-0-9]","",$rank); + $owner = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$owner); + $dial_override = ereg_replace("[^A-Z]","",$dial_override); + $consultative = ereg_replace("[^A-Z]","",$consultative); + } +else + { + $user = ereg_replace("'|\"|\\\\|;","",$user); + $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $source = ereg_replace("'|\"|\\\\|;","",$source); + $agent_user = ereg_replace("'|\"|\\\\|;","",$agent_user); + $alt_user = ereg_replace("'|\"|\\\\|;","",$alt_user); + } + +### date and fixed variables +$epoch = date("U"); +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$api_script = 'agent'; +$api_logging = 1; +if ($consultative != 'YES') {$consultative='NO';} + + +################################################################################ +### BEGIN - version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "VERSIÓN: $version|CONSTRUCCION: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } +################################################################################ +### END - version +################################################################################ + + + + + +################################################################################ +### BEGIN - user validation section (most functions run through this first) +################################################################################ + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + $result = 'ERROR'; + $result_reason = "Nombre y contraseña inválidos del usuario"; + echo "$result: $result_reason: |$user|$pass|$auth|\n"; + $data = "$user|$pass|$auth"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from system_settings where vdc_agent_api_active='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + $result = 'ERROR'; + $result_reason = "System API NOT ACTIVE"; + echo "$result: $result_reason\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + # do nothing for now + } + } + } + } + +if ($format=='debug') + { + $DB=1; + echo "\n"; + echo "\n"; + echo "";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_dial function set"; + $data = "$phone_code|$search|$preview|$focus|$vendor_id|$epoch|$dial_prefix|$group_alias|$caller_id_number"; + echo "$result: Dispo in Agent Screen FIRST.\n"; + // echo "$result: $result_reason - $value|$agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not allowed to place manual dial calls"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not paused"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + +// external_dial +################################################################################ +### END - external_dial +################################################################################ + + + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + + +##### FUNCTIONS ##### + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) + { + if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } + return 1; + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_modify_lead.php b/agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_modify_lead.php new file mode 100644 index 00000000..aa0ce4c7 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_es/qc/qc_modify_lead.php @@ -0,0 +1,1294 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads,user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + $LOGuser_group =$row[2]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Ciudad'; +$label_state = 'State'; +$label_province = 'Provincia'; +$label_postal_code = 'Código Postal'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sexo'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Comentarios'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} + + +//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + +$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; +$rslt=mysql_query($stmt, $link); +if (mysql_num_rows ($rslt) < '1' ){ + if($DB) { echo "$stmt\n"; } + exit(); + } +$row=mysql_fetch_assoc($rslt); +$original_record=$row; +$campaign_id =$row['campaign_id']; +$campaign_name =$row['campaign_name']; +$phone_number =$row['phone_number']; +$phone_code =$row['phone_code']; +$lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); +$scheduled_callback =$row['scheduled_callback']; + +?> + + + +QC ModificarLead: <?php echo "$lead_id - ".urldecode($lead_name).urldecode(" (Campaña: $campaign_id - $campaign_name)"); ?> + + + + + +QC CAMPAIGN $campaign_id: Lead $lead_id - ".urldecode($lead_name)."
    \n"; +//end_call is set by submit button to denote "save", without it this is a VIEW, with it this is a SAVE +if ($end_call > 0) { + if($DB) { echo __LINE__."\n"; } + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',title='" . mysql_real_escape_string($title) . "',first_name='" . mysql_real_escape_string($first_name) . "',middle_initial='" . mysql_real_escape_string($middle_initial) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',rank='" . mysql_real_escape_string($rank) . "',owner='" . mysql_real_escape_string($owner) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + //STATUS just changed, re-capture all data for client! + //Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + $stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; + if($DB) { echo "$stmt\n"; } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_assoc($rslt); + //QUALITY CONTROL CHANGE LOG BEGIN - CHANGE VERSIÓN (VIEW VERSIÓN IS BELOW, WHICH CREATES THE RECORD, THIS ONE MERELY MODIFIES THE EXISTING RECORD) + $new_record=$row; + //if status has changed, the join query above will have the "status" field of "vicidial_list" overwritten by the status field of "vicidial_statuses" ... which will be EMPTY if there is no matching status to the new QC status chosen. This will cause the changelog to be incorrect. + if ( strlen($new_record['status']) == '0' ) { + $new_record['status']=$new_record['code']; + } + + if($original_record != $new_record) { + //Information changed: Find out what and record it, first disable "view" logging + $qcchange='Y'; + $qcchangelist=''; + $qcchangecounter=0; + foreach($original_record as $key=>$value){ + //only list the changes in the first 35 fiels, those are from the vicidial_list table (the rest are from joined tables, and the changes cascade) + if(($new_record[$key]!=$value)&&($qcchangecounter<=35)) $qcchangelist.="----$key----\n$value => $new_record[$key]\n"; + $qcchangecounter++; + } + ### insert a NEW record to the vicidial_closer_log table + $qcchangelist=mysql_real_escape_string($qcchangelist); + $view_epoch = ereg_replace("[^0-9]","",$_POST['viewtime']); + $elapsed_seconds=$STARTtime-$view_epoch; + + $stmt="UPDATE vicidial_qc_agent_log set save_datetime='$NOW_TIME',save_epoch='$STARTtime',elapsed_seconds='$elapsed_seconds',old_status='{$original_record['status']}',new_status='{$new_record['status']}',details='$qcchangelist' + where view_epoch='$view_epoch' and lead_id='$lead_id'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL CHANGE LOG END + $original_sales_rep=$row['user']; + $campaign_id =$row['campaign_id']; + $campaign_name =$row['campaign_name']; + $lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); + $scheduled_callback =$row['scheduled_callback']; + + echo "
    Información modificada

    \n"; + echo "Go back to re-modify this QC lead


    \n"; + echo "
    Proceed to QC CAMPAIGN $campaign_id Queue

    Callback Information:\n"; + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if($DB) { + echo __LINE__."\n"; + } + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='ANYONE',status='ACTIVE',user='$PHP_AUTH_USER',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + //This entry creates the callback + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='USERONLY',status='ACTIVE',user='$original_sales_rep',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + $debug1=$stmt; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + if($DB) echo __LINE__."\n"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + } else { + echo "\n"; + //Not a "Submit" result, viewing the record (possibly with URL options such as those below which modify callback status but not record data) + if ($CBchangeUSERtoANY == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an ANYONE callback for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to ANYONE
    \n"; + $qcchange='Y'; + } + if ($CBchangeUSERtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to a different USERONLY callback record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeANYtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an USERONLY callback for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeDATE == 'YES') { + if($DB) echo __LINE__."\n"; + ### change date/time of vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set callback_time='" . mysql_real_escape_string($appointment_date) . " " . mysql_real_escape_string($appointment_time) . "',comments='" . mysql_real_escape_string($comments) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to $appointment_date $appointment_time
    \n"; + $qcchange='Y'; + } + //QUALITY CONTROL LOGGING BEGIN - VIEW ONLY + //If no changes have been made, record "view" of this record. + if ($qcchange != 'Y') { + if($DB) echo __LINE__."\n QCCHANGE != Y"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_qc_agent_log (qc_user,qc_user_group,qc_user_ip,lead_user,web_server_ip,view_datetime,view_epoch,lead_id,list_id,campaign_id,processed) + values('" . mysql_real_escape_string($PHP_AUTH_USER) . "','$LOGuser_group','{$_SERVER['REMOTE_ADDR']}','{$original_record['user']}','{$_SERVER['SERVER_ADDR']}','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($original_record['list_id']) . "','" . mysql_real_escape_string($campaign_id) . "','N')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL LOGGING END + if($DB) echo __LINE__."\n"; + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + if($DB) echo __LINE__."\n"; + ##### grab vicidial_list_alt_phones records ##### + $stmt="select phone_code,phone_number,alt_phone_note,alt_phone_count,active from vicidial_list_alt_phones where lead_id='" . mysql_real_escape_string($lead_id) . "' order by alt_phone_count limit 500;"; + $rslt=mysql_query($stmt, $link); + $alts_to_print = mysql_num_rows($rslt); + + $c=0; + $alts_output = ''; + while ($alts_to_print > $c) + { + if($DB) { + echo __LINE__."\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $c)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $c++; + $alts_output .= "
    $c$row[0] $row[1] $row[2] $row[3] $row[4]
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]   $row[10]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y{$row['view_datetime']}View Only - No changes{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}  
    $y{$row['view_datetime']}{$row['old_status']}{$row['new_status']}{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}{$row['elapsed_seconds']} DETAILS
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $stmt="SELECT user_id, timestamp, list_id, campaign_id, comment from vicidial_comments where lead_id='$lead_id' order by timestamp"; + $rslt=mysql_query($stmt, $link); + $row_count = mysql_num_rows($rslt); + $o=0; + $comments=false; + while ($row_count > $o) + { + if (!$comments) { + echo "\n"; + $comments=true; + } + $rowx=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + if ($comments) { + echo "\n"; + } + echo "\n"; + +// Section Modified for QC Functionality By PoundTeam +// echo "\n"; +// echo "\n"; +// echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    $label_vendor_lead_code: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     ID De la Lista: $list_id     Called Count: $called_count
    $label_title:   \n"; + echo "$label_first_name:
    $label_middle_initial:   \n"; + echo " $label_last_name:
    $label_address1 :
    $label_address2 :
    $label_address3 :
    $label_city :
    $label_state:   \n"; + echo " $label_postal_code:
    $label_province :
    País :
    $label_phone_number :
    $label_phone_code :
    $label_alt_phone :
    $label_email :
    $label_security_phrase :
    Rank :
    Owner :
    $label_comments :
    Comment History
    $rowx[0] :
    $rowx[1]
    ID De la Lista: $rowx[2]; ID De la Campaña: $rowx[3]
    $rowx[4]

    QC Result: (with $list_campaign statuses)
    Modificarvicidial log
    Modificaragent log
    Modificarcloser log
    Disable QC log entry (this feature is not active yet)
    \n"; + echo "


    \n"; + + echo "
    \n"; + echo "Callback Detalles:
    \n"; + //Added scheduled_callback regular statuses option + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') || $scheduled_callback=='Y' ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id,lead_id,list_id,campaign_id,status,entry_time,callback_time,modify_date,user,recipient,comments,user_group from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UsuarioID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UsuarioID: \n"; + echo "

    \n"; + } + + $appointment_datetimeARRAY = explode(" ",$rowx[6]); + $appointment_date = $appointment_datetimeARRAY[0]; + $appointment_timeARRAY = explode(":",$appointment_datetimeARRAY[1]); + $appointment_hour = $appointment_timeARRAY[0]; + $appointment_min = $appointment_timeARRAY[1]; + + + ?> + +
    +
    Change Scheduled Callback Date:
    + + + + + + + + + + + + + +
    + > + + + + +
    CallBack Date/Time: + + +     + + : + + +
    + Comentarios: + + +
    + + + + +
    +
    + + No Callback records found
    \n"; + } + + } + else + { + if($DB) { + echo __LINE__."\n"; + } + //Modifed text to allow for other than CBHOLD via custom statuses with scheduled callback chosen + echo "
    If you want to change this lead to a scheduled callback, first change the Disposition to CBHOLD or similar, then submit and you will be able to set the callback date and time.
    \n"; + } + echo "
    \n"; + + echo "

    \n"; + + echo "
    \n"; + + if ($c > 0) + { + if($DB) { + echo __LINE__."\n"; + } + echo "EXTENDED SUPLENTE NÚMEROS DE TELÉFONO PARA ESTE DE PLOMO:\n"; + echo "\n"; + echo "\n"; + + echo "$alts_output\n"; + + echo "
    # ALT PHONE ALT NOTE ALT COUNT ACTIVE
    \n"; + echo "

    \n"; + } + + + + ### iframe for custom fields display/editing + if ($custom_fields_enabled > 0) + { + $CLlist_id = $list_id; + if (strlen($entry_list_id) > 2) + {$CLlist_id = $entry_list_id;} + $stmt="DEMOSTRACIÓN TABLAS LIKE \"custom_$CLlist_id\";"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $tablecount_to_print = mysql_num_rows($rslt); + if ($tablecount_to_print > 0) + { + $stmt="SELECT count(*) from custom_$CLlist_id where lead_id='$lead_id';"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $fieldscount_to_print = mysql_num_rows($rslt); + if ($fieldscount_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $custom_records_count = $rowx[0]; + + echo "Campos personalizados para ESTE CABLE:
    \n"; + echo "\n"; + echo "

    "; + } + } + } + + + echo "LLAMADAS A ESTE LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$call_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAÑA LIST LEAD HANGUP REASON PHONE
    \n"; + echo "

    \n"; + + echo "CLOSER RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$closer_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAÑA LIST LEAD WAIT HANGUP REASON
    \n"; + echo "

    \n"; + + + echo "AGENTE LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$agent_log\n"; + echo "
    # DATE/TIME CAMPAIGN TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; + echo "

    \n"; + echo "QUALITY CONTROL LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + echo "$qc_agent_log\n"; + echo "
    # DATE/TIME OLD STATUSNEW STATUSQC USERAGENTCAMPAIGNLISTELAPSED 
    \n"; + echo "

    \n"; + + echo "RECORDINGS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + $stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if ($DB) {echo "$logs_to_print|$stmt|\n";} + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if ( (eregi("ftp",$location)) or (eregi("http",$location)) ) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + + echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]


    \n"; + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 9 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $admin_display=$row[0]; + if ($admin_display > 0) + { + echo "Click here to see Lead Modificarchanges to this lead\n"; + } + + echo "\n"; + } + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nScript runtime: $RUNtime seconds
    "; + + +?> + + + + + +original_record:
    "; + print_r($original_record); + echo "
    new_record:
    "; + print_r($new_record); + echo "scheduled_callback:
    "; + print_r($scheduled_callback); + echo "debug1:
    "; + print_r($debug1); + echo "Post:
    "; + print_r($_POST); + echo "qcchangelist:
    "; + print_r($qcchangelist); + echo "
    "; +} +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/realtime_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/realtime_report.php index a91e2726..f5d335e9 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/realtime_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/realtime_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -20,10 +20,14 @@ # 110516-2128 - IE fix # 110526-1807 - Added webphone_auto_answer option # 120223-1917 - Added multi-user-group options +# 121129-2131 - Fixed Choose link position +# 130414-0247 - Added report logging # -$version = '2.4-9'; -$build = '120223-1917'; +$startMS = microtime(); + +$version = '2.6-11'; +$build = '130414-0247'; header ("Content-type: text/html; charset=utf-8"); @@ -112,15 +116,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $webphone_width = '460'; $webphone_height = '500'; $webphone_left = '600'; @@ -269,6 +264,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$groups[0]|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + if ($auth) { $office_no=strtoupper($PHP_AUTH_USER); @@ -1400,9 +1424,9 @@ echo "\n-->\n $stmt = "select count(*) from vicidial_campaigns where active='Y' and campaign_allow_inbound='Y' $group_SQLand;"; $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - $campaign_allow_inbound = $row[0]; +if ($DB) {echo "$stmt\n";} +$row=mysql_fetch_row($rslt); +$campaign_allow_inbound = $row[0]; echo "\n"; echo "$report_name: $group\n"; @@ -1437,12 +1461,12 @@ echo "\n"; #echo "\n"; echo "Tiempo Real Report                                                                               \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo "Elija Opciones de Informe"; echo "
    \n"; echo "
    \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo ""; echo "
    \n"; @@ -1517,6 +1541,24 @@ echo "\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/send_CID_call.php b/agc_2-X/trunk/LANG_www/vicidial_es/send_CID_call.php index 8549f6a3..521faf42 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/send_CID_call.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/send_CID_call.php @@ -3,11 +3,13 @@ # # Send calls with custom callerID numbers from web form # -# Copyright (C) 2009 Matt Florell LICENSE: GPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: GPLv2 # # CHANGES # # 90714-1355 - First Build +# 120831-1527 - Added vicidial_dial_log logging +# 130414-0039 - Added admin logging # require("dbconnect.php"); @@ -55,6 +57,7 @@ $auth=$row[0]; $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); +$ip = getenv("REMOTE_ADDR"); ?> @@ -123,6 +126,17 @@ else if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='TESTCIDCALL098765432',lead_id='0',server_ip='$server_ip',call_date='$NOW_TIME',extension='91$receiver',channel='Local/91$sender$Local_end',timeout='$Local_dial_timeout',outbound_cid='\"$cid_number\" <$cid_number>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='CIDSEND', event_type='OTHER', record_id='$PHP_AUTH_USER', event_code='ADMIN SEND CID CALL', event_sql=\"$SQL_log\", event_notes='Server: $server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Call sent from $sender to $receiver using CIDnumber: $cid_number"; } diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_report.php b/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_report.php index 2df818e8..75db431a 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -18,8 +18,11 @@ # 110703-1830 - Added download option # 111104-1314 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0150 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); ##### Pull values from posted form variables ##### @@ -73,15 +76,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -106,6 +100,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -530,13 +553,31 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_status.php b/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_status.php index 2b2e2984..2728138c 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/timeclock_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,10 +15,13 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1833 - Added download option # 111104-1315 - Added user_group restrictions for selecting in-groups +# 130414-0152 - Added report logging # #header ("Content-type: text/html; charset=utf-8"); +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +67,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -113,6 +107,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,26 @@ if (strlen($user_group) < 1) echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -467,10 +510,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { header ("Content-type: text/html; charset=utf-8"); echo "$HEADER"; @@ -478,6 +519,24 @@ if ($file_download > 0) echo "$MAIN"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); exit; @@ -598,7 +657,25 @@ $MAIN.="
    \n"; $MAIN.="\n"; $MAIN.="\n"; - +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/user_stats.php b/agc_2-X/trunk/LANG_www/vicidial_es/user_stats.php index 46de9c93..0ccd92b1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/user_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/user_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -34,8 +34,12 @@ # 111103-1050 - Added admin_hide_phone_data and admin_hide_lead_data options # 111106-1105 - Added user_group restrictions # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 121222-2152 - Added email log display +# 130124-1740 - Added option to display first and last name of lead +# 130414-0146 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -44,9 +48,15 @@ require("functions.php"); $report_name = 'Estadísticas de usuario'; $db_source = 'M'; +$firstlastname_display_user_stats=0; +if (file_exists('options.php')) + { + require('options.php'); + } + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -59,19 +69,11 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $user_territories_active = $row[4]; $webroot_writable = $row[5]; + $allow_emails = $row[6]; } ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; @@ -130,6 +132,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -641,12 +672,27 @@ if ($did < 1) ##### vicidial agent outbound calls for this time period ##### $MAIN.="OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DESCARGAR]\n"; - $MAIN.="
    \n"; - $MAIN.="\n"; + $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPAÑA GROUP LIST LEAD HANGUP REASON
    \n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } + else + { + $MAIN.="\n"; + } $CSV_text5.="\"OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; - $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + if ($firstlastname_display_user_stats > 0) + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n";} + else + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n";} $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + if ($firstlastname_display_user_stats > 0) + { + $stmt="select uniqueid,vlog.lead_id,vlog.list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,vlog.status,vlog.phone_code,vlog.phone_number,vlog.user,vlog.comments,processed,user_group,term_reason,alt_dial,first_name,last_name from vicidial_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + if ($DB) {$MAIN.="outbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -687,27 +733,108 @@ if ($did < 1) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } $MAIN.="\n"; - $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[17] $row[18]\",\"$row[15]\"\n"; + } + else + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + } } $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPAÑA GROUP LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAÑA GROUP LIST LEAD HANGUP REASON
    $row[14] $row[2] $row[1] $row[17] $row[18] $row[15]


    \n"; } + ##### vicidial agent outbound emails for this time period ##### + + if ($allow_emails>0) + { + $MAIN.="OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)     [DESCARGAR]\n"; + $MAIN.="\n"; + $MAIN.="\n"; + $CSV_text5.="\"OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; + $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"USER\",\"CAMPAIGN\",\"EMAIL TO\",\"ATTACHMENT\",\"LEAD\",\"MESSAGE\"\n"; + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where user='" . mysql_real_escape_string($user) . "' and email_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and email_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by email_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + + $CSV_text5.="\"\",\"$u\",\"$row[3]\",\"$row[4]\",\"$row[7]\",\"$row[5]\",\"$row[8]\",\"$row[2]\",\"$row[6]\"\n"; + } + + + $MAIN.="
    # DATE/TIME USER CAMPAÑA EMAIL TO ATTACHMENTS LEAD
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]   $row[2]
      MESSAGE: $row[6]


    \n"; + } + ##### vicidial agent inbound calls for this time period ##### $MAIN.="INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DESCARGAR]\n"; $MAIN.="\n"; -$MAIN.="\n"; +if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } +else + { + $MAIN.="\n"; + } $CSV_text6.="\"INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; -$CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; +if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n"; + } +else + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + } $stmt="select call_date,length_in_sec,status,phone_number,campaign_id,queue_seconds,list_id,lead_id,term_reason from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; if ($did > 0) { $stmt="select start_time,length_in_sec,0,caller_code,0,0,0,extension,0 from call_log where channel_group='DID_INBOUND' and number_dialed='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by start_time desc limit 10000;"; } +else + { + if ($firstlastname_display_user_stats > 0) + { + $stmt="select call_date,length_in_sec,vlog.status,vlog.phone_number,campaign_id,queue_seconds,vlog.list_id,vlog.lead_id,term_reason,first_name,last_name from vicidial_closer_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + } +if ($DB) {$MAIN.="inbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -768,8 +895,17 @@ while ($logs_to_print > $u) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + {$MAIN.="\n";} $MAIN.="\n"; - $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[9] $row[10]\",\"$row[8]\"\n"; + } + else + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + } } $MAIN.=""; @@ -793,6 +929,7 @@ if ($did < 1) $CSV_text7.="\"\",\"#\",\"DATE/TIME\",\"PAUSE\",\"WAIT\",\"TALK\",\"DISPO\",\"DEAD\",\"CUSTOMER\",\"STATUS\",\"LEAD\",\"CAMPAIGN\",\"PAUSE CODE\"\n"; $stmt="select event_time,lead_id,campaign_id,pause_sec,wait_sec,talk_sec,dispo_sec,dead_sec,status,sub_status,user_group from vicidial_agent_log where user='" . mysql_real_escape_string($user) . "' and event_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and ( (pause_sec > 0) or (wait_sec > 0) or (talk_sec > 0) or (dispo_sec > 0) ) order by event_time desc limit 10000;"; + if ($DB) {$MAIN.="agent activity|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -1177,8 +1314,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1186,9 +1321,29 @@ else echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/user_status.php b/agc_2-X/trunk/LANG_www/vicidial_es/user_status.php index 825951cc..33b61977 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/user_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/user_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,10 +20,15 @@ # 110224-2350 - Small QM logout fix # 110420-0344 - Added DEAD/PARK agent statuses # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0252 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); +$report_name='Condición de Usuario'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -95,6 +100,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } else { + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $stage, $group|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + if($auth>0) { $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; @@ -486,7 +511,26 @@ if ($stage == "log_agent_out") { echo "Agent $user is not logged in
    \n"; } - + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -652,6 +696,25 @@ if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($mod echo "$VDdisplayMESSAGE\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -664,7 +727,7 @@ if ($agents_to_print > 0) echo "       GROUP: $user_group
    \n"; echo "
    # DATE/TIME LENGTH STATUS PHONE CAMPAÑA WAIT (S) AGENTE (S) LIST LEAD HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAÑA WAIT (S) AGENTE (S) LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAÑA WAIT (S) AGENTE (S) LIST LEAD HANGUP REASON
    $AGENTseconds $row[6] $row[7] $row[9] $row[10] $row[8]
    "; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -768,6 +831,26 @@ echo "|$stage|$group|";   ">Lista de territorios - 0) { ?> - diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/voice_lab.php b/agc_2-X/trunk/LANG_www/vicidial_es/voice_lab.php index 2eaaf88c..18c238aa 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/voice_lab.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/voice_lab.php @@ -4,7 +4,7 @@ # This script is designed to broadcast a recorded message or allow a person to # speak to all agents logged into a VICIDIAL campaign. # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES @@ -13,8 +13,13 @@ # 70115-1246 - Added ability to define an exten to play # 90508-0644 - Changed to PHP long tags # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0045 - Added report logging # +$startMS = microtime(); + +$report_name='Voice Lab'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -52,24 +57,24 @@ $local_DEF = 'Local/'; $local_AMP = '@'; $ext_context = 'demo'; - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; $fp = fopen ("./project_auth_entries.txt", "a"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); - if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } - else +else { if($auth>0) { @@ -94,6 +99,26 @@ $browser = getenv("HTTP_USER_AGENT"); $full_name = $row[0]; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + ##### get server listing for dynamic pulldown $stmt="SELECT server_ip,server_description from servers order by server_ip"; @@ -307,6 +332,25 @@ if ($KILL_VOICE_LAB > 1) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/welcome_demo.php b/agc_2-X/trunk/LANG_www/vicidial_es/welcome_demo.php index 81c3bc8f..48a594da 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/welcome_demo.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/welcome_demo.php @@ -62,6 +62,9 @@ echo "   \n"; echo "\n"; +echo "
    Agent Logged in at server:   $Aserver_ip
    Agent Logged in at servidor:   $Aserver_ip
    in session:   $Asession_id
    from phone:   $Aextension
    Agent is in campaign:   $Acampaign
      ?action=ADD_TERRITORY">Añadir Territorio   ?action=ADD_USER_TERRITORY">Añadir usuario Territorio   ?action=CHANGE_TERRITORY_OWNER">Change Vtiger Territorio Owner
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
  • \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_es/welcome_languages.php b/agc_2-X/trunk/LANG_www/vicidial_es/welcome_languages.php index e00e310e..d94ba3e1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_es/welcome_languages.php +++ b/agc_2-X/trunk/LANG_www/vicidial_es/welcome_languages.php @@ -62,6 +62,9 @@ echo "  
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSER_service_level.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSER_service_level.php index 6c44bfc5..fabee582 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSER_service_level.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSER_service_level.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,11 @@ # 110703-1756 - Added download option # 111103-2300 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0104 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -69,15 +72,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -99,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -924,7 +947,7 @@ while ($k <= 22) $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; -$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in seconds) | | CALLS HANDLED | | |\n"; +$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (en secondes) | | CALLS HANDLED | | |\n"; $ASCII_text.="| 15 MIN INT |$hold_scale| AVG | MAX | |$call_scale| DROPS | TOTAL |\n"; $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; @@ -1280,10 +1303,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { echo "$HEADER"; @@ -1293,6 +1314,26 @@ if ($file_download > 0) } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERstats.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERstats.php index f3a02d2e..51ad9f42 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERstats.php @@ -1,10 +1,9 @@ LICENSE: AGPLv2 -# -# CHANGES +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 60905-1326 - Added queue time stats @@ -35,8 +34,13 @@ # 111103-0632 - Added MAXCAL as a drop status # 111103-2003 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 120730-0724 - Small fix for HTML output +# 130124-1719 - Added email report support +# 130414-1429 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -57,6 +61,8 @@ if (isset($_GET["VALIDER"])) {$VALIDER=$_GET["VALIDER"];} elseif (isset($_POST["VALIDER"])) {$VALIDER=$_POST["VALIDER"];} if (isset($_GET["DID"])) {$DID=$_GET["DID"];} elseif (isset($_POST["DID"])) {$DID=$_POST["DID"];} +if (isset($_GET["EMAIL"])) {$EMAIL=$_GET["EMAIL"];} + elseif (isset($_POST["EMAIL"])) {$EMAIL=$_POST["EMAIL"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} @@ -92,15 +98,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -185,9 +182,16 @@ if (!isset($group)) {$group = '';} if (!isset($query_date)) {$query_date = $NOW_DATE;} if (!isset($end_date)) {$end_date = $NOW_DATE;} -$stmt="select group_id,group_name,8 from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='PHONE' $LOGadmin_viewable_groupsSQL order by group_id;"; if ($DID=='Y') - {$stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;";} + { + $stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; + } +if ($EMAIL=='Y') + { + $stmt="select email_account_id,email_account_name,email_account_id from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + } $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $groups_to_print = mysql_num_rows($rslt); @@ -231,6 +235,37 @@ else } if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $DID, $EMAIL, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&DID=".$DID."&EMAIL=".$EMAIL."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); @@ -286,6 +321,7 @@ $MAIN.="
    \n"; $MAIN.="\n"; +$MAIN.="\n"; $MAIN.="Date Range:
    \n"; $MAIN.=""; @@ -314,7 +350,9 @@ $MAIN.="// o_cal.a_tpl.weekstart = 1; // Lundi week start\n"; $MAIN.="\n"; $MAIN.="
    \n"; -if ($DID=='Y') +if ($EMAIL=='Y') + {$MAIN.="Email Accts: \n";} +else if ($DID=='Y') {$MAIN.="Inbound DIDs: \n";} else {$MAIN.="Groupes entrants: \n";} @@ -372,6 +410,8 @@ $MAIN.="
    \n\n";
     if ($groups_to_print < 1)
     	{
     	$MAIN.="\n\n";
    +	if ($EMAIL=='Y')
    +		{$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK VALIDER\n";}
     	if ($DID=='Y')
     		{$MAIN.="PLEASE SELECT A DID AND DATE RANGE ABOVE AND CLICK VALIDER\n";}
     	else
    @@ -402,12 +442,18 @@ if ($shift == 'ALL')
     $query_date_BEGIN = "$query_date $time_BEGIN";   
     $query_date_END = "$end_date $time_END";
     
    +if ($EMAIL=='Y') 
    +	{
    +	$MAIN.="Inbound Email Stats: $group_string          $NOW_TIME        TÉLÉCHARGER\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        TÉLÉCHARGER\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
     
     
    -$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        TÉLÉCHARGER\n";
    -
    -$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    -
     
     if ($DID=='Y')
     	{
    @@ -452,7 +498,14 @@ if ($group_ct > 1)
     
     	$CSV_text1.="\n\"MULTI-GROUP BREAKDOWN:\"\n";
     
    -	if ($DID=='Y')
    +	if ($EMAIL=='Y')
    +		{
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$ASCII_text.="| EMAIL                | EMAILS  | DROPS   | DROP %  | IVR     |\n";
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$CSV_text1.="\"EMAIL\",\"CALLS\",\"DROPS\",\"DROP %\",\"IVR\"\n";
    +		}
    +	else if ($DID=='Y')
     		{
     		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
     		$ASCII_text.="| DID                  | CALLS   | DROPS   | DROP %  | IVR     |\n";
    @@ -655,18 +708,34 @@ else
     	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
     	}
     
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails taken in to this In-Groupe:        $TOTALcalls\n";
    +	$MAIN.="Average Email Length for all Emails:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Emails:                               $REPONSEEDcalls  $REPONSEEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Emails:        $average_answer_seconds seconds\n";
    +	$MAIN.="Emails taken into the IVR for this In-Groupe:   $IVRcalls\n";
     
    -$MAIN.="Total des appels pris en Dans ce groupe:        $TOTALcalls\n";
    -$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    -$MAIN.="Answered Calls:                               $REPONSEEDcalls  $REPONSEEDpercent%\n";
    -$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    -$MAIN.="Calls taken into the IVR for this In-Groupe:   $IVRcalls\n";
    +	$CSV_text1.="\"Total Emails taken in to this In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Email Length for all Emails:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Emails:\",\"$REPONSEEDcalls\",\"$REPONSEEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Emails:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Emails taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Total des appels pris en Dans ce groupe:        $TOTALcalls\n";
    +	$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Calls:                               $REPONSEEDcalls  $REPONSEEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    +	$MAIN.="Calls taken into the IVR for this In-Groupe:   $IVRcalls\n";
     
    -$CSV_text1.="\"Total des appels pris en Dans ce groupe:\",\"$TOTALcalls\"\n";
    -$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    -$CSV_text1.="\"Answered Calls:\",\"$REPONSEEDcalls\",\"$REPONSEEDpercent%\"\n";
    -$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    -$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	$CSV_text1.="\"Total des appels pris en Dans ce groupe:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Calls:\",\"$REPONSEEDcalls\",\"$REPONSEEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
     
     $MAIN.="\n";
     $MAIN.="---------- ABANDONNES\n";
    @@ -709,12 +778,22 @@ else
     	$DROP_REPONSEEDpercent = round($DROP_REPONSEEDpercent, 0);
     	}
     
    -$MAIN.="Total des appels abandonnés: $DROPcalls  $DROPpercent%               drop/answered: $DROP_REPONSEEDpercent%\n";
    -$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total DROP Emails:                             $DROPcalls  $DROPpercent%               drop/answered: $DROP_REPONSEEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Emails:             $average_hold_seconds seconds\n";
     
    -$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_REPONSEEDpercent%\"\n";
    -$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	$CSV_text1.="\"Total DROP Emails:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_REPONSEEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Emails:\",\"$average_hold_seconds seconds\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Total des appels abandonnés: $DROPcalls  $DROPpercent%               drop/answered: $DROP_REPONSEEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
     
    +	$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_REPONSEEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	}
     
     if (strlen($group_SQL)>3)
     	{
    @@ -750,14 +829,29 @@ if (strlen($group_SQL)>3)
     			}
     		}
     	}
    -$MAIN.="\n";
    -$MAIN.="---------- CUSTOM INDICATORS\n";
    -$MAIN.="GDE (Answered/Total des appels pris in to this In-Group):  $REPONSEEDpercent%\n";
    -$MAIN.="ACR (Dropped/Answered):                                $DROP_REPONSEEDpercent%\n";
     
    -$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    -$CSV_text1.="\"GDE (Answered/Total des appels pris in to this In-Group):\",\"$REPONSEEDpercent%\"\n";
    -$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_REPONSEEDpercent%\"\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Total emails taken in to this In-Group):  $REPONSEEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_REPONSEEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Total emails taken in to this In-Group):\",\"$REPONSEEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_REPONSEEDpercent%\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Total des appels pris in to this In-Group):  $REPONSEEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_REPONSEEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Total des appels pris in to this In-Group):\",\"$REPONSEEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_REPONSEEDpercent%\"\n";
    +	}
     
     if ($DID!='Y')
     	{
    @@ -848,15 +942,34 @@ else
     	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
     	}
     
    -$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    -$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    -$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue emails:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all emails:        $average_total_queue_seconds seconds\n";
     
    -$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    -$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    -$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Total Emails That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue emails:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all emails:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
    +else 
    +	{
    +	$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
     
    +	$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
     
    +if ($EMAIL=='Y') {
    +	$rpt_type_verbiage='EMAIL';
    +	$rpt_type_verbiages='EMAILS';
    +} else {
    +	$rpt_type_verbiage='CALL ';
    +	$rpt_type_verbiages='CALLS ';
    +}
     
     ##############################
     #########  CALL HOLD TIME BREAKDOWN IN SECONDS
    @@ -864,12 +977,12 @@ $CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_s
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL TIME HOLD RÉPARTITION EN SECONDES       TÉLÉCHARGER\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS       TÉLÉCHARGER\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL TIME HOLD RÉPARTITION EN SECONDES\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     
    @@ -1009,12 +1122,12 @@ else
     $BDdropCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="---------- $rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL DROP TIME BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
    @@ -1154,12 +1267,12 @@ else
     $BDansweredCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="           CALL REPONSEED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="           $rpt_type_verbiage REPONSEED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
     $ASCII_text.="          +-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="----------+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL REPONSEED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage REPONSEED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE','TIMEOT','AFTHRS','NANQUE','INBND','MAXCAL') group by queue_seconds;";
    @@ -1442,13 +1555,13 @@ else
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- FAIT APPEL Hangup STATS       TÉLÉCHARGER\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HANGUP REASON STATS       TÉLÉCHARGER\n";
     $ASCII_text.="+----------------------+------------+\n";
    -$ASCII_text.="| HANGUP REASON        | CALLS      |\n";
    +$ASCII_text.="| HANGUP REASON        | $rpt_type_verbiages      |\n";
     $ASCII_text.="+----------------------+------------+\n";
     
    -$CSV_text3.="\n\"FAIT APPEL Hangup STATS\"\n";
    -$CSV_text3.="\"HANGUP REASON\",\"CALLS\"\n";
    +$CSV_text3.="\n\"$rpt_type_verbiage HANGUP REASON STATS\"\n";
    +$CSV_text3.="\"HANGUP REASON\",\"$rpt_type_verbiages\"\n";
     
     $stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason order by term_reason;";
     if ($DID=='Y')
    @@ -1486,6 +1599,7 @@ $CSV_text3.="\"TOTAL:\",\"$TOTALcalls\"\n";
     
     if ($report_display_type=="HTML") 
     	{
    +	$ct_ary=array();
     	$rslt=mysql_query($stmt, $link);
     	$high_ct=0; $i=0;
     	while ($row=mysql_fetch_row($rslt)) {
    @@ -1495,11 +1609,11 @@ if ($report_display_type=="HTML")
     		$i++;
     	}
     	$GRAPH_text="
    \n"; - $GRAPH_text.="\n"; - $GRAPH_text.=" \n"; + $GRAPH_text.="
    FAIT APPEL Hangup STATS
    \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; - $GRAPH_text.=" \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; for ($i=0; $iTOTAL DES APPELS:\n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.="
    $rpt_type_verbiage HANGUP REASON STATS
    REASON CALLS $rpt_type_verbiages
    TOTAL ".$rpt_type_verbiage.":".trim($TOTALcalls)."
    \n"; @@ -1527,17 +1641,17 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL STATUS STATS TÉLÉCHARGER\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; -$ASCII_text.="| STATUS | DESCRIPTION | CATÉGORIE | CALLS | TOTAL TIME | AVG TIME |CALLS/HOUR|\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; +$ASCII_text.="---------- $rpt_type_verbiage STATUS STATS TÉLÉCHARGER\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; +$ASCII_text.="| STATUS | DESCRIPTION | CATÉGORIE | $rpt_type_verbiages | TOTAL TIME | AVG TIME |$rpt_type_verbiages/HOUR|\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; $GRAPH="

    "; $GRAPH.=""; $GRAPH.="
    CALLSTOTAL TIMEAVG TIMECALLS/HR

     


    "; -$CSV_text4.="\n\"CALL STATUS STATS\"\n"; -$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"CATÉGORIE\",\"CALLS\",\"TOTAL TIME\",\"AVG TIME\",\"CALLS/HOUR\"\n"; +$CSV_text4.="\n\"$rpt_type_verbiage STATUS STATS\"\n"; +$CSV_text4.="\"STATUS\",\"DESCRIPTION\",\"CATÉGORIE\",\"$rpt_type_verbiages\",\"TOTAL TIME\",\"AVG TIME\",\"$rpt_type_verbiages/HOUR\"\n"; @@ -1710,11 +1824,11 @@ else $ASCII_text="\n"; $ASCII_text.="---------- CUSTOM STATUS CATÉGORIE STATS
    TÉLÉCHARGER\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; -$ASCII_text.="| CATÉGORIE | CALLS | DESCRIPTION |\n"; +$ASCII_text.="| CATÉGORIE | $rpt_type_verbiages | DESCRIPTION |\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; $CSV_text5.="\n\"CUSTOM STATUS CATÉGORIE STATS\"\n"; -$CSV_text5.="\"CATÉGORIE\",\"CALLS\",\"DESCRIPTION\"\n"; +$CSV_text5.="\"CATÉGORIE\",\"$rpt_type_verbiages\",\"DESCRIPTION\"\n"; $TOTCATcalls=0; $r=0; @@ -1744,7 +1858,7 @@ $CSV_text5.="\"TOTAL\",\"$TOTCATcalls\"\n"; if ($report_display_type=="HTML") { - $ct_ary=""; + $ct_ary=array(); $r=0; $i=0; $high_ct=0; while ($r < $statcats_to_print) @@ -1794,12 +1908,12 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL INITIAL QUEUE POSITION BREAKDOWN TÉLÉCHARGER\n"; +$ASCII_text.="---------- $rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN TÉLÉCHARGER\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; $ASCII_text.="| 1 2 3 4 5 6 7 8 9 10 15 20 25 +25 | TOTAL |\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; -$CSV_text6.="\n\"CALL INITIAL QUEUE POSITION BREAKDOWN\"\n"; +$CSV_text6.="\n\"$rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN\"\n"; $CSV_text6.="\"\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"15\",\"20\",\"25\",\"+25\",\"TOTAL\"\n"; @@ -1938,11 +2052,11 @@ $TOTavg=0; $ASCII_text="\n"; $ASCII_text.="---------- AGENT STATS TÉLÉCHARGER\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; -$ASCII_text.="| AGENT | CALLS | TIME H:M:S |AVERAGE |\n"; +$ASCII_text.="| AGENT | $rpt_type_verbiages | TIME H:M:S |AVERAGE |\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; $CSV_text7.="\n\"AGENT STATS\"\n"; -$CSV_text7.="\"AGENT\",\"CALLS\",\"TIME H:M:S\",\"AVERAGE\"\n"; +$CSV_text7.="\"AGENT\",\"$rpt_type_verbiages\",\"TIME H:M:S\",\"AVERAGE\"\n"; $max_calls=1; @@ -1953,7 +2067,7 @@ $GRAPH="

    CALLS"; $GRAPH.="
    TIME H:M:SAVERAGE

     


    "; $graph_header=""; -$CALLS_graph=$graph_header.""; +$CALLS_graph=$graph_header.""; $TIMEHMS_graph=$graph_header.""; $AVERAGE_graph=$graph_header.""; @@ -2173,7 +2287,7 @@ else } $ASCII_text.="\n"; -$ASCII_text.="GRAPHIQUE INCREMENTE PAR TRANCHE DE 15 MINUTES DU TOTAL DES APPELS TAKEN INTO THIS IN-GROUP\n"; +$ASCII_text.="GRAPH IN 15 MINUTE INCREMENTS OF TOTAL $rpt_type_verbiages TAKEN INTO THIS IN-GROUP\n"; $k=1; @@ -2347,12 +2461,12 @@ else ##### Answered wait time breakdown $MAIN.="\n"; -$MAIN.="---------- CALL REPONSEED TIME BREAKDOWN IN SECONDS TÉLÉCHARGER\n"; +$MAIN.="---------- $rpt_type_verbiage REPONSEED TIME BREAKDOWN IN SECONDS TÉLÉCHARGER\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; $MAIN.="| HOUR | 0 5 10 15 20 25 30 35 40 45 50 55 60 90 +90 | TOTAL |\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; -$CSV_text8.="\n\"CALL REPONSEED TIME BREAKDOWN IN SECONDS\"\n"; +$CSV_text8.="\n\"$rpt_type_verbiage REPONSEED TIME BREAKDOWN IN SECONDS\"\n"; $CSV_text8.="\"HOUR\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n"; $ZZ = '00'; @@ -2464,7 +2578,6 @@ if ($file_download>0) { echo "$CSV_text"; - exit; } else { echo $HEADER; echo $JS_text; @@ -2474,6 +2587,27 @@ if ($file_download>0) { } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERsummary_hourly.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERsummary_hourly.php index 272388cf..b3da5d96 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERsummary_hourly.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_CLOSERsummary_hourly.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1806 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0107 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -124,6 +118,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -938,6 +961,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -961,10 +1003,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { if ($report_display_type=="HTML") @@ -998,5 +1038,24 @@ if ($file_download > 0) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_DIDstats.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_DIDstats.php index 0dd6e387..fa976009 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_DIDstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_DIDstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1809 - Added download option # 111104-1133 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0113 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -67,15 +70,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -189,6 +183,36 @@ else if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&file_download=".$file_download."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $HEADER.="\n"; $HEADER.="\n"; @@ -1070,6 +1094,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { echo $HEADER; @@ -1079,5 +1122,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRfilter.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRfilter.php index 60cf1c6f..18b6ce2d 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRfilter.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRfilter.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -9,8 +9,13 @@ # 90310-2054 - Admin header # 90508-0644 - Changed to PHP long tags # 120113-2022 - Added new columns for sent to queue and agent +# 130414-0257 - Added report logging # +$startMS = microtime(); + +$report_name='IVR Filter Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -88,6 +93,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$campaign[0], $query_date, $end_date|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -494,8 +519,6 @@ if ($file_download == 0 || !$file_download) { flush(); echo "$CSV_text"; - - exit; # $CSV_report=fopen("AST_pause_code_breakdown.csv", "w"); # fwrite($CSV_report, $CSV_header); @@ -503,4 +526,26 @@ if ($file_download == 0 || !$file_download) { # fwrite($CSV_report, $CSV_total); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRstats.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRstats.php index 5b59f2cc..bcd59ff1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_IVRstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 81026-2026 - First build @@ -20,8 +20,11 @@ # 110703-1850 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130114-0115 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -79,15 +82,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -109,6 +103,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -1001,6 +1024,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1013,6 +1055,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LISTS_campaign_stats.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LISTS_campaign_stats.php index 195a78c9..87fc3289 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LISTS_campaign_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LISTS_campaign_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -10,8 +10,13 @@ # 100916-0928 - First build # 110703-1815 - Added download option # 120224-0910 - Added HTML display option with bar graphs +# 120524-1754 - Fixed status categories issue +# 130221-1928 - small change to remove nested SQL query +# 130414-0127 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -58,15 +63,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -88,6 +84,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -178,9 +203,18 @@ else $group_SQL = "where campaign_id IN($group_SQL)"; } +# Get lists to query to avoid using a nested query +$lists_id_str=""; +$list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; +$list_rslt=mysql_query($list_stmt, $link); +while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; +} +$lists_id_str=substr($lists_id_str,0,-1); + $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +if ($DB) {echo "$stmt\n";} $statcats_to_print = mysql_num_rows($rslt); $i=0; while ($i < $statcats_to_print) @@ -188,13 +222,27 @@ while ($i < $statcats_to_print) $row=mysql_fetch_row($rslt); $vsc_id[$i] = $row[0]; $vsc_name[$i] = $row[1]; - $vsc_count[$i] = 0; + + $category_statuses=""; + $status_stmt="select distinct status from vicidial_statuses where category='$row[0]' UNION select distinct status from vicidial_campaign_statuses where category='$row[0]' $group_SQLand"; + if ($DB) {echo "$status_stmt\n";} + $status_rslt=mysql_query($status_stmt, $link); + while ($status_row=mysql_fetch_row($status_rslt)) + { + $category_statuses.="'$status_row[0]',"; + } + $category_statuses=substr($category_statuses, 0, -1); + + $category_stmt="select count(*) from vicidial_list where status in ($category_statuses) and list_id IN($lists_id_str)"; + if ($DB) {echo "$category_stmt\n";} + $category_rslt=mysql_query($category_stmt, $link); + $category_row=mysql_fetch_row($category_rslt); + $vsc_count[$i] = $category_row[0]; $i++; } - ### BEGIN gather all statuses that are in status flags ### $human_answered_statuses=''; $sale_statuses=''; @@ -348,7 +396,15 @@ else $GRAPH.="\n"; $GRAPH.="\n"; - $stmt="select count(*),list_id from vicidial_list where list_id IN( SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand) group by list_id;"; + $lists_id_str=""; + $list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; + $list_rslt=mysql_query($list_stmt, $link); + while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; + } + $lists_id_str=substr($lists_id_str,0,-1); + + $stmt="select count(*),list_id from vicidial_list where list_id IN($lists_id_str) group by list_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $listids_to_print = mysql_num_rows($rslt); @@ -949,7 +1005,6 @@ else echo "$CSV_text"; - exit; } else { $JS_onload.="}\n"; $JS_text.=$JS_onload; @@ -962,5 +1017,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LIST_UPDATEstats.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LIST_UPDATEstats.php index cc586581..678ae353 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LIST_UPDATEstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_LIST_UPDATEstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -10,8 +10,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0201 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -54,15 +57,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -84,6 +78,35 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,24 @@ $RUNtime = ($ENDtime - $STARTtime); echo "
    AGENT STATS
    AGENTCALLS
    $rpt_type_verbiages
    TIME H:M:S
    AVERAGE
    LEADS

    \nRun Time: $RUNtime seconds|$db_source\n"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_OUTBOUNDsummary_interval.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_OUTBOUNDsummary_interval.php index 6e8c71c9..669b20b0 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_OUTBOUNDsummary_interval.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_OUTBOUNDsummary_interval.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1825 - Added download option # 111104-1205 - Added user_group and calltime restrictions # 120224-0910 - Added HTML display option with bar graphs +# 130414-0119 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -132,6 +126,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_call_times from vicidial_user_groups where user_group='$user_group';"; @@ -1452,6 +1475,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1521,6 +1563,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1555,6 +1616,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VDADstats.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VDADstats.php index 5654caf2..4d70bf2b 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VDADstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VDADstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 60619-1718 - Added variable filtering to eliminate SQL injection attack threat @@ -32,8 +32,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 101207-1634 - Changed limits on seconds to 65000 from 36000 in vicidial_agent_log # 120224-0910 - Added HTML display option with bar graphs +# 130414-0117 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -103,15 +106,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - ##### SERVER CARRIER LOGGING LOOKUP ##### $stmt = "SELECT count(*) FROM servers where carrier_logging_active='Y' and max_vicidial_trunks > 0;"; $rslt=mysql_query($stmt, $link); @@ -144,6 +138,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -580,7 +603,7 @@ else $OUToutput .= "Total Réponse de l'hommeed calls for this Campagne: $CIcalls\n"; - $OUToutput .= "Average Call Length for all HA in seconds: $average_ci_seconds Total Time: $CIsec\n"; + $OUToutput .= "Average Call Length for all HA en secondes: $average_ci_seconds Total Time: $CIsec\n"; $OUToutput .= "\n"; @@ -1557,6 +1580,25 @@ else echo "OUTBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$outbound_rate = \$$outbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1792,6 +1834,25 @@ else $JS_text.="\n"; echo $JS_text; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_hopperlist.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_hopperlist.php index 30f4f485..d8f9c2a1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_hopperlist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_hopperlist.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,13 @@ # 111103-1207 - Added admin_hide_phone_data and admin_hide_lead_data options # 120210-1218 - Added vendor_lead_code to output # 120221-0059 - Added User Group restriction settings +# 130414-0159 - Added report logging # +$startMS = microtime(); + +$report_name='Liste des distributeurs de fiches Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -49,6 +54,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -226,6 +251,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_ingrouplist.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_ingrouplist.php index b555437d..bf50e6af 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_ingrouplist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_VICIDIAL_ingrouplist.php @@ -3,12 +3,17 @@ # # shows the agents logged into vicidial and set to take calls from in-group # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 100320-2102 - First Build +# 130414-0222 - Added report logging # +$startMS = microtime(); + +$report_name='In-Group Utilisateur List'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -40,6 +45,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -205,6 +230,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_admin_template_maker.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_admin_template_maker.php index be496661..aa8bd8c3 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_admin_template_maker.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_admin_template_maker.php @@ -5,6 +5,7 @@ # # CHANGES # 120402-2132 - First Build +# 120529-1427 - Filename filter fix # require("dbconnect.php"); @@ -193,6 +194,8 @@ $NWE = "')\">\"AIDE\"
    Campagnes:
    "; echo "

    \n"; +echo "
    \n"; +echo "Show parks-holds
    "; echo "Afficher as:
    "; echo "\n

    "; -echo "\n"; +echo "$NWB#agent_time_detail$NWE\n"; echo "
            "; echo "          \n"; @@ -1206,6 +1418,25 @@ while ($m < $k) echo "\n"; ##### END horizontal yellow transparent bar graph overlay on top of agent stats +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_time_sheet.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_time_sheet.php index d80c2169..fd5103f8 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_time_sheet.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_time_sheet.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1848 - Added download option # 111104-1308 - Added user_group restrictions for selecting in-groups +# 130414-0148 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -42,14 +45,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; @@ -93,6 +88,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -416,16 +440,33 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { header ("Content-type: text/html; charset=utf-8"); echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_timeclock_detail.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_timeclock_detail.php index 3a8651c0..ca67ef35 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_timeclock_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_agent_timeclock_detail.php @@ -3,7 +3,7 @@ # # Pulls all timeclock records for an agent # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 90602-2244 - First build @@ -13,8 +13,10 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 111104-1315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0154 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -67,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -100,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -319,9 +341,6 @@ else $query_date_BEGIN = "$query_date"; $query_date_END = "$end_date"; - if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";} - else {$ugSQL='';} - if ($file_download < 1) { echo "Utilisateur Time-Clock Détail $NOW_TIME\n"; @@ -685,6 +704,25 @@ if ($file_download > 0) echo "$file_output"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -819,6 +857,25 @@ $ENDtime = date("U"); $RUNtime = ($ENDtime - $STARTtime); echo "$RUNtime|$db_source\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_campaign_status_list_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_campaign_status_list_report.php index 3185ed40..112ca6a1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_campaign_status_list_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_campaign_status_list_report.php @@ -4,14 +4,19 @@ # This report is designed to show the breakdown by list_id of the calls and # their statuses for all lists within a campaign for a set time period # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # # 110815-2138 - First build # 120224-0910 - Added HTML display option with bar graphs +# 130414-0129 - Added report logging +# 130425-2113 - Added status flag summaries and other formatting cleanup +# 130425-2353 - Fixed bug with subtracting unsigned columns in SQL # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_PW); @@ -97,6 +93,36 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) echo "Login ou mot de passe invalide: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -138,7 +164,7 @@ while($i < $group_ct) $i++; } -$stmt="select campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; +$stmt="SELECT campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$HTML_text.="$stmt\n";} $campaigns_to_print = mysql_num_rows($rslt); @@ -276,17 +302,25 @@ $JS_onload="onload = function() {\n"; while($i < $group_ct) { - $stmt="select distinct status, status_name from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION select distinct status, status_name from vicidial_statuses order by status, status_name"; + $stmt="SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_statuses order by status, status_name"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $status_ary[$row[0]]=" - $row[1]"; + $status_ary[$row[0]] = " - $row[1]"; + $HA_ary[$row[0]] = $row[2]; + $SALE_ary[$row[0]] = $row[3]; + $DNC_ary[$row[0]] = $row[4]; + $CC_ary[$row[0]] = $row[5]; + $NI_ary[$row[0]] = $row[6]; + $UW_ary[$row[0]] = $row[7]; + $SC_ary[$row[0]] = $row[8]; + $COMP_ary[$row[0]] = $row[9]; } $ASCII_text.="CAMPAGNE: $group[$i]\n"; $GRAPH.="CAMPAGNE: $group[$i]\n"; $CSV_text.="\"CAMPAGNE: $group[$i]\"\n"; - $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; + $stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; $rslt=mysql_query($stmt, $link); if (mysql_num_rows($rslt)>0) { @@ -303,20 +337,30 @@ while($i < $group_ct) } } - $stmt="select distinct list_id, list_name from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; + $stmt="SELECT distinct list_id, list_name, active from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $list_id=$row[0]; $list_name=$row[1]; + $list_id=$row[0]; $list_name=$row[1]; $list_active=$row[2]; + $HA_count=0; + $SALE_count=0; + $DNC_count=0; + $CC_count=0; + $NI_count=0; + $UW_count=0; + $SC_count=0; + $COMP_count=0; + $dispo_ary=""; $ASCII_text.="ID de la liste #$list_id: $list_name\n"; $GRAPH.="ID de la liste #$list_id: $list_name\n"; $CSV_text.="\"ID de la liste #$list_id: $list_name\"\n"; - # $stat_stmt="select vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; - #$stat_stmt="select val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; - $stat_stmt="select vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION select vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + # $stat_stmt="SELECT vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; + #$stat_stmt="SELECT val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; + $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + if ($DB) {$HTML_text.="|$stat_stmt|\n";} # $ASCII_text.=$stat_stmt."\n"; $stat_rslt=mysql_query($stat_stmt, $link); if (mysql_num_rows($stat_rslt)>0) @@ -336,9 +380,9 @@ while($i < $group_ct) $max_duration=1; $max_handletime=1; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"DISPOSITION\",\"CALLS\",\"DURATION\",\"HANDLE TIME\"\n"; while ($stat_row=mysql_fetch_row($stat_rslt)) { @@ -353,14 +397,22 @@ while($i < $group_ct) $total_calls++; $total_duration+=$stat_row[2]; $total_handle_time+=$stat_row[3]; + if ($HA_ary[$stat_row[0]]=="Y") {$HA_count++;} + if ($SALE_ary[$stat_row[0]]=="Y") {$SALE_count++;} + if ($DNC_ary[$stat_row[0]]=="Y") {$DNC_count++;} + if ($CC_ary[$stat_row[0]]=="Y") {$CC_count++;} + if ($NI_ary[$stat_row[0]]=="Y") {$NI_count++;} + if ($UW_ary[$stat_row[0]]=="Y") {$UW_count++;} + if ($SC_ary[$stat_row[0]]=="Y") {$SC_count++;} + if ($COMP_ary[$stat_row[0]]=="Y") {$COMP_count++;} } $d=0; while (list($key, $val)=each($dispo_ary)) { - $ASCII_text.="| ".sprintf("%-35s", $key.$status_ary[$key]); - $ASCII_text.=" | ".sprintf("%5s", $val[0]); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($val[1], 'H')); + $ASCII_text.="| ".sprintf("%-40s", $key.$status_ary[$key]); + $ASCII_text.=" | ".sprintf("%6s", $val[0]); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($val[1], 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($val[2], 'H'))." |\n"; $CSV_text.="\"".$key.$status_ary[$key]."\",\"$val[0]\",\"".sec_convert($val[1], 'H')."\",\"".sec_convert($val[2], 'H')."\"\n"; @@ -373,20 +425,61 @@ while($i < $group_ct) $graph_stats[$d][3]=$val[2]; $d++; } - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| TOTALS:"; - $ASCII_text.=" | ".sprintf("%5s", $total_calls); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($total_duration, 'H')); + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| TOTALS:"; + $ASCII_text.=" | ".sprintf("%6s", $total_calls); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($total_duration, 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($total_handle_time, 'H'))." |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"TOTALS:\",\"$total_calls\",\"".sec_convert($total_duration, 'H')."\",\"".sec_convert($total_handle_time, 'H')."\"\n\n"; - for ($d=0; $d6) {$HA_percent = substr("$HA_percent", 0, -1);} + $SALE_percent = sprintf("%6.2f", 100*($SALE_count/$total_calls)); while(strlen($SALE_percent)>6) {$SALE_percent = substr("$SALE_percent", 0, -1);} + $DNC_percent = sprintf("%6.2f", 100*($DNC_count/$total_calls)); while(strlen($DNC_percent)>6) {$DNC_percent = substr("$DNC_percent", 0, -1);} + $CC_percent = sprintf("%6.2f", 100*($CC_count/$total_calls)); while(strlen($CC_percent)>6) {$CC_percent = substr("$CC_percent", 0, -1);} + $NI_percent = sprintf("%6.2f", 100*($NI_count/$total_calls)); while(strlen($NI_percent)>6) {$NI_percent = substr("$NI_percent", 0, -1);} + $UW_percent = sprintf("%6.2f", 100*($UW_count/$total_calls)); while(strlen($UW_percent)>6) {$UW_percent = substr("$UW_percent", 0, -1);} + $SC_percent = sprintf("%6.2f", 100*($SC_count/$total_calls)); while(strlen($SC_percent)>6) {$SC_percent = substr("$SC_percent", 0, -1);} + $COMP_percent = sprintf("%6.2f", 100*($COMP_count/$total_calls)); while(strlen($COMP_percent)>6) {$COMP_percent = substr("$COMP_percent", 0, -1);} + + $HA_count = sprintf("%9s", "$HA_count"); while(strlen($HA_count)>9) {$HA_count = substr("$HA_count", 0, -1);} + $SALE_count = sprintf("%9s", "$SALE_count"); while(strlen($SALE_count)>9) {$SALE_count = substr("$SALE_count", 0, -1);} + $DNC_count = sprintf("%9s", "$DNC_count"); while(strlen($DNC_count)>9) {$DNC_count = substr("$DNC_count", 0, -1);} + $CC_count = sprintf("%9s", "$CC_count"); while(strlen($CC_count)>9) {$CC_count = substr("$CC_count", 0, -1);} + $NI_count = sprintf("%9s", "$NI_count"); while(strlen($NI_count)>9) {$NI_count = substr("$NI_count", 0, -1);} + $UW_count = sprintf("%9s", "$UW_count"); while(strlen($UW_count)>9) {$UW_count = substr("$UW_count", 0, -1);} + $SC_count = sprintf("%9s", "$SC_count"); while(strlen($SC_count)>9) {$SC_count = substr("$SC_count", 0, -1);} + $COMP_count = sprintf("%9s", "$COMP_count"); while(strlen($COMP_count)>9) {$COMP_count = substr("$COMP_count", 0, -1);} + + if ($list_active=='Y') {$list_active = 'ACTIVE ';} else {$list_active = 'INACTIVE';} + $header_list_id = "$list_id - $list_name"; + $header_list_id = sprintf("%-51s", $header_list_id); while(strlen($header_list_id)>51) {$header_list_id = substr("$header_list_id", 0, -1);} + $header_list_count = sprintf("%10s", $total_calls); while(strlen($header_list_count)>10) {$header_list_count = substr("$header_list_count", 0, -1);} + $ASCII_text .= "\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| $header_list_id $list_active |\n"; + $ASCII_text .= "| TOTAL DES APPELS: $header_list_count |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| STATUS FLAGS BREAKDOWN: (and % of total leads in the list) |\n"; + $ASCII_text .= "| Réponse de l'homme: $HA_count $HA_percent% |\n"; + $ASCII_text .= "| Sale: $SALE_count $SALE_percent% |\n"; + $ASCII_text .= "| DNC: $DNC_count $DNC_percent% |\n"; + $ASCII_text .= "| Customer Contact: $CC_count $CC_percent% |\n"; + $ASCII_text .= "| Not Interested: $NI_count $NI_percent% |\n"; + $ASCII_text .= "| Unworkable: $UW_count $UW_percent% |\n"; + $ASCII_text .= "| Scheduled callbk: $SC_count $SC_percent% |\n"; + $ASCII_text .= "| Completed: $COMP_count $COMP_percent% |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + + + for ($d=0; $d".$graph_stats[$d][1]."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][2], 'H')."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][3], 'H')."
    TOTAL:".trim($total_calls)."
    "; $DURATION_graph.="
    TOTAL:".sec_convert($total_duration, 'H')."
    "; $HANDLETIME_graph.="
    TOTAL:".sec_convert($total_handle_time, 'H')."
    "; @@ -415,7 +508,6 @@ while($i < $group_ct) } $ASCII_text.="\n"; $GRAPH.="\n"; - } $i++; $ASCII_text.="\n\n"; @@ -456,8 +548,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -468,4 +558,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_carrier_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_carrier_log_report.php index dedef797..a66dc026 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_carrier_log_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_carrier_log_report.php @@ -1,26 +1,31 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120210-2202 - First build +# 130413-2213 - Added SIP codes summary and fields, and report logging +# 130418-1048 - Changed how server list is generated # +$startMS = microtime(); require("dbconnect.php"); +$report_name='Rapport Connexion Transporteur'; + $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} -if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} +if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} elseif (isset($_POST["query_date_D"])) {$query_date_D=$_POST["query_date_D"];} -if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} +if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} elseif (isset($_POST["query_date_T"])) {$query_date_T=$_POST["query_date_T"];} -if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} - elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -54,14 +59,7 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } +$NOW_DATE = date("Y-m-d"); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} @@ -84,10 +82,39 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} -$NOW_DATE = date("Y-m-d"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $server_ip_string='|'; @@ -99,7 +126,7 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="select server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -223,7 +250,29 @@ if ($VALIDER && $server_ip_ct>0) { } $MAIN.="+--------------+-------------+---------+\n"; $MAIN.="| TOTAL | ".sprintf("%-8s", $total_count)."|\n"; - $MAIN.="+--------------+-------------+---------+\n\n\n"; + $MAIN.="+--------------+-------------+---------+\n\n"; + + $stmt="select sip_hangup_cause,sip_hangup_reason,count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL group by sip_hangup_cause,sip_hangup_reason order by sip_hangup_cause,sip_hangup_reason"; + $rslt=mysql_query($stmt, $link); + $MAIN.="
    \n";
    +		if ($DB) {$MAIN.=$stmt."\n";}
    +		if (mysql_num_rows($rslt)>0) {
    +			$MAIN.="--- SIP ERROR REASON BREAKDOWN FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="| SIP CODE | SIP HANGUP REASON              |  COUNT  |\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$total_count=0;
    +			while ($row=mysql_fetch_array($rslt)) {
    +				$MAIN.="| ".sprintf("%8s", $row["sip_hangup_cause"])." ";
    +				$MAIN.="| ".sprintf("%-31s", $row["sip_hangup_reason"]);
    +				$MAIN.="| ".sprintf("%-8s", $row["ct"]);
    +				$MAIN.="|\n";
    +				$total_count+=$row["ct"];
    +			}
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="|                                     TOTAL | ".sprintf("%-8s", $total_count)."|\n";
    +			$MAIN.="+-------------------------------------------+---------+\n\n\n";
    +		}
     
     		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
    @@ -233,10 +282,10 @@ if ($VALIDER && $server_ip_ct>0) {
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
     		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, RECORDS #$lower_limit-$upper_limit               [TÉLÉCHARGER]\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVEUR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | REPONSEED TIME | PHONE NUMBER |\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVEUR IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"REPONSEED TIME\",\"PHONE NUMBER\"\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVEUR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | REPONSEED TIME | SIP CODE | SIP HANGUP REASON              | PHONE NUMBER |\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVEUR IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"REPONSEED TIME\",\"SIP CODE\",\"SIP HANGUP REASON\",\"PHONE NUMBER\"\n";
     
     		for ($i=1; $i<=mysql_num_rows($rpt_rslt); $i++) {
     			$row=mysql_fetch_array($rpt_rslt);
    @@ -255,7 +304,7 @@ if ($VALIDER && $server_ip_ct>0) {
     				$phone_number=$row["phone_number"];
     			}
     
    -			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\"\n";
    +			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$row[sip_hangup_cause]\",\"$row[sip_hangup_reason]\",\"$phone_number\"\n";
     			if ($i>=$lower_limit && $i<=$upper_limit) {
     				if (strlen($row["channel"])>37) {$row["channel"]=substr($row["channel"],0,37)."...";}
     				$carrier_rpt.="| ".sprintf("%-21s", $row["uniqueid"]); 
    @@ -267,10 +316,12 @@ if ($VALIDER && $server_ip_ct>0) {
     				$carrier_rpt.="| ".sprintf("%-41s", $row["channel"]); 
     				$carrier_rpt.="| ".sprintf("%-10s", $row["dial_time"]); 
     				$carrier_rpt.="| ".sprintf("%-14s", $row["answered_time"]); 
    +				$carrier_rpt.="| ".sprintf("%8s", $row["sip_hangup_cause"])." "; 
    +				$carrier_rpt.="| ".sprintf("%-31s", $row["sip_hangup_reason"]); 
     				$carrier_rpt.="| ".sprintf("%-13s", $phone_number)."|\n"; 
     			}
     		}
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
     
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
    @@ -315,11 +366,31 @@ if ($VALIDER && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_dialer_inventory_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_dialer_inventory_report.php
    index 44e194c8..1c236606 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_dialer_inventory_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_dialer_inventory_report.php
    @@ -1,7 +1,7 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Joe Johnson     LICENSE: AGPLv2
     #                     Matt Florell 
     #
     # NOTES:
    @@ -14,8 +14,11 @@
     # 111106-1327 - Reformatting, other minor changes
     # 111230-1145 - Debugging additions and more minor changes
     # 120221-2237 - Added totals, list options, other small changes
    +# 130414-0131 - Added report logging
     #
     
    +$startMS = microtime();
    +
     error_reporting(0);
     
     require("dbconnect.php");
    @@ -57,7 +60,7 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;}
     if (!isset($end_date)) {$end_date = $NOW_DATE;}
     
     
    -$report_name = 'Dialer Rapport d'inventaire';
    +$report_name = 'Dialer Rapport d inventaire';
     $db_source = 'M';
     
     #############################################
    @@ -77,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	#$HTML_header.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
     if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -107,6 +101,34 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	#$HTML_header.="\n";
    +	}
     
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
    @@ -882,8 +904,6 @@ if ($file_download>0)
     	flush();
     
     	echo "$CSV_text";
    -
    -	exit;
     	} 
     else 
     	{
    @@ -894,6 +914,27 @@ else
     	echo $HTML_text;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
     
     
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_display.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_display.php
    new file mode 100644
    index 00000000..c5a8dfca
    --- /dev/null
    +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_display.php
    @@ -0,0 +1,86 @@
    +    LICENSE: AGPLv2
    +#
    +# This page displays emails from the log
    +#
    +# changes:
    +# 130221-2124 - First build
    +#
    +
    +require("dbconnect.php");
    +require("functions.php");
    +
    +if (isset($_GET["DB"]))				{$DB=$_GET["DB"];}
    +	elseif (isset($_POST["DB"]))	{$DB=$_POST["DB"];}
    +if (isset($_GET["email_row_id"]))	{$email_row_id=$_GET["email_row_id"];}
    +	elseif (isset($_POST["email_row_id"]))	{$email_row_id=$_POST["email_row_id"];}
    +if (isset($_GET["email_log_id"]))	{$email_log_id=$_GET["email_log_id"];}
    +	elseif (isset($_POST["email_log_id"]))	{$email_log_id=$_POST["email_log_id"];}
    +
    +header ("Content-type: text/html; charset=utf-8");
    +header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    +header ("Pragma: no-cache");                          // HTTP/1.0
    +
    +#############################################
    +##### START SYSTEM_SETTINGS LOOKUP #####
    +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$qm_conf_ct = mysql_num_rows($rslt);
    +if ($qm_conf_ct > 0)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$non_latin =							$row[0];
    +	$timeclock_end_of_day =					$row[1];
    +	$agentonly_callback_campaign_lock =		$row[2];
    +	$custom_fields_enabled =				$row[3];
    +	$allow_emails =				$row[4];
    +	}
    +##### END SETTINGS LOOKUP #####
    +###########################################
    +
    +if ($allow_emails<1) 
    +	{
    +	echo "Your system does not have the email setting enabled\n";
    +	exit;
    +	}
    +
    +if ($non_latin < 1)
    +	{
    +	$user=ereg_replace("[^-_0-9a-zA-Z]","",$user);
    +	$pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass);
    +	}
    +else
    +	{
    +	$user = ereg_replace("'|\"|\\\\|;","",$user);
    +	$pass = ereg_replace("'|\"|\\\\|;","",$pass);
    +	}
    +
    +if ($email_log_id) {
    +	$stmt="select * from vicidial_email_log where email_log_id='$email_log_id'";
    +	$rslt=mysql_query($stmt, $link);
    +} else if ($email_row_id) {
    +	$stmt="select * from vicidial_email_list where email_row_id='$email_row_id'";
    +	$rslt=mysql_query($stmt, $link);
    +}
    +	
    +if (mysql_num_rows($rslt)>0) {
    +	$row=mysql_fetch_array($rslt);
    +	$row["message"]=preg_replace('/\r|\n/', "
    ", $row["message"]); + $EMAIL_form="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="
    Date sent:$row[email_date]
    Message:$row[message]
    "; +} +?> + + + +VICIDIAL email frame + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_report.php new file mode 100644 index 00000000..bb3d9cc8 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_email_log_report.php @@ -0,0 +1,559 @@ + LICENSE: AGPLv2 +# +# report of emails handled by the system +# +# CHANGELOG: +# 130221-2117 - First build +# 130414-0132 - Added report logging +# + +$startMS = microtime(); + +$version = '2.6-2'; +$build = '130414-0132'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["VALIDER"])) {$VALIDER=$_GET["VALIDER"];} + elseif (isset($_POST["VALIDER"])) {$VALIDER=$_POST["VALIDER"];} +if (isset($_GET["user_group_filter"])) {$user_group_filter=$_GET["user_group_filter"];} + elseif (isset($_POST["user_group_filter"])) {$user_group_filter=$_POST["user_group_filter"];} +if (isset($_GET["email_type"])) {$email_type=$_GET["email_type"];} + elseif (isset($_POST["email_type"])) {$email_type=$_POST["email_type"];} +if (isset($_GET["date_type"])) {$date_type=$_GET["date_type"];} + elseif (isset($_POST["date_type"])) {$date_type=$_POST["date_type"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} + + +$report_name = 'Email Log Report'; +$db_source = 'M'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,email_enabled FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $slave_db_server = $row[2]; + $reports_use_slave_db = $row[3]; + $email_enabled = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {$MAIN.="$stmt\n";} +$gmt_conf_ct = mysql_num_rows($rslt); +$dst = date("I"); +if ($gmt_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + $epoch_offset = (($local_gmt + $dst) * 3600); + } + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level='7' and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$reports_only_user=$row[0]; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Login ou mot de passe invalide: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + +$stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGuser_group = $row[0]; + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; +$LOGadmin_viewable_call_times = $row[3]; + +if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Vous n'êtes pas autorisé à consulter ce rapport: |$PHP_AUTH_USER|$report_name|\n"; + exit; + } + +$LOGadmin_viewable_groupsSQL=''; +$whereLOGadmin_viewable_groupsSQL=''; +if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; +$rslt=mysql_query($stmt, $link); + +if ($DB) {$MAIN.="$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +$LISTgroups[$i]='---NONE---'; +$i++; +$groups_to_print++; +$groups_string='|'; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] = $row[0]; + $LISTgroup_names[$i] = $row[1]; + $LISTgroup_ids[$i] = $row[2]; + $groups_string .= "$LISTgroups[$i]|"; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + } + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } +if (strlen($group_SQL)<3) {$group_SQL="''";} + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; + + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="$report_name\n"; + +$short_header=1; + +#require("admin_header.php"); + +$MAIN.="
    "; + +if ($DB > 0) + { + $MAIN.="
    \n"; + $MAIN.="$group_ct|$group_string|$group_SQL\n"; + $MAIN.="
    \n"; + $MAIN.="$shift|$query_date|$end_date\n"; + $MAIN.="
    \n"; + } + +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="Date Range:
    \n"; +$MAIN.=""; + +$MAIN.="\n"; + +$MAIN.=" to "; + +$MAIN.="\n"; + +$MAIN.="
    Email groups:
    \n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="           "; +if ($DID!='Y') + { + $MAIN.="MODIFIER | "; + $MAIN.="IVR REPORT | \n"; + } +$MAIN.="RAPPORTS | "; +$MAIN.="


    \n"; +$MAIN.="
    \n"; + + +$MAIN.="
    \n"; +$MAIN.="
    Select date criteria: 
    "; +if (!$date_type || $date_type=="email_date") {$emailed="checked"; $date_title="received";} +if ($date_type=="call_date") {$called="checked"; $date_title="viewed";} +if ($date_type=="date_answered") {$answrd="checked"; $date_title="answered";} +$rpt_title.="from $query_date_BEGIN to $query_date_END "; +$MAIN.="Date email received
    \n"; +$MAIN.="Date email viewed
    \n"; +$MAIN.="Date email answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="
    Select report type to display: 
    "; +if (!$email_type || $email_type=="received") {$rcvd="checked"; $date_type="email_date"; $email_title="received";} +if ($email_type=="viewed") {$view="checked"; $email_title="viewed";} +if ($email_type=="answered") {$answ="checked"; $email_title="answered";} +$MAIN.="Emails received
    \n"; +$MAIN.="Emails viewed
    \n"; +$MAIN.="Emails answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="\n\n"; +$MAIN.="
    \n\n";
    +
    +if ($groups_to_print < 1)
    +	{
    +	$MAIN.="\n\n";
    +	$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK VALIDER\n";
    +	}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$end_date 23:59:59";
    +
    +$rpt_title="Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\n\n";
    +$MAIN.=$rpt_title;
    +$MAIN.="Email log results: $group_string          $NOW_TIME        TÉLÉCHARGER\n";
    +$CSV_text1.="\"Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\"\n\n";
    +
    +if ($email_type=="received") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +	#	$stmt="select vel.* from vicidial_email_list vel where $date_type>='$query_date_BEGIN' and $date_type<='$query_date_END' and group_id in ($group_SQL) order by $date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +	#	$stmt="select vel.*, vcl.call_date, from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="viewed") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | DATE EMAIL VIEWED   | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="answered") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+---------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE (click to view full text)")." | DATE EMAIL VIEWED   | DATE EMAIL REPONSEED | ".sprintf("%-20s", "USER")." | ".sprintf("%-50s", "RESPONSE (click to view full text)")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"DATE EMAIL REPONSEED\",\"USER\",\"RESPONSE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +#echo $stmt."\n";
    +$rslt=mysql_query($stmt, $link);
    +if (mysql_num_rows($rslt)>0) {
    +	$i=0;
    +	$rpt_str=$rpt_border;
    +	$rpt_str.=$rpt_header;
    +	$rpt_str.=$rpt_border;
    +
    +	while($row=mysql_fetch_array($rslt)) {
    +		$email_row_id=$row["email_row_id"];
    +		$email_log_id=$row["email_log_id"];
    +		$lead_id=$row["lead_id"];
    +		$email_date=$row["email_date"];
    +
    +		$email_from=$row["email_from"];
    +		if (mb_strlen($email_from,'UTF-8')>27) {$email_from=mb_substr($email_from,0,27,'UTF-8')."...";}
    +
    +		$sender_name=$row["email_from_name"];
    +		if (mb_strlen($sender_name,'UTF-8')>17) {$sender_name=mb_substr($sender_name,0,17,'UTF-8')."...";}
    +
    +		$message=preg_replace('/\r|\n/', '', strip_tags($row["message"]));	
    +		if (mb_strlen($message,'UTF-8')>47) {$message=mb_substr($message,0,47,'UTF-8')."...";}
    +
    +		$call_date=$row["call_date"];
    +		$date_answered=$row["date_response_sent"];
    +		
    +		$sent_message=preg_replace('/\r|\n/', ' ', strip_tags($row["sent_message"]));
    +		if (mb_strlen($sent_message,'UTF-8')>47) {$sent_message=mb_substr($sent_message,0,47,'UTF-8')."...";}
    +		
    +		$user=$row["sending_user"];
    +		$status=$row["status"];
    +
    +		if ($email_type=="received") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$status\"\n";
    +		} else if ($email_type=="viewed") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$status\"\n";
    +		} else if ($email_type=="answered") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | $date_answered | ".sprintf("%-20s", $user)." | ".sprintf("%-50s", "$sent_message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$date_answered\",\"$user\",\"$sent_message\",\"$status\"\n";
    +		}
    +
    +		$rpt_str.=$rpt_line;
    +	}
    +	$rpt_str.=$rpt_border;
    +} else {
    +	$rpt_str="**NO RESULTS FOUND**\n\n";
    +}
    +	$MAIN.=$rpt_str;
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +$MAIN.="\nRun Time: $RUNtime seconds|$db_source\n";
    +$MAIN.="
    "; +$MAIN.="
    "; + +$MAIN.=""; + +if ($file_download>0) { + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AST_email_log_report_$US$FILE_TIME.csv"; + $CSV_var="CSV_text1"; + $CSV_text=preg_replace('/^\s+/', '', $$CSV_var); + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text1"; + +} else { + echo $HEADER; + echo $JS_text; + require("admin_header.php"); + echo $MAIN; +} + +} + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_hangup_cause_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_hangup_cause_report.php index 24284592..d77c8851 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_hangup_cause_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_hangup_cause_report.php @@ -1,12 +1,17 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120331-2301 - First build +# 130413-2348 - Added report logging +# 130419-2047 - Changed how menu lists are generated to speed up initial form load # +$startMS = microtime(); + +$report_name='Hangup Cause Report'; require("dbconnect.php"); @@ -23,6 +28,8 @@ if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["hangup_cause"])) {$hangup_cause=$_GET["hangup_cause"];} elseif (isset($_POST["hangup_cause"])) {$hangup_cause=$_POST["hangup_cause"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -39,6 +46,8 @@ if (isset($_GET["VALIDER"])) {$VALIDER=$_GET["VALIDER"];} $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$START_TIME=date("U"); + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;"; @@ -56,15 +65,96 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) +##### Hangup Cause Dictionary ##### +$hangup_cause_dictionary = array( +0 => "Unspecified. No other cause codes applicable.", +1 => "Unallocated (unassigned) number.", +2 => "No route to specified transit network (national use).", +3 => "No route to destination.", +6 => "Channel unacceptable.", +7 => "Call awarded, being delivered in an established channel.", +16 => "Normal call clearing.", +17 => "Utilisateur busy.", +18 => "No user responding.", +19 => "No answer from user (user alerted).", +20 => "Subscriber absent.", +21 => "Call rejected.", +22 => "Number changed.", +23 => "Redirection to new destination.", +25 => "Exchange routing error.", +27 => "Destination out of order.", +28 => "Invalid number format (address incomplete).", +29 => "Facilities rejected.", +30 => "Response to STATUS INQUIRY.", +31 => "Normal, unspecified.", +34 => "No circuit/channel available.", +38 => "Network out of order.", +41 => "Temporary failure.", +42 => "Switching equipment congestion.", +43 => "Access information discarded.", +44 => "Requested circuit/channel not available.", +50 => "Requested facility not subscribed.", +52 => "Outgoing calls barred.", +54 => "Incoming calls barred.", +57 => "Bearer capability not authorized.", +58 => "Bearer capability not presently available.", +63 => "Service or option not available, unspecified.", +65 => "Bearer capability not implemented.", +66 => "Channel type not implemented.", +69 => "Requested facility not implemented.", +79 => "Service or option not implemented, unspecified.", +81 => "Invalid call reference value.", +88 => "Incompatible destination.", +95 => "Invalid message, unspecified.", +96 => "Mandatory information element is missing.", +97 => "Message type non-existent or not implemented.", +98 => "Message not compatible with call state or message type non-existent or not implemented.", +99 => "Information element / parameter non-existent or not implemented.", +100 => "Invalid information element contents.", +101 => "Message not compatible with call state.", +102 => "Recovery on timer expiry.", +103 => "Parameter non-existent or not implemented - passed on (national use).", +111 => "Protocol error, unspecified.", +127 => "Interworking, unspecified." +); + +$master_hangup_cause_array=array(); +$i=0; +while (list($key, $val)=each($hangup_cause_dictionary)) { + $master_hangup_cause_array[$i]=$key; + $i++; +} +$hangup_causes_to_print=count($master_hangup_cause_array); +$master_dialstatus_array=array("REPONSE", "BUSY", "NOREPONSE", "CANCEL", "CONGESTION", "CHANUNAVAIL", "DONTCALL", "TORTURE", "INVALIDARGS"); +$dialstatuses_to_print=count($master_dialstatus_array); + +/* +$hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); +$i=0; +while($i < $hangup_cause_ct) { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; + if (preg_match('/\-\-ALL\-\-/', $hangup_cause[$i])) + { + $hangup_cause=$master_hangup_cause_array; + break; + } + $i++; } +$j=0; +while($j < $dial_status_ct) + { + if (preg_match('/\-\-ALL\-\-/', $dial_status[$j])) + { + $dial_status=$master_dialstatus_array; + break; + } + $j++; + } +*/ + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -87,6 +177,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} $NOW_DATE = date("Y-m-d"); @@ -101,7 +220,8 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="SELECT server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; +if ($DB) {echo "|$server_stmt|\n";} $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -148,65 +268,102 @@ if (strlen($server_ip_SQL)<3) {$server_ip_SQL="";} ########### HANGUP CAUSES $hangup_cause_string='|'; $dialstatus_string='|'; -$hangup_and_dialstatus_string='|'; +#$hangup_and_dialstatus_string='|'; $hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); $i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - $hangup_and_dialstatus_string .= "$hangup_cause[$i]|"; - $hangup_cause_string .= "$hangup_array[0]|"; - $dialstatus_string .= "$hangup_array[1]|"; + $hangup_cause_string .= "$hangup_cause[$i]|"; $i++; } -$hangupcause_stmt="select distinct hangup_cause, dialstatus from vicidial_carrier_log order by dialstatus, hangup_cause asc"; -$hangupcause_rslt=mysql_query($hangupcause_stmt, $link); -$causes_to_print=mysql_num_rows($hangupcause_rslt); -$i=0; -while ($i < $causes_to_print) +$j=0; +while($j < $dial_status_ct) { - $row=mysql_fetch_row($hangupcause_rslt); - $LISThangup_causes[$i] = $row[0]; - $LISTdialstatuses[$i] = $row[1]; - if (ereg("-ALL",$hangup_cause_string) ) + $dialstatus_string .= "$dial_status[$j]|"; + $j++; + } + +$i=0; $j=0; +$hangup_causes_string='|'; +$dialstatuses_string='|'; +while($i < $hangup_cause_ct) + { + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) ) { - $hangup_cause[$i] = $LISThangup_causes[$i]; - $dialstatus[$i] = $LISTdialstatuses[$i]; + $hangup_causes_string .= "$hangup_cause[$i]|"; + $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; } $i++; } -$i=0; -$hangup_causes_string='|'; -$hangup_cause_ct = count($hangup_cause); +while ($j < $dial_status_ct) + { + if ( (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + $dialstatuses_string .= "$dial_status[$j]|"; + $dial_statusQS .= "&dial_status[]=$dial_status[$j]"; + } + $j++; + } + +$i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - if ( (strlen($hangup_array[0]) > 0) and (preg_match("/\|$hangup_array[0]\|/",$hangup_cause_string)) and (strlen($hangup_array[1]) > 0) and (preg_match("/\|$hangup_array[1]\|/",$dialstatus_string)) ) + $j=0; + while ($j < $dial_status_ct) { - $hangup_causes_string .= "$hangup_array[0]|"; - $hangup_cause_SQL .= "(hangup_cause='$hangup_array[0]' and dialstatus='$hangup_array[1]') OR"; - $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) and (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + if ( ereg("--ALL--",$hangup_cause_string) ) {$HC_subclause="";} else {$HC_subclause="hangup_cause='$hangup_cause[$i]'";} + if ( ereg("--ALL--",$dialstatus_string) ) {$DS_subclause="";} else {$DS_subclause="dialstatus='$dial_status[$j]'";} + if ($HC_subclause=="" || $DS_subclause=="") {$conjunction="";} else {$conjunction=" and ";} + $hangup_cause_SQL .= "($HC_subclause$conjunction$DS_subclause) OR"; + $hangup_cause_SQL=preg_replace('/\(\) OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL .= "(hangup_cause='$hangup_cause[$i]' and dialstatus='$dial_status[$j]') OR"; + } + $j++; } $i++; } if ( (ereg("--ALL--",$hangup_cause_string) ) or ($hangup_cause_ct < 1) ) { - $hangup_cause_SQL = ""; +# $hangup_cause_SQL = ""; $HC_rpt_string="- ALL hangup causes "; if (ereg("--ALL--",$hangup_cause_string)) {$hangup_causeQS="&hangup_cause[]=--ALL--";} } else { - $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); - $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); - $hangup_cause_SQL = "and ($hangup_cause_SQL)"; - $hangup_and_dialstatus_string=preg_replace('/\!/', "-", $hangup_and_dialstatus_string); - $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_and_dialstatus_string, 1, -1)); +# $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +# $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +# $hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $hangup_causes_string=preg_replace('/\!/', "-", $hangup_causes_string); + $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_causes_string, 1, -1)); } -if (strlen($hangup_cause_SQL)<3) {$hangup_cause_SQL="";} + +if ( (ereg("--ALL--",$dial_status_string) ) or ($dial_status_ct < 1) ) + { + $dial_status_SQL = ""; + $DS_rpt_string="- ALL dial statuses "; + if (ereg("--ALL--",$dial_status_string)) {$dial_statusQS="&dial_status[]=--ALL--";} + } +else + { + #$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); + #$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $dialstatuses_string=preg_replace('/\!/', "-", $dialstatuses_string); + $DS_rpt_string="AND dial status(es) ".preg_replace('/\|/', ", ", substr($dialstatuses_string, 1, -1)); + } + +$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + +if (strlen($hangup_cause_SQL)<7) {$hangup_cause_SQL="";} + ######################## $HEADER.="\n"; $HEADER.="\n"; @@ -267,22 +424,44 @@ while ($servers_to_print > $o) } $MAIN.="
    Hangup Cause/Dial Status:
    "; +$MAIN.="
    Hangup Cause:
    "; $MAIN.="
    Dial status:
    "; +$MAIN.=""; +$MAIN.="
    "; @@ -292,7 +471,7 @@ $MAIN.="\n"; $MAIN.="

    \n"; $MAIN.="
    \n"; if ($VALIDER && $server_ip_ct>0) { - $stmt="select hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; + $stmt="SELECT hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; $rslt=mysql_query($stmt, $link); $MAIN.="
    \n";
     	if ($DB) {$MAIN.=$stmt."\n";}
    @@ -313,14 +492,14 @@ if ($VALIDER && $server_ip_ct>0) {
     		$MAIN.="|                      TOTAL | ".sprintf("%-8s", $total_count)."|\n";
     		$MAIN.="+--------------+-------------+---------+\n\n\n";
     
    -		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
    +		$rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
     		if ($DB) {$MAIN.=$rpt_stmt."\n";}
     
     		if (!$lower_limit) {$lower_limit=1;}
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
    -		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [TÉLÉCHARGER]\n";
    +		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string, $DS_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [TÉLÉCHARGER]\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
     		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVEUR IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | REPONSEED TIME | PHONE NUMBER |\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    @@ -331,7 +510,7 @@ if ($VALIDER && $server_ip_ct>0) {
     			$phone_number=""; $phone_note="";
     
     			if (strlen($row["phone_number"])==0) {
    -				$stmt2="select phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
    +				$stmt2="SELECT phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
     				$rslt2=mysql_query($stmt2, $link);
     				$channel=$row["channel"];
     				while ($row2=mysql_fetch_array($rslt2)) {
    @@ -363,14 +542,14 @@ if ($VALIDER && $server_ip_ct>0) {
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
     		if ($ll>=1) {
    -			$carrier_rpt_hf.="[<<< PREV 1000 records]";
    +			$carrier_rpt_hf.="[<<< PREV 1000 records]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%-23s", " ");
     		}
     		$carrier_rpt_hf.=sprintf("%-145s", " ");
     		if (($lower_limit+1000)=mysql_num_rows($rpt_rslt)) {$max_limit=mysql_num_rows($rpt_rslt)-$upper_limit;} else {$max_limit=1000;}
    -			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
    +			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%23s", " ");
     		}
    @@ -403,11 +582,35 @@ if ($VALIDER && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$END_TIME=date("U");
    +
    +#print "Total run time: ".($END_TIME-$START_TIME);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_inbound_daily_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_inbound_daily_report.php
    index ba8236d0..a16a39a8 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_inbound_daily_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_inbound_daily_report.php
    @@ -1,17 +1,30 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Matt Florell     LICENSE: AGPLv2
     #
     # CHANGES
     #
     # 111119-1234 - First build
     # 120118-2116 - Changed headers on CSV download
     # 120224-0910 - Added HTML display option with bar graphs
    +# 120601-2235 - Added group name to header, added status breakdown counts to page and CSV with option to display them
    +# 120611-2200 - Added ability to filter output by call time
    +# 120819-0118 - Formatting changes
    +# 121115-0621 - Changed to multi-select for in-group selection
    +# 130322-2008 - Added Unique Agents column
    +# 130414-0110 - Added report logging
     #
     
    +$startMS = microtime();
    +
     require("dbconnect.php");
     
    +if (file_exists('options.php'))
    +        {
    +        require('options.php');
    +        }
    +
     $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
     $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
     $PHP_SELF=$_SERVER['PHP_SELF'];
    @@ -27,6 +40,10 @@ if (isset($_GET["file_download"]))			{$file_download=$_GET["file_download"];}
     	elseif (isset($_POST["file_download"]))	{$file_download=$_POST["file_download"];}
     if (isset($_GET["hourly_breakdown"]))			{$hourly_breakdown=$_GET["hourly_breakdown"];}
     	elseif (isset($_POST["hourly_breakdown"]))	{$hourly_breakdown=$_POST["hourly_breakdown"];}
    +if (isset($_GET["show_disposition_statuses"]))			{$show_disposition_statuses=$_GET["show_disposition_statuses"];}
    +	elseif (isset($_POST["show_disposition_statuses"]))	{$show_disposition_statuses=$_POST["show_disposition_statuses"];}
    +if (isset($_GET["ignore_afterhours"]))			{$ignore_afterhours=$_GET["ignore_afterhours"];}
    +	elseif (isset($_POST["ignore_afterhours"]))	{$ignore_afterhours=$_POST["ignore_afterhours"];}
     if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
     	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
     if (isset($_GET["VALIDER"]))				{$VALIDER=$_GET["VALIDER"];}
    @@ -44,6 +61,8 @@ if (strlen($shift)<2) {$shift='ALL';}
     $report_name = 'Inbound Daily Report';
     $db_source = 'M';
     
    +if ($ignore_afterhours=="checked") {$status_clause=" and status!='AFTHRS'";}
    +
     #############################################
     ##### START SYSTEM_SETTINGS LOOKUP #####
     $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;";
    @@ -61,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	$MAIN.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -91,6 +101,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	$MAIN.="\n";
    +	}
    +
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     $rslt=mysql_query($stmt, $link);
    @@ -124,14 +163,34 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl
     	$whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')";
     	}
     
    -$LOGadmin_viewable_call_timesSQL='';
    -$whereLOGadmin_viewable_call_timesSQL='';
    -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +if ($IDR_calltime_available==1)
     	{
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    -	$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    -	$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +	$LOGadmin_viewable_call_timesSQL='';
    +	$whereLOGadmin_viewable_call_timesSQL='';
    +	if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +		{
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    +		$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		}
    +
    +	$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {$MAIN.="$stmt\n";}
    +	$times_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $times_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$call_times[$i] =		$row[0];
    +		$call_time_names[$i] =	$row[1];
    +		$i++;
    +		}
    +	}
    +else 
    +	{
    +	$shift="24hours";
     	}
     
     $NOW_DATE = date("Y-m-d");
    @@ -140,6 +199,25 @@ $STARTtime = date("U");
     if (!isset($group)) {$group = '';}
     if (!isset($query_date)) {$query_date = $NOW_DATE;}
     if (!isset($end_date)) {$end_date = $NOW_DATE;}
    +$groups_selected = count($group);
    +$group_name_str="";
    +$groups_selected_str="";
    +$groups_selected_URLstr="";
    +for ($i=0; $i<$groups_selected; $i++) 
    +	{
    +	$selected_group_URLstr.="&group[]=$group[$i]";
    +	if ($group[$i]=="--ALL--") 
    +		{
    +		$group=array("--ALL--");
    +		$groups_selected=1;
    +		$group_name_str.="-- ALL INGROUPS --";
    +		$all_selected="selected";
    +		}
    +	else 
    +		{
    +		$groups_selected_str.="'$group[$i]', ";
    +		}
    +	}
     
     $stmt="select group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;";
     $rslt=mysql_query($stmt, $link);
    @@ -153,6 +231,26 @@ while ($i < $groups_to_print)
     	$groups[$i] =		$row[0];
     	$group_names[$i] =	$row[1];
     	$groups_string .= "$groups[$i]|";
    +	for ($j=0; $j<$groups_selected; $j++) {
    +		if ($group[$j] && $groups[$i]==$group[$j]) {$group_name_str.="$groups[$i] - $group_names[$i], ";}
    +		if ($group[$j]=="--ALL--") {$groups_selected_str.="'$groups[$i]', ";}
    +	}
    +	$i++;
    +	}
    +
    +$groups_selected_str=preg_replace('/, $/', '', $groups_selected_str);
    +$group_name_str=preg_replace('/, $/', '', $group_name_str);
    +
    +$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {$MAIN.="$stmt\n";}
    +$times_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $times_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$call_times[$i] =		$row[0];
    +	$call_time_names[$i] =	$row[1];
     	$i++;
     	}
     
    @@ -166,11 +264,11 @@ $HEADER.="   .orange {color: black; background-color: #FFCC99}\n";
     $HEADER.="-->\n";
     $HEADER.=" \n";
     
    -if (!preg_match("/\|$group\|/i",$groups_string))
    -	{
    -	$HEADER.="\n";
    -	$group='';
    -	}
    +#if (!preg_match("/\|$group\|/i",$groups_string))
    +#	{
    +#	$HEADER.="\n";
    +#	$group='';
    +#	}
     
     $HEADER.="\n";
     $HEADER.="\n";
    @@ -183,9 +281,9 @@ $short_header=1;
     
     # require("admin_header.php");
     
    -$MAIN.="
    "; - $MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    "; + $MAIN.=""; $MAIN.="\n"; -$MAIN.="\n"; +$MAIN.="\n"; $o=0; while ($groups_to_print > $o) { - if ($groups[$o] == $group) {$MAIN.="\n";} - else {$MAIN.="\n";} + $selected=""; + for ($i=0; $i<$groups_selected; $i++) { + echo "\n"; + if ($groups[$o] == $group[$i]) {$selected="selected";} + } + $MAIN.="\n"; $o++; } $MAIN.="\n"; @@ -225,26 +328,29 @@ $MAIN.="  "; $MAIN.="  "; -$MAIN.="\n"; -$MAIN.="\n"; -$MAIN.="           TÉLÉCHARGER | MODIFIER | RAPPORTS
    Show hourly results
    \n"; -$MAIN.="\n\n"; + +if ($IDR_calltime_available==1) + { + $MAIN.="\n"; + } + +$MAIN.="
    Show hourly results
    Show disposition statuses
    Ignore after-hours calls
    TÉLÉCHARGER | MODIFIER | RAPPORTS
    "; $MAIN.="
    \n\n";
     
     
    -if (!$group)
    +if ($groups_selected==0)
     	{
     	$MAIN.="\n\n";
     	$MAIN.="S'IL VOUS PLAÎT CHOISIR UN GROUPE EN DATE ET-dessus et cliquez sur Soumettre\n";
    @@ -256,94 +362,247 @@ if (!$group)
     else
     	{
     	### FOR SHIFTS IT IS BEST TO STICK TO 15-MINUTE INCREMENTS FOR START TIMES ###
    +	if ($shift && $shift!="ALL") {
    +		# call_time_id | call_time_name              | call_time_comments | ct_default_start | ct_default_stop | ct_sunday_start | ct_sunday_stop | ct_monday_start | ct_monday_stop | ct_tuesday_start | ct_tuesday_stop | ct_wednesday_start | ct_wednesday_stop | ct_thursday_start | ct_thursday_stop | ct_friday_start | ct_friday_stop | ct_saturday_start | ct_saturday_stop
    +		$big_shift_time_SQL_clause ="";
    +		$shift_stmt="select * from vicidial_call_times where call_time_id='$shift'";
    +		$shift_rslt=mysql_query($shift_stmt, $link);
    +		$shift_row=mysql_fetch_array($shift_rslt);
    +		$default_start_time=substr("0000".$shift_row["ct_default_start"], -4);
    +		$default_stop_time=substr("0000".$shift_row["ct_default_stop"], -4);
    +		$ct_default_start=substr($default_start_time,0,2).":".substr($default_start_time,2,2).":00";
    +		$ct_default_stop=substr($default_stop_time,0,2).":".substr($default_stop_time,2,2).":00";
     
    -	if ($shift == 'AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}   
    -		if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +		if ($shift_row["ct_sunday_start"]!=$shift_row["ct_sunday_stop"]) {
    +			$sunday_start_time=substr("0000".$shift_row["ct_sunday_start"], -4);
    +			$sunday_stop_time=substr("0000".$shift_row["ct_sunday_stop"], -4);
    +			$ct_sunday_start=substr($sunday_start_time,0,2).":".substr($sunday_start_time,2,2).":00";
    +			$ct_sunday_stop=substr($sunday_stop_time,0,2).":".substr($sunday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_sunday_start"]!="2400") {
    +			$ct_sunday_start=$ct_default_start;
    +			$ct_sunday_stop=$ct_default_stop;
    +		} else {
    +			$ct_sunday_start="00:00:00";
    +			$ct_sunday_stop=1;
     		}
    -	if ($shift == 'PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_sunday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_sunday_stop=$strow[0];
    +		$start_time_ary[0]=$ct_sunday_start;
    +		$stop_time_ary[0]=$ct_sunday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=0 and date_format(call_date, '%H:%i:%s')>='$ct_sunday_start' and date_format(call_date, '%H:%i:%s')<='$ct_sunday_stop') or ";
    +
    +		if ($shift_row["ct_monday_start"]!=$shift_row["ct_monday_stop"]) {
    +			$monday_start_time=substr("0000".$shift_row["ct_monday_start"], -4);
    +			$monday_stop_time=substr("0000".$shift_row["ct_monday_stop"], -4);
    +			$ct_monday_start=substr($monday_start_time,0,2).":".substr($monday_start_time,2,2).":00";
    +			$ct_monday_stop=substr($monday_stop_time,0,2).":".substr($monday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_monday_start"]!="2400") {
    +			$ct_monday_start=$ct_default_start;
    +			$ct_monday_stop=$ct_default_stop;
    +		} else {
    +			$ct_monday_start="00:00:00";
    +			$ct_monday_stop=1;
     		}
    -	if ($shift == 'ALL') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_monday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_monday_stop=$strow[0];
    +		$start_time_ary[1]=$ct_monday_start;
    +		$stop_time_ary[1]=$ct_monday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=1 and date_format(call_date, '%H:%i:%s')>='$ct_monday_start' and date_format(call_date, '%H:%i:%s')<='$ct_monday_stop') or ";
    +
    +		if ($shift_row["ct_tuesday_start"]!=$shift_row["ct_tuesday_stop"]) {
    +			$tuesday_start_time=substr("0000".$shift_row["ct_tuesday_start"], -4);
    +			$tuesday_stop_time=substr("0000".$shift_row["ct_tuesday_stop"], -4);
    +			$ct_tuesday_start=substr($tuesday_start_time,0,2).":".substr($tuesday_start_time,2,2).":00";
    +			$ct_tuesday_stop=substr($tuesday_stop_time,0,2).":".substr($tuesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_tuesday_start"]!="2400") {
    +			$ct_tuesday_start=$ct_default_start;
    +			$ct_tuesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_tuesday_start="00:00:00";
    +			$ct_tuesday_stop=1;
     		}
    -	if ($shift == 'DAYTIME') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_tuesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_tuesday_stop=$strow[0];
    +		$start_time_ary[2]=$ct_tuesday_start;
    +		$stop_time_ary[2]=$ct_tuesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=2 and date_format(call_date, '%H:%i:%s')>='$ct_tuesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_tuesday_stop') or ";
    +
    +		if ($shift_row["ct_wednesday_start"]!=$shift_row["ct_wednesday_stop"]) {
    +			$wednesday_start_time=substr("0000".$shift_row["ct_wednesday_start"], -4);
    +			$wednesday_stop_time=substr("0000".$shift_row["ct_wednesday_stop"], -4);
    +			$ct_wednesday_start=substr($wednesday_start_time,0,2).":".substr($wednesday_start_time,2,2).":00";
    +			$ct_wednesday_stop=substr($wednesday_stop_time,0,2).":".substr($wednesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_wednesday_start"]!="2400") {
    +			$ct_wednesday_start=$ct_default_start;
    +			$ct_wednesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_wednesday_start="00:00:00";
    +			$ct_wednesday_stop=1;
     		}
    -	if ($shift == '10AM-6PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_wednesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_wednesday_stop=$strow[0];
    +		$start_time_ary[3]=$ct_wednesday_start;
    +		$stop_time_ary[3]=$ct_wednesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=3 and date_format(call_date, '%H:%i:%s')>='$ct_wednesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_wednesday_stop') or ";
    +
    +		if ($shift_row["ct_thursday_start"]!=$shift_row["ct_thursday_stop"]) {
    +			$thursday_start_time=substr("0000".$shift_row["ct_thursday_start"], -4);
    +			$thursday_stop_time=substr("0000".$shift_row["ct_thursday_stop"], -4);
    +			$ct_thursday_start=substr($thursday_start_time,0,2).":".substr($thursday_start_time,2,2).":00";
    +			$ct_thursday_stop=substr($thursday_stop_time,0,2).":".substr($thursday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_thursday_start"]!="2400") {
    +			$ct_thursday_start=$ct_default_start;
    +			$ct_thursday_stop=$ct_default_stop;
    +		} else {
    +			$ct_thursday_start="00:00:00";
    +			$ct_thursday_stop=1;
     		}
    -	if ($shift == '9AM-1AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_thursday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_thursday_stop=$strow[0];
    +		$start_time_ary[4]=$ct_thursday_start;
    +		$stop_time_ary[4]=$ct_thursday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=4 and date_format(call_date, '%H:%i:%s')>='$ct_thursday_start' and date_format(call_date, '%H:%i:%s')<='$ct_thursday_stop') or ";
    +
    +		if ($shift_row["ct_friday_start"]!=$shift_row["ct_friday_stop"]) {
    +			$friday_start_time=substr("0000".$shift_row["ct_friday_start"], -4);
    +			$friday_stop_time=substr("0000".$shift_row["ct_friday_stop"], -4);
    +			$ct_friday_start=substr($friday_start_time,0,2).":".substr($friday_start_time,2,2).":00";
    +			$ct_friday_stop=substr($friday_stop_time,0,2).":".substr($friday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_friday_start"]!="2400") {
    +			$ct_friday_start=$ct_default_start;
    +			$ct_friday_stop=$ct_default_stop;
    +		} else {
    +			$ct_friday_start="00:00:00";
    +			$ct_friday_stop=1;
     		}
    -	if ($shift == '845-1745') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:44:59";}
    -		}
    -	if ($shift == '1745-100') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_friday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_friday_stop=$strow[0];
    +		$start_time_ary[5]=$ct_friday_start;
    +		$stop_time_ary[5]=$ct_friday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=5 and date_format(call_date, '%H:%i:%s')>='$ct_friday_start' and date_format(call_date, '%H:%i:%s')<='$ct_friday_stop') or ";
    +
    +		if ($shift_row["ct_saturday_start"]!=$shift_row["ct_saturday_stop"]) {
    +			$saturday_start_time=substr("0000".$shift_row["ct_saturday_start"], -4);
    +			$saturday_stop_time=substr("0000".$shift_row["ct_saturday_stop"], -4);
    +			$ct_saturday_start=substr($saturday_start_time,0,2).":".substr($saturday_start_time,2,2).":00";
    +			$ct_saturday_stop=substr($saturday_stop_time,0,2).":".substr($saturday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_saturday_start"]!="2400") {
    +			$ct_saturday_start=$ct_default_start;
    +			$ct_saturday_stop=$ct_default_stop;
    +		} else {
    +			$ct_saturday_start="00:00:00";
    +			$ct_saturday_stop=1;
     		}
    +		$stop_time_stmt="select TIMEDIFF('$ct_saturday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_saturday_stop=$strow[0];
    +		$start_time_ary[6]=$ct_saturday_start;
    +		$stop_time_ary[6]=$ct_saturday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=6 and date_format(call_date, '%H:%i:%s')>='$ct_saturday_start' and date_format(call_date, '%H:%i:%s')<='$ct_saturday_stop') or ";
     
    -	$time1 = strtotime($time_BEGIN);
    -	$time2 = strtotime($time_END)+1;
    +		$query_time_stmt="select date_format('$query_date', '%w'), date_format('$end_date', '%w')";
    +		$query_time_rslt=mysql_query($query_time_stmt, $link);
    +		$qrow=mysql_fetch_row($query_time_rslt);
    +		$time_BEGIN=$start_time_ary[$qrow[0]];
    +		$time_END=$stop_time_ary[$qrow[0]];
    +		#$time_BEGIN="00:00:00"; # Need this so the $SQepoch value can be tweaked per day (i.e. only adding the hours for the start time);
     
    -	$hpd = ceil(($time2 - $time1) / 3600);
    -	if ($hpd<0) {$hpd+=24;}
    +		$query_date_BEGIN = "$query_date ".$time_BEGIN;   
    +		$query_date_END = "$end_date ".$time_END;
    +		RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); # Only calling it here to get the DURATIONday, EQepoch, and intial SQepoch
    +		# Will be called repeatedly for each day
     
    +		$big_shift_time_SQL_clause=preg_replace('/\sor\s$/', '', $big_shift_time_SQL_clause);
    +		$big_shift_time_SQL_clause=" and ($big_shift_time_SQL_clause)";
    +		#echo $big_shift_time_SQL_clause;
    +		#print_r($start_time_ary); echo "
    "; + #print_r($stop_time_ary); echo "
    "; + } else { - $query_date_BEGIN = "$query_date $time_BEGIN"; - $query_date_END = "$end_date $time_END"; + if ($shift == 'ALL') + { + if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";} + if (strlen($time_END) < 6) {$time_END = "23:59:59";} + } - $SQdate_ARY = explode(' ',$query_date_BEGIN); - $SQday_ARY = explode('-',$SQdate_ARY[0]); - $SQtime_ARY = explode(':',$SQdate_ARY[1]); - $EQdate_ARY = explode(' ',$query_date_END); - $EQday_ARY = explode('-',$EQdate_ARY[0]); - $EQtime_ARY = explode(':',$EQdate_ARY[1]); + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; - $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); - - $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); - $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); - - $DURATIONsec = ($EQepoch - $SQepoch); - $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); - - if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) - { - $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); - $query_date_END = date("Y-m-d H:i:s", $EQepoch); - $DURATIONday++; - } + RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); + } $MAIN.="Inbound Daily Report $NOW_TIME\n"; - $MAIN.="Selected in-group: $group\n"; - $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END for $shift shift\n\n"; + $MAIN.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$MAIN.="Selected shift: $shift\n";} + $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END"; + if ($shift && $IDR_calltime_available) {$MAIN.="for $shift shift";} + $MAIN.="\n\n"; #echo "Time range day sec: $SQsec - $EQsec Day range in epoch: $SQepoch - $EQepoch Start: $SQepochDAY\n"; $CSV_text.="\"Inbound Daily Report\",\"$NOW_TIME\"\n"; - $CSV_text.="Selected in-group: $group\n"; - $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END for $shift shift\"\n\n"; + $CSV_text.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$CSV_text.="Selected shift: $shift\n";} + $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END\""; + if ($shift && $IDR_calltime_available) {$CSV_text.="for $shift shift";} + $CSV_text.="\n\n"; - $d=0; $q=0; $hr=0; + if ($show_disposition_statuses) { + $dispo_stmt="select distinct status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ") $big_shift_time_SQL_clause order by status;"; + #echo $dispo_stmt."
    "; + $dispo_rslt=mysql_query($dispo_stmt, $link); + $dispo_str=""; + $s=0; + while($dispo_row=mysql_fetch_row($dispo_rslt)) { + $status_array[$s][0]="$dispo_row[0]"; + $status_array[$s][1]=""; + $dispo_str.="'$dispo_row[0]',"; + $stat_stmt="select distinct status, status_name from vicidial_statuses where status='$dispo_row[0]' UNION select distinct status, status_name from vicidial_campaign_statuses where status='$dispo_row[0]' order by status;"; + #echo $stat_stmt."
    "; + $stat_rslt=mysql_query($stat_stmt, $link); + while ($stat_row=mysql_fetch_array($stat_rslt)) { + $status_array[$s][1]=$stat_row["status_name"]; + } + $s++; + } + $dispo_str=substr($dispo_str,0,-1); + asort($status_array); + #print_r($status_array); +# if (strlen($dispo_str)>0) { +# } + } + + $d=0; $q=0; $hr=0; $shift_hrs=0; while ($d < $DURATIONday) { - $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) ); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600)); + + if ($shift && $shift!="ALL" && $RECALC==1) + { + # Need to get current day, hours for that day (hpd) + $current_dayofweek=date("w", $dSQepoch); + $time_BEGIN=$start_time_ary[$current_dayofweek]; + $time_END=$stop_time_ary[$current_dayofweek]; + HourDifference($time_BEGIN, $time_END); # new hpd + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; + RecalculateEpochs($query_date_BEGIN, $query_date_END); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) + ($shift_hrs * 3600) ); + #echo " --- NEW DAY: $query_date_BEGIN / $query_date_END ---
    "; + $RECALC=0; + } + if ($hourly_breakdown) { @@ -351,17 +610,17 @@ else } else { - $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600) ) ); + $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600)) ); if ($EQsec < $SQsec) { $dEQepoch = ($dEQepoch + 86400); } } + #echo "$dSQepoch - $dEQepoch, ".date("Y-m-d H:i:s", $dSQepoch)." - ".date("Y-m-d H:i:s", $dEQepoch).", ".date("D", $dSQepoch)." - $hpd hours - shift starts at $shift_hrs:00:00
    "; $daySTART[$q] = date("Y-m-d H:i:s", $dSQepoch); $dayEND[$q] = date("Y-m-d H:i:s", $dEQepoch); - # || $time_END<=date("H:i:s", $dEQepoch) if ($hr>=($hpd-1) || !$hourly_breakdown) { $d++; @@ -370,6 +629,7 @@ else { $dayEND[$q] = date("Y-m-d ", $dEQepoch).$time_END; } + $RECALC=1; } else { @@ -467,11 +727,12 @@ else ### GRAB ALL RECORDS WITHIN RANGE FROM THE DATABASE ### - $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';"; + $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date,user from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ");"; $rslt=mysql_query($stmt, $link); if ($DB) {$ASCII_text.="$stmt\n";} $records_to_grab = mysql_num_rows($rslt); $i=0; + $fTOTAL_agents=array(); if($hourly_breakdown) {$epoch_interval=3600;} else {$epoch_interval=86400;} while ($i < $records_to_grab) { @@ -492,7 +753,8 @@ else $st[$i] = $row[3]; $tr[$i] = $row[4]; $at[$i] = $row[5]; # Actual time - + if ($row[6]!="VDCL" && $row[6]!="") {$ag[$i] = $row[6];} # Utilisateur + # $fTOTAL_agents["$row[6]"]++; # $ASCII_text.= "$qs[$i] | $dt[$i] - $row[1] | $ut[$i] | $ls[$i] | $st[$i] | $tr[$i] | $at[$i]\n"; $i++; @@ -529,12 +791,15 @@ else $totREPONSESdate=$MT; $totREPONSES=0; + $totAGENTS=0; $totABANDONS=0; $totREPONSESsec=0; $totABANDONSsec=0; $totREPONSESspeed=0; + $totSTATUSES=array(); $FtotREPONSES=0; + $FtotAGENTS=count(array_count_values($ag)); $FtotABANDONS=0; $FtotREPONSESsec=0; $FtotABANDONSsec=0; @@ -554,6 +819,7 @@ else $totREPONSESsecdate[$j]=0; $totREPONSESspeeddate[$j]=0; $i=0; + $agents_array=array(); while ($i < $records_to_grab) { if ( ($at[$i] >= $daySTART[$j]) and ($at[$i] <= $dayEND[$j]) ) @@ -565,6 +831,12 @@ else # $qrtCALLSsec[$j] = ($qrtCALLSsec[$j] + $ls[$i]); # $dtt = $dt[$i]; $totCALLSdate[$j]++; + # $totAGENTSdate[$j]=$ag[$i]; + if ($ag[$i]!="VDCL" && $ag[$i]!="") {$totAGENTSdate[$j][$ag[$i]]++;} + + $totSTATUSES[$st[$i]]++; + $totSTATUSESdate[$j][$st[$i]]++; + if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} if (ereg('ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS', $tr[$i])) @@ -577,10 +849,12 @@ else else { $totREPONSESdate[$j]++; - $totREPONSESsecdate[$j]+=($ls[$i]-$qs[$i]-15); + if (($ls[$i]-$qs[$i]-15)>0) { ## Patch by Joe J - can cause negative time values if removed. + $totREPONSESsecdate[$j]+=($ls[$i]-$qs[$i]-15); + $FtotREPONSESsec+=($ls[$i]-$qs[$i]-15); + } $totREPONSESspeeddate[$j]+=$qs[$i]; $FtotREPONSES++; - $FtotREPONSESsec+=($ls[$i]-$qs[$i]-15); $FtotREPONSESspeeddate+=$qs[$i]; } if (ereg('DROP',$st[$i])) @@ -626,14 +900,37 @@ else ################################################### ### TOTALS SUMMARY SECTION ### - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |\n"; - $ASCII_text.="| SHIFT | CALLS | CALLS | CALLS | ABANDON | ABANDON | REPONSE | TALK | TALK | WRAP | CALL |\n"; - $ASCII_text.="| DATE-TIME RANGE | OFFERED | REPONSEED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"AVG\",\"AVG\",\"AVG\",\"TOTAL\",\"TOTAL\",\"TOTAL\"\n"; - $CSV_text.="\"\",\"CALLS\",\"CALLS\",\"CALLS\",\"ABANDON\",\"ABANDON\",\"REPONSE\",\"TALK\",\"TALK\",\"WRAP\",\"CALL\"\n"; - $CSV_text.="\"SHIFT DATE-TIME RANGE\",\"OFFERED\",\"REPONSEED\",\"ABANDONED\",\"PERCENT\",\"TIME\",\"SPEED\",\"TIME\",\"TIME\",\"TIME\",\"TIME\"\n"; + $MAINH="+-------------------------------------------+---------+----------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+"; + $MAIN1="| | TOTAL | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |"; + $MAIN2="| SHIFT | CALLS | CALLS | AGENTS | CALLS | ABANDON | ABANDON | REPONSE | TALK | TALK | WRAP | CALL |"; + $MAIN3="| DATE-TIME RANGE | OFFERED | REPONSEED | REPONSEED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |"; + $CSV_text1=""; + $CSV_text2=""; + $CSV_text3=""; + + for ($s=0; $sTOTAL DES APPELSOFFERED
    TOTAL DES APPELSREPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $MTD_GRAPH="

    TOTAL DES APPELSOFFEREDTOTAL DES APPELSREPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $WTD_GRAPH="

    TOTAL DES APPELSOFFEREDTOTAL DES APPELSREPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $QTD_GRAPH="

    TOTAL DES APPELSOFFEREDTOTAL DES APPELSREPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $GRAPH="
    TOTAL DES APPELSOFFEREDTOTAL DES APPELSREPONSEEDTOTAL AGENTS REPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $MTD_GRAPH="

    TOTAL DES APPELSOFFEREDTOTAL DES APPELSREPONSEEDTOTAL AGENTS REPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $WTD_GRAPH="

    TOTAL DES APPELSOFFEREDTOTAL DES APPELSREPONSEEDTOTAL AGENTS REPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $QTD_GRAPH="

    TOTAL DES APPELSOFFEREDTOTAL DES APPELSREPONSEEDTOTAL AGENTS REPONSEEDTOTAL DES APPELSABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG REPONSE SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; $graph_header=""; $OFFERED_graph=$graph_header.""; $REPONSEED_graph=$graph_header.""; + $AGENTS_graph=$graph_header.""; $ABANDONED_graph=$graph_header.""; $ABANDONPCT_graph=$graph_header.""; $AVGABANDONTIME_graph=$graph_header.""; @@ -703,24 +1005,30 @@ else $totCALLSwtd=0; $totREPONSESwtd=0; + $totAGENTSwtd=0; $AGENTS_wtd_array=array(); $totREPONSESsecwtd=0; $totREPONSESspeedwtd=0; $totABANDONSwtd=0; $totABANDONSsecwtd=0; + $totSTATUSESwtd=array(); $totCALLSmtd=0; $totREPONSESmtd=0; + $totAGENTSmtd=0; $AGENTS_mtd_array=array(); $totREPONSESsecmtd=0; $totREPONSESspeedmtd=0; $totABANDONSmtd=0; $totABANDONSsecmtd=0; + $totSTATUSESmtd=array(); $totCALLSqtd=0; $totREPONSESqtd=0; + $totAGENTSqtd=0; $AGENTS_qtd_array=array(); $totREPONSESsecqtd=0; $totREPONSESspeedqtd=0; $totABANDONSqtd=0; $totABANDONSsecqtd=0; + $totSTATUSESqtd=array(); $d=0; while ($d < $TOTintervals) @@ -767,16 +1075,8 @@ else $totCALLSavgDATE[$d] = 0; $totTIME_MS=' '; } - /* - $totCALLSavgDATE[$d] = sprintf("%6.0f", $totCALLSavgDATE[$d]); - $totDROPSavgDATE[$d] = sprintf("%7.2f", $totDROPSavgDATE[$d]); - $totQUEUEavgDATE[$d] = sprintf("%7.2f", $totQUEUEavgDATE[$d]); - $totQUEUEtotDATE[$d] = sprintf("%7.2f", $totQUEUEtotDATE[$d]); - $totDROPSpctDATE[$d] = sprintf("%6.2f", $totDROPSpctDATE[$d]); - $totQUEUEpctDATE[$d] = sprintf("%6.2f", $totQUEUEpctDATE[$d]); - $totDROPSdate[$d] = sprintf("%6s", $totDROPSdate[$d]); - $totQUEUEdate[$d] = sprintf("%6s", $totQUEUEdate[$d]); - */ $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + if ($totCALLSdate[$d]>0) { @@ -828,6 +1128,7 @@ else if (date("w", strtotime($daySTART[$d]))==0 && date("w", strtotime($daySTART[$d-1]))!=0 && $d>0) { # 2nd date/"w" check is for DST + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); @@ -869,12 +1170,16 @@ else $wtd_graph_stats[$wa][14]=($totREPONSESsecwtd+($totREPONSESwtd*15)); $wtd_graph_stats[$wa][15]=$totREPONSESsecwtd; $totREPONSEStotTIMEwtd = sprintf("%10s", floor(($totREPONSESsecwtd+($totREPONSESwtd*15))/3600).date(":i:s", mktime(0, 0, ($totREPONSESsecwtd+($totREPONSESwtd*15))))); + # $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totREPONSESwtd = sprintf("%8s", $totREPONSESwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totREPONSESwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totREPONSESwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -894,21 +1199,33 @@ else $wtd_graph_stats[$wa][8]=trim($totREPONSEStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totREPONSESwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totREPONSEStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wa++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totREPONSESwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totREPONSESavgspeedTIMEwtd | $totREPONSESavgTIMEwtd | $totREPONSEStalkTIMEwtd | $totREPONSESwrapTIMEwtd | $totREPONSEStotTIMEwtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totREPONSESwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totREPONSESavgspeedTIMEwtd\",\"$totREPONSESavgTIMEwtd\",\"$totREPONSEStalkTIMEwtd\",\"$totREPONSESwrapTIMEwtd\",\"$totREPONSEStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totREPONSESwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totREPONSESavgspeedTIMEwtd | $totREPONSESavgTIMEwtd | $totREPONSEStalkTIMEwtd | $totREPONSESwrapTIMEwtd | $totREPONSEStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totREPONSESwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totREPONSESavgspeedTIMEwtd\",\"$totREPONSESavgTIMEwtd\",\"$totREPONSEStalkTIMEwtd\",\"$totREPONSESwrapTIMEwtd\",\"$totREPONSEStotTIMEwtd\""; + for ($s=0; $s0 && date("d", strtotime($daySTART[$d-1]))!=1) { + if (date("d", strtotime($daySTART[$d]))==1 && $d>0 && date("d", strtotime($daySTART[$d-1]))!=1) + { + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); if ($totCALLSmtd>0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -950,6 +1267,8 @@ else $mtd_graph_stats[$ma][14]=($totREPONSESsecmtd+($totREPONSESmtd*15)); $mtd_graph_stats[$ma][15]=$totREPONSESsecmtd; $totREPONSEStotTIMEmtd = sprintf("%10s", floor(($totREPONSESsecmtd+($totREPONSESmtd*15))/3600).date(":i:s", mktime(0, 0, ($totREPONSESsecmtd+($totREPONSESmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totREPONSESmtd = sprintf("%8s", $totREPONSESmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); @@ -957,6 +1276,7 @@ else if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totREPONSESmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totREPONSESmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} if (round($totREPONSESsecmtd/$totREPONSESmtd)>$max_mtd_avgtalktime) {$max_mtd_avgtalktime=round($totREPONSESsecmtd/$totREPONSESmtd);} if (trim($totREPONSESsecmtd)>$max_mtd_totaltalktime) {$max_mtd_totaltalktime=trim($totREPONSESsecmtd);} @@ -974,21 +1294,32 @@ else $mtd_graph_stats[$ma][8]=trim($totREPONSEStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totREPONSESwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totREPONSEStotTIMEmtd); + $mtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $ma++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| MTD | $totCALLSmtd | $totREPONSESmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totREPONSESavgspeedTIMEmtd | $totREPONSESavgTIMEmtd | $totREPONSEStalkTIMEmtd | $totREPONSESwrapTIMEmtd | $totREPONSEStotTIMEmtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totREPONSESmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totREPONSESavgspeedTIMEmtd\",\"$totREPONSESavgTIMEmtd\",\"$totREPONSEStalkTIMEmtd\",\"$totREPONSESwrapTIMEmtd\",\"$totREPONSEStotTIMEmtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totREPONSESmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totREPONSESavgspeedTIMEmtd | $totREPONSESavgTIMEmtd | $totREPONSEStalkTIMEmtd | $totREPONSESwrapTIMEmtd | $totREPONSEStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totREPONSESmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totREPONSESavgspeedTIMEmtd\",\"$totREPONSESavgTIMEmtd\",\"$totREPONSEStalkTIMEmtd\",\"$totREPONSESwrapTIMEmtd\",\"$totREPONSEStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1030,6 +1361,8 @@ else $qtd_graph_stats[$qa][14]=($totREPONSESsecqtd+($totREPONSESqtd*15)); $qtd_graph_stats[$qa][15]=$totREPONSESsecqtd; $totREPONSEStotTIMEqtd = sprintf("%10s", floor(($totREPONSESsecqtd+($totREPONSESqtd*15))/3600).date(":i:s", mktime(0, 0, ($totREPONSESsecqtd+($totREPONSESqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totREPONSESqtd = sprintf("%8s", $totREPONSESqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); @@ -1037,6 +1370,7 @@ else if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totREPONSESqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totREPONSESqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_answers) {$max_qtd_answered=trim($totAGENTSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} if (round($totREPONSESsecqtd/$totREPONSESqtd)>$max_qtd_avgtalktime) {$max_qtd_avgtalktime=round($totREPONSESsecqtd/$totREPONSESqtd);} if (trim($totREPONSESsecqtd)>$max_qtd_totaltalktime) {$max_qtd_totaltalktime=trim($totREPONSESsecqtd);} @@ -1067,20 +1401,40 @@ else $qtd_graph_stats[$qa][8]=trim($totREPONSEStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totREPONSESwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totREPONSEStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qa++; - $ASCII_text.="| QTD | $totCALLSqtd | $totREPONSESqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totREPONSESavgspeedTIMEqtd | $totREPONSESavgTIMEqtd | $totREPONSEStalkTIMEqtd | $totREPONSESwrapTIMEqtd | $totREPONSEStotTIMEqtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totREPONSESqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totREPONSESavgspeedTIMEqtd\",\"$totREPONSESavgTIMEqtd\",\"$totREPONSEStalkTIMEqtd\",\"$totREPONSESwrapTIMEqtd\",\"$totREPONSEStotTIMEqtd\"\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totREPONSESqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totREPONSESavgspeedTIMEqtd | $totREPONSESavgTIMEqtd | $totREPONSEStalkTIMEqtd | $totREPONSESwrapTIMEqtd | $totREPONSEStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totREPONSESqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totREPONSESavgspeedTIMEqtd\",\"$totREPONSESavgTIMEqtd\",\"$totREPONSEStalkTIMEqtd\",\"$totREPONSESwrapTIMEqtd\",\"$totREPONSEStotTIMEqtd\""; + for ($s=0; $s$max_offered) {$max_offered=trim($totCALLSdate[$d]);} if (trim($totREPONSESdate[$d])>$max_answered) {$max_answered=trim($totREPONSESdate[$d]);} + if (trim($totAGENTSday)>$max_agents) {$max_agents=trim($totAGENTSday);} if (trim($totABANDONSdate[$d])>$max_abandoned) {$max_abandoned=trim($totABANDONSdate[$d]);} if (trim($totABANDONSpctDATE[$d])>$max_abandonpct) {$max_abandonpct=trim($totABANDONSpctDATE[$d]);} @@ -1119,9 +1474,19 @@ else $graph_stats[$d][8]=trim($totREPONSEStalkTIME[$d]); $graph_stats[$d][9]=trim($totREPONSESwrapTIME[$d]); $graph_stats[$d][10]=trim($totREPONSEStotTIME[$d]); + $graph_stats[$d][17]=trim($totAGENTSday); - $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totREPONSESdate[$d] | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totREPONSESavgspeedTIME[$d] | $totREPONSESavgTIME[$d] | $totREPONSEStalkTIME[$d] | $totREPONSESwrapTIME[$d] | $totREPONSEStotTIME[$d] |\n"; - $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totREPONSESdate[$d]\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totREPONSESavgspeedTIME[$d]\",\"$totREPONSESavgTIME[$d]\",\"$totREPONSEStalkTIME[$d]\",\"$totREPONSESwrapTIME[$d]\",\"$totREPONSEStotTIME[$d]\"\n"; + $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totREPONSESdate[$d] | $totAGENTSday | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totREPONSESavgspeedTIME[$d] | $totREPONSESavgTIME[$d] | $totREPONSEStalkTIME[$d] | $totREPONSESwrapTIME[$d] | $totREPONSEStotTIME[$d] |"; + $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totREPONSESdate[$d]\",\"$totAGENTSday\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totREPONSESavgspeedTIME[$d]\",\"$totREPONSESavgTIME[$d]\",\"$totREPONSEStalkTIME[$d]\",\"$totREPONSESwrapTIME[$d]\",\"$totREPONSEStotTIME[$d]\""; + for ($s=0; $s0) { - if ($totCALLSwtd>0) + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); } @@ -1251,12 +1617,15 @@ else $wtd_graph_stats[$wa][14]=($totREPONSESsecwtd+($totREPONSESwtd*15)); $wtd_graph_stats[$wa][15]=$totREPONSESsecwtd; $totREPONSEStotTIMEwtd = sprintf("%10s", floor(($totREPONSESsecwtd+($totREPONSESwtd*15))/3600).date(":i:s", mktime(0, 0, ($totREPONSESsecwtd+($totREPONSESwtd*15))))); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totREPONSESwtd = sprintf("%8s", $totREPONSESwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totREPONSESwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totREPONSESwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -1277,8 +1646,10 @@ else $wtd_graph_stats[$wa][8]=trim($totREPONSEStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totREPONSESwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totREPONSEStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wtd_OFFERED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $OFFERED_graph); $wtd_REPONSEED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$REPONSEED_graph); + $wtd_AGENTS_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $AGENTS_graph); $wtd_ABANDONED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONED_graph); $wtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONPCT_graph); $wtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$AVGABANDONTIME_graph); @@ -1291,6 +1662,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($wtd_graph_stats)) {$class=" last";} else {$class="";} $wtd_OFFERED_graph.=" "; $wtd_REPONSEED_graph.=" "; + $wtd_AGENTS_graph.=" "; $wtd_ABANDONED_graph.=" "; $wtd_ABANDONPCT_graph.=" "; $wtd_AVGABANDONTIME_graph.=" "; @@ -1301,11 +1673,19 @@ else $wtd_TOTALCALLTIME_graph.=" "; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totREPONSESwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totREPONSESavgspeedTIMEwtd | $totREPONSESavgTIMEwtd | $totREPONSEStalkTIMEwtd | $totREPONSESwrapTIMEwtd | $totREPONSEStotTIMEwtd |\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totREPONSESwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totREPONSESavgspeedTIMEwtd\",\"$totREPONSESavgTIMEwtd\",\"$totREPONSEStalkTIMEwtd\",\"$totREPONSESwrapTIMEwtd\",\"$totREPONSEStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totREPONSESwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totREPONSESavgspeedTIMEwtd | $totREPONSESavgTIMEwtd | $totREPONSEStalkTIMEwtd | $totREPONSESwrapTIMEwtd | $totREPONSEStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totREPONSESwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totREPONSESavgspeedTIMEwtd\",\"$totREPONSESavgTIMEwtd\",\"$totREPONSEStalkTIMEwtd\",\"$totREPONSESwrapTIMEwtd\",\"$totREPONSEStotTIMEwtd\""; + for ($s=0; $s0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -1355,12 +1736,15 @@ else $mtd_graph_stats[$ma][14]=($totREPONSESsecmtd+($totREPONSESmtd*15)); $mtd_graph_stats[$ma][15]=$totREPONSESsecmtd; $totREPONSEStotTIMEmtd = sprintf("%10s", floor(($totREPONSESsecmtd+($totREPONSESmtd*15))/3600).date(":i:s", mktime(0, 0, ($totREPONSESsecmtd+($totREPONSESmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totREPONSESmtd = sprintf("%8s", $totREPONSESmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totREPONSESmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totREPONSESmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} @@ -1381,8 +1765,10 @@ else $mtd_graph_stats[$ma][8]=trim($totREPONSEStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totREPONSESwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totREPONSEStotTIMEmtd); + $wtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $mtd_OFFERED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$OFFERED_graph); $mtd_REPONSEED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$REPONSEED_graph); + $mtd_AGENTS_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE', $AGENTS_graph); $mtd_ABANDONED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONED_graph); $mtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONPCT_graph); $mtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$AVGABANDONTIME_graph); @@ -1395,6 +1781,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($mtd_graph_stats)) {$class=" last";} else {$class="";} $mtd_OFFERED_graph.=" "; $mtd_REPONSEED_graph.=" "; + $mtd_AGENTS_graph.=" "; $mtd_ABANDONED_graph.=" "; $mtd_ABANDONPCT_graph.=" "; $mtd_AVGABANDONTIME_graph.=" "; @@ -1405,6 +1792,7 @@ else $mtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSmtd+=$mtd_graph_stats[$q][1]; $graph_totREPONSESmtd+=$mtd_graph_stats[$q][2]; + $graph_totAGENTSmtd+=$mtd_graph_stats[$q][17]; $graph_totABANDONSmtd+=$mtd_graph_stats[$q][3]; $graph_totABANDONSpctmtd+=$mtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEmtd+=$mtd_graph_stats[$q][5]; @@ -1414,12 +1802,20 @@ else $graph_totREPONSESwrapTIMEmtd+=$mtd_graph_stats[$q][9]; $graph_totREPONSEStotTIMEmtd+=$mtd_graph_stats[$q][10]; } + + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totREPONSESmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totREPONSESavgspeedTIMEmtd | $totREPONSESavgTIMEmtd | $totREPONSEStalkTIMEmtd | $totREPONSESwrapTIMEmtd | $totREPONSEStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totREPONSESmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totREPONSESavgspeedTIMEmtd\",\"$totREPONSESavgTIMEmtd\",\"$totREPONSEStalkTIMEmtd\",\"$totREPONSESwrapTIMEmtd\",\"$totREPONSEStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1468,12 +1865,15 @@ else $qtd_graph_stats[$qa][14]=($totREPONSESsecqtd+($totREPONSESqtd*15)); $qtd_graph_stats[$qa][15]=$totREPONSESsecqtd; $totREPONSEStotTIMEqtd = sprintf("%10s", floor(($totREPONSESsecqtd+($totREPONSESqtd*15))/3600).date(":i:s", mktime(0, 0, ($totREPONSESsecqtd+($totREPONSESqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totREPONSESqtd = sprintf("%8s", $totREPONSESqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totREPONSESqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totREPONSESqtd);} + if (trim($totAGENTSqtd)>$max_qtd_agents) {$max_qtd_agents=trim($totAGENTSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} @@ -1507,8 +1907,10 @@ else $qtd_graph_stats[$qa][8]=trim($totREPONSEStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totREPONSESwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totREPONSEStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qtd_OFFERED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$OFFERED_graph); $qtd_REPONSEED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$REPONSEED_graph); + $qtd_AGENTS_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AGENTS_graph); $qtd_ABANDONED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONED_graph); $qtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONPCT_graph); $qtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AVGABANDONTIME_graph); @@ -1521,6 +1923,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($qtd_graph_stats)) {$class=" last";} else {$class="";} $qtd_OFFERED_graph.=" "; $qtd_REPONSEED_graph.=" "; + $qtd_AGENTS_graph.=" "; $qtd_ABANDONED_graph.=" "; $qtd_ABANDONPCT_graph.=" "; $qtd_AVGABANDONTIME_graph.=" "; @@ -1531,6 +1934,7 @@ else $qtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSqtd+=$qtd_graph_stats[$q][1]; $graph_totREPONSESqtd+=$qtd_graph_stats[$q][2]; + $graph_totAGENTSqtd+=$qtd_graph_stats[$q][17]; $graph_totABANDONSqtd+=$qtd_graph_stats[$q][3]; $graph_totABANDONSpctqtd+=$qtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEqtd+=$qtd_graph_stats[$q][5]; @@ -1541,11 +1945,19 @@ else $graph_totREPONSEStotTIMEqtd+=$qtd_graph_stats[$q][10]; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| QTD | $totCALLSqtd | $totREPONSESqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totREPONSESavgspeedTIMEqtd | $totREPONSESavgTIMEqtd | $totREPONSEStalkTIMEqtd | $totREPONSESwrapTIMEqtd | $totREPONSEStotTIMEqtd |\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totREPONSESqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totREPONSESavgspeedTIMEqtd\",\"$totREPONSESavgTIMEqtd\",\"$totREPONSEStalkTIMEqtd\",\"$totREPONSESwrapTIMEqtd\",\"$totREPONSEStotTIMEqtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totREPONSESqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totREPONSESavgspeedTIMEqtd | $totREPONSESavgTIMEqtd | $totREPONSEStalkTIMEqtd | $totREPONSESwrapTIMEqtd | $totREPONSEStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totREPONSESqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totREPONSESavgspeedTIMEqtd\",\"$totREPONSESavgTIMEqtd\",\"$totREPONSEStalkTIMEqtd\",\"$totREPONSESwrapTIMEqtd\",\"$totREPONSEStotTIMEqtd\""; + for ($s=0; $s"; $REPONSEED_graph.=" "; + $AGENTS_graph.=" "; $ABANDONED_graph.=" "; $ABANDONPCT_graph.=" "; $AVGABANDONTIME_graph.=" "; @@ -1568,6 +1981,7 @@ else } $OFFERED_graph.="
    DAILY RPT - $query_date_BEGIN to $query_date_END
    DATE/TIME RANGETOTAL DES APPELSOFFERED
    TOTAL DES APPELSREPONSEED
    TOTAL AGENTS REPONSEED
    TOTAL DES APPELSABANDONED
    TOTAL ABANDON PERCENT
    AVG ABANDON TIME
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][1]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][2]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][17]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][3]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][4]."%
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][5]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][10]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][1]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][2]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][17]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][3]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][4]."%
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][5]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][10]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][1]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][2]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][17]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][3]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][4]."%
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][5]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][10]."
    ".$graph_stats[$q][1]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][2]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][17]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][3]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][4]."%
    ".$graph_stats[$q][0]."".$graph_stats[$q][5]."
    TOTAL:".trim($FtotCALLS)."
    "; $REPONSEED_graph.="
    TOTAL:".trim($FtotREPONSES)."
    "; + $AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1580,6 +1994,7 @@ else $JS_text.="function DrawGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$OFFERED_graph\";\n"; $JS_text.=" var REPONSEED_graph=\"$REPONSEED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$AVGABANDONTIME_graph\";\n"; @@ -1600,6 +2015,7 @@ else $JS_text.="}\n"; $wtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $wtd_REPONSEED_graph.="
    TOTAL:".trim($FtotREPONSES)."
    "; + $wtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $wtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $wtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $wtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1612,6 +2028,7 @@ else $JS_text.="function DrawWTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$wtd_OFFERED_graph\";\n"; $JS_text.=" var REPONSEED_graph=\"$wtd_REPONSEED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$wtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$wtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$wtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$wtd_AVGABANDONTIME_graph\";\n"; @@ -1632,6 +2049,7 @@ else $JS_text.="}\n"; $mtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $mtd_REPONSEED_graph.="
    TOTAL:".trim($FtotREPONSES)."
    "; + $mtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $mtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $mtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $mtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1644,6 +2062,7 @@ else $JS_text.="function DrawMTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$mtd_OFFERED_graph\";\n"; $JS_text.=" var REPONSEED_graph=\"$mtd_REPONSEED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$mtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$mtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$mtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$mtd_AVGABANDONTIME_graph\";\n"; @@ -1664,6 +2083,7 @@ else $JS_text.="}\n"; $qtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $qtd_REPONSEED_graph.="
    TOTAL:".trim($FtotREPONSES)."
    "; + $qtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $qtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $qtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $qtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1676,6 +2096,7 @@ else $JS_text.="function DrawQTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$qtd_OFFERED_graph\";\n"; $JS_text.=" var REPONSEED_graph=\"$qtd_REPONSEED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$qtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$qtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$qtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$qtd_AVGABANDONTIME_graph\";\n"; @@ -1694,12 +2115,41 @@ else $JS_text.=" var graph_to_display=eval(graph+\"_graph\");\n"; $JS_text.=" document.getElementById('QTD_stats_graph').innerHTML=graph_to_display;\n"; $JS_text.="}\n"; + $FtotAGENTS = sprintf("%8s", $FtotAGENTS); + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| TOTALS | $FtotCALLS | $FtotREPONSES | $FtotAGENTS | $FtotABANDONS | $FtotABANDONSpct%| $FtotABANDONSavgTIME | $FtotREPONSESavgspeedTIME | $FtotREPONSESavgTIME | $FtotREPONSEStalkTIME | $FtotREPONSESwrapTIME | $FtotREPONSEStotTIME |"; + $CSV_text.="\"TOTALS\",\"$FtotCALLS\",\"$FtotREPONSES\",\"$FtotAGENTS\",\"$FtotABANDONS\",\"$FtotABANDONSpct%\",\"$FtotABANDONSavgTIME\",\"$FtotREPONSESavgspeedTIME\",\"$FtotREPONSESavgTIME\",\"$FtotREPONSEStalkTIME\",\"$FtotREPONSESwrapTIME\",\"$FtotREPONSEStotTIME\""; + for ($s=0; $s 0) @@ -1777,18 +2228,139 @@ else flush(); echo "$CSV_text"; - - exit; } else { - echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + if ($file_download < 1) + {echo "\n";} + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + + +function HourDifference($time_BEGIN, $time_END) { + global $hpd; + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} +} + +function RecalculateEpochs($query_date_BEGIN, $query_date_END) { + global $query_date_BEGIN, $query_date_END, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + #$EQdate_ARY = explode(' ',$query_date_END); + #$EQday_ARY = explode('-',$EQdate_ARY[0]); + #$EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + #$EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + #$EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); +} + +function RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END) { + global $hpd, $query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END; + global $DURATIONday, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} + + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + $EQdate_ARY = explode(' ',$query_date_END); + $EQday_ARY = explode('-',$EQdate_ARY[0]); + $EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); + + if (!$DURATIONday) + { + $DURATIONsec = ($EQepoch - $SQepoch); + $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); + + if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) + { + $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); + $query_date_END = date("Y-m-d H:i:s", $EQepoch); + $DURATIONday++; + } + } +} ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_server_performance.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_server_performance.php index b38344ba..e82931db 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_server_performance.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_server_performance.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0157 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -59,15 +62,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -88,6 +82,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -223,10 +246,10 @@ $TOTALcalls = sprintf("%10s", $row[0]); $OFFHOOKtime = sprintf("%10s", $row[1]); -echo "Total Calls in/out on this server: $TOTALcalls\n"; +echo "Total Calls in/out on this serveur: $TOTALcalls\n"; echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n"; -echo "Average/Peak channels in use for server: $AVGchannels / $HIGHchannels\n"; -echo "Average/Peak load for server: $AVGload / $HIGHload\n"; +echo "Average/Peak channels in use for serveur: $AVGchannels / $HIGHchannels\n"; +echo "Average/Peak load for serveur: $AVGload / $HIGHload\n"; echo "Average USER process cpu percentage: $AVGcpuUSER %\n"; echo "Average SYSTEM process cpu percentage: $AVGcpuSYSTEM %\n"; echo "Average IDLE process cpu percentage: $AVGcpuIDLE %\n"; @@ -397,6 +420,24 @@ echo ""; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_team_performance_detail.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_team_performance_detail.php index 723d4812..85fb5f74 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_team_performance_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_team_performance_detail.php @@ -6,7 +6,7 @@ # QC statuses of QCFAIL, QCCANC and sales are defined by the Sale=Y status # flags being set on those statuses. # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 111104-1259 - Added user_group restrictions for selecting in-groups # 120224-1424 - Added new colums and PRECAL to System Time # 120307-1926 - Added additional statuses option and HTML display option +# 130414-0142 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,15 +73,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -104,6 +98,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -623,9 +646,9 @@ if ($VALIDER=="VALIDER") $j=0; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; while ($user_row=mysql_fetch_array($user_rslt)) { $j++; @@ -1080,7 +1103,7 @@ if ($VALIDER=="VALIDER") $ASCII_text.="--- CALL CENTER TOTAL\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; $ASCII_text.=$GROUP_text; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; @@ -1186,7 +1209,7 @@ if ($VALIDER=="VALIDER") $ASCII_text.="\n"; $CSV_text.="\"\",\"CALL CENTER TOTAL\"\n"; - $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; $CSV_text.=$GROUP_CSV_text; $CSV_text.="\"\",\"\",\"TOTALS:\",\"$total_calls\",\"$total_leads\",\"$total_contacts\",\"$total_contact_ratio %\",\"".sec_convert($total_nonpause_time,'H')."\",\"".sec_convert($total_system_time,'H')."\",\"".sec_convert($total_talk_time,'H')."\",\"$total_sales\",\"$sales_per_working_hours\",\"$total_sales_ratio\",\"$total_sale_contact_ratio\",\"$total_sales_per_hour\",\"$total_inc_sales\",\"$total_cnc_sales\",\"$total_callbacks\",\"$total_stcall\",\"$total_average_sale_time\",\"$total_average_contact_time\"$CSV_status_text\n"; for ($d=0; $d0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1327,4 +1348,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_timeonVDADall.php b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_timeonVDADall.php index dbf58a58..58fa09cc 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/AST_timeonVDADall.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/AST_timeonVDADall.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -76,10 +76,14 @@ # 110314-1735 - Fixed another query that was causing load spikes on systems with millions of log entries # 111103-1220 - Added admin_hide_phone_data and admin_hide_lead_data options # 120223-1934 - Added user group options +# 120612-2150 - Added percentages to counts for carrier stats and TOTAL line to carrier display stats as well +# 121222-2151 - Added email status +# 130214-1323 - Added link to in-group selected users report for in-queue inbound calls +# 130424-1357 - Fixed issue with pause codes display # -$version = '2.4-67'; -$build = '120223-1934'; +$version = '2.6-70'; +$build = '130424-1357'; header ("Content-type: text/html; charset=utf-8"); @@ -1292,6 +1296,7 @@ if ($CARRIERstats > 0) $row=mysql_fetch_row($rslt); $TFhour_status[$ctp] = $row[0]; $TFhour_count[$ctp] = $row[1]; + $TFhour_total+=$row[1]; $dialstatuses .= "'$row[0]',"; $ctp++; } @@ -1320,6 +1325,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $SIXhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1338,6 +1344,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1356,6 +1363,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FTminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1374,6 +1382,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FIVEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1392,6 +1401,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1415,16 +1425,27 @@ if ($CARRIERstats > 0) $CARRIERstatsHTML .= "
         $TFhour_status[$print_ctp] $TFhour_count[$print_ctp] $SIXhour_count[$print_ctp] $ONEhour_count[$print_ctp] $FTminute_count[$print_ctp] $FIVEminute_count[$print_ctp] $ONEminute_count[$print_ctp]     $TFhour_status[$print_ctp] $TFhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($TFhour_count[$print_ctp]/$TFhour_total)))."% $SIXhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($SIXhour_count[$print_ctp]/$SIXhour_total)))."% $ONEhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEhour_count[$print_ctp]/$ONEhour_total)))."% $FTminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FTminute_count[$print_ctp]/$FTminute_total)))."% $FIVEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FIVEminute_count[$print_ctp]/$FIVEminute_total)))."% $ONEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEminute_count[$print_ctp]/$ONEminute_total)))."%
         TOTALS ".($TFhour_total+0)." ".($SIXhour_total+0)." ".($ONEhour_total+0)." ".($FTminute_total+0)." ".($FIVEminute_total+0)." ".($ONEminute_total+0)."
    Source Utilisateur:
    Source utilisateur: $NWB#vicidial_campaigns-user_group$NWE
    Actif: $NWB#vicidial_campaigns-active$NWE
    Parc de la Musique-sur-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Parc de la Musique-sur-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Formulaire Web: $NWB#vicidial_campaigns-web_form_address$NWE
    Heure d'appel locale: $NWB#vicidial_campaigns-local_call_time$NWE
    Boîte vocale: $NWB#vicidial_campaigns-voicemail_ext$NWE
    ID de la liste: (chiffres seulement)$NWB#vicidial_lists-list_id$NWE
    ID de la liste: (chiffres seulement)$NWB#vicidial_lists-list_id$NWE
    Nom de la liste: $NWB#vicidial_lists-list_name$NWE
    Description de la liste: $NWB#vicidial_lists-list_description$NWE
    \n"; echo ""; @@ -9439,6 +10029,9 @@ if ($ADD==121) if ($ADD==171) { + ### filter for Letters DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^\n0-9a-zA-Z]","",$phone_numbers); + echo "\n"; + if ($SSallow_emails>0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; + echo "
    \n"; echo ""; @@ -9593,6 +10186,75 @@ if ($ADD==1111) if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} echo "
    Lancer l'appel: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Manipulation du Groupe: $NWB#vicidial_inbound_groups-group_handling$NWE
    \n"; + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } + +###################### +# ADD=1811 display the ADD NEW EMAIL GROUP SCREEN +###################### + +if ($ADD==1811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW EMAIL GROUP
    \n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + # echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $eswHTML=''; $cfwHTML=''; + if ($SSenable_second_webform > 0) + {$eswHTML = '';} + if ($SScustom_fields_enabled > 0) + {$cfwHTML = '';} + echo "\n"; echo "\n"; echo "
    ID du groupe: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    ID du groupe: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Nom du groupe: $NWB#vicidial_inbound_groups-group_name$NWE
    Couleur du groupe: $NWB#vicidial_inbound_groups-group_color$NWE
    Actif: $NWB#vicidial_inbound_groups-active$NWE
    Groupe d'utilisateurs d'administration: $NWB#vicidial_inbound_groups-user_group$NWE
    Formulaire Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Boîte vocale: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Suivant Agent Email:$NWB#vicidial_inbound_groups-next_agent_call$NWE
    Affichage de l'enseigne: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Lancer l'appel: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    \n"; } @@ -9666,6 +10328,67 @@ if ($ADD==1211) } } +###################### +# ADD=1911 display the COPY EMAIL INBOUND GROUP SCREEN +###################### + +if ($ADD==1911) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    COPIEZ LE GROUPE DE COURRIEL\n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Email groupe ID: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Email groupe ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Email Nom du groupe: $NWB#vicidial_inbound_groups-group_name$NWE
    Source Email ID de groupe: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } ###################### # ADD=1311 display the ADD NEW DID SCREEN @@ -10055,7 +10778,7 @@ if ($ADD==1111111) echo "
    Texte du script: "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -10262,6 +10986,53 @@ if ($ADD==1111111111) } +###################### +# ADD=1211111111 display the ADD NEW HOLIDAY SCREEN +###################### + +if ($ADD==1211111111) + { + if ($LOGmodify_call_times==1) + { + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -22671,7 +24244,7 @@ if ($ADD==34) $rslt=mysql_query($stmt, $link); } - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group,allow_emails,call_count_limit from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $dial_status_a = $row[3]; @@ -22709,6 +24282,8 @@ if ($ADD==34) $drop_lockout_time = $row[116]; $display_leads_count = $row[130]; $user_group = $row[131]; + $allow_emails = $row[132]; + $call_count_limit = $row[133]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -22837,6 +24412,11 @@ if ($ADD==34) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) + { + echo "\n"; + } + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -23131,7 +24711,9 @@ if ($ADD==34) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $whereLOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -23141,7 +24723,7 @@ if ($ADD==34) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -23173,6 +24755,11 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; @@ -23180,7 +24767,7 @@ if ($ADD==34) $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; + echo ""; + + echo "
    AJOUTER UNE NOUVELLE PERIODE D'APPELS D'ETAT\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    ID vacances: (pas d'espace ni de ponctuation)$NWB#vicidial_call_times-holiday_id$NWE
    Nom de vacances: (brève description de la fête)$NWB#vicidial_call_times-holiday_name$NWE
    Vacances Commentaires: $NWB#vicidial_call_times-holiday_comments$NWE
    Date de vacances: $NWB#vicidial_call_times-holiday_date$NWE\n"; + echo "
    Groupe d'utilisateurs d'administration: $NWB#vicidial_call_times-user_group$NWE
    options de jour et l'heure s'affichent une fois que vous avez créé la définition de vacances
    \n"; + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } + + ###################### # ADD=131111111 display the ADD NEW SHIFT SCREEN ###################### @@ -10873,289 +11644,295 @@ if ($ADD==11111111111111) if ($ADD=="2") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    UTILISATEUR NON AJOUTE - il y a déjà un utilisateur dans le système avec ce numéro d'utilisateur\n";} else { - if (ereg('AUTOGENERA',$user)) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - $user = 'AUTOGENERA'; - } - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) - { - echo "
    UTILISATEUR NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    le nom et le mot de passe doivent contenir au moins 2 caractères\n"; - echo "
    Vous devez sélectionner un groupe d-utilisateurs\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    UTILISATEUR NON AJOUTE - il y a déjà un utilisateur dans le système avec ce numéro d'utilisateur\n";} else { if (ereg('AUTOGENERA',$user)) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) + { + echo "
    UTILISATEUR NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    le nom et le mot de passe doivent contenir au moins 2 caractères\n"; + echo "
    Vous devez sélectionner un groupe d-utilisateurs\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; + echo "
    UTILISATEUR AJOUTE: $user\n"; - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; $rslt=mysql_query($stmt, $link); - } - echo "
    UTILISATEUR AJOUTE: $user\n"; - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='UTILISATEURS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='UTILISATEURS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Active'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### + ### END vtiger integration } - ### END vtiger integration } } - $ADD=3; } @@ -11165,292 +11942,299 @@ if ($ADD=="2") if ($ADD=="2A") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    UTILISATEUR NON AJOUTE - il y a déjà un utilisateur dans le système avec ce numéro d'utilisateur\n";} else { - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    UTILISATEUR NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    le nom et le mot de passe doivent contenir au moins 2 caractères\n"; - echo "\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    UTILISATEUR NON AJOUTE - il y a déjà un utilisateur dans le système avec ce numéro d'utilisateur\n";} else { - if (ereg('AUTOGEN',$user)) + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + echo "
    UTILISATEUR NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    le nom et le mot de passe doivent contenir au moins 2 caractères\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGEN',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; - - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); - } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; - $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='UTILISATEURS', event_type='COPY', record_id='$user', event_code='ADMIN UTILISATEUR DE COPY', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='UTILISATEURS', event_type='COPY', record_id='$user', event_code='ADMIN UTILISATEUR DE COPY', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Active'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } + ### END vtiger integration - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} + echo "
    USER COPIED: $user copied from $source_user_id\n"; + echo "

    \n"; + echo "Click here to go to the user record\n"; + echo "

    \n"; - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### } - ### END vtiger integration - - echo "
    USER COPIED: $user copied from $source_user_id\n"; - echo "

    \n"; - echo "Click here to go to the user record\n"; - echo "

    \n"; - } } exit; @@ -11462,76 +12246,83 @@ if ($ADD=="2A") if ($ADD==21) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAGNE NON AJOUTEE - il existe déjà une campagne dans le système avec cet ID\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPAGNE NON AJOUTEE - il existe déjà une campagne dans le système avec cet ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) - { - echo "
    CAMPAGNE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    l'ID de la campagne doit contenir entre 2 et 8 caractères\n"; - echo "
    le nom de la campagne doit contenir entre 6 et 40 caractères\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAGNE AJOUTEE: $campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPAGNE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    l'ID de la campagne doit contenir entre 2 et 8 caractères\n"; + echo "
    le nom de la campagne doit contenir entre 6 et 40 caractères\n"; + } + else + { + echo "
    CAMPAGNE AJOUTEE: $campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11544,94 +12335,101 @@ if ($ADD==21) if ($ADD==20) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAGNE NON AJOUTEE - il existe déjà une campagne dans le système avec cet ID\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPAGNE NON AJOUTEE - il existe déjà une campagne dans le système avec cet ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) - { - echo "
    CAMPAGNE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    l'ID de la campagne doit contenir entre 2 et 8 caractères\n"; - echo "
    source l'ID de la campagne doit contenir entre 2 et 8 caractères\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPAGNE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    l'ID de la campagne doit contenir entre 2 et 8 caractères\n"; + echo "
    source l'ID de la campagne doit contenir entre 2 et 8 caractères\n"; + } + else + { + echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rafraîchir,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rafraîchir,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rafraîchir,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rafraîchir,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11644,41 +12442,48 @@ if ($ADD==20) if ($ADD==22) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUT DE LA CAMPAGNE NON AJOUTE - il y a déjà un statut de campagne dans le système avec ce nom\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    STATUT DE LA CAMPAGNE NON AJOUTE - il y a déjà un statut global dans le système avec ce nom\n";} + {echo "
    STATUT DE LA CAMPAGNE NON AJOUTE - il y a déjà un statut de campagne dans le système avec ce nom\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    STATUT DE LA CAMPAGNE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    le statut doit contenir entre 1 et 8 caractères\n"; - echo "
    le nom du statut doit contenir entre 2 et 30 caractères\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUT DE LA CAMPAGNE NON AJOUTE - il y a déjà un statut global dans le système avec ce nom\n";} else { - echo "
    STATUT DE LA CAMPAGNE AJOUTE: $campaign_id - $status_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    STATUT DE LA CAMPAGNE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    le statut doit contenir entre 1 et 8 caractères\n"; + echo "
    le nom du statut doit contenir entre 2 et 30 caractères\n"; + } + else + { + echo "
    STATUT DE LA CAMPAGNE AJOUTE: $campaign_id - $status_id\n"; - $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE STATUS', event_sql=\"$SQL_log\", event_notes='Etat: $status_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE STATUS', event_sql=\"$SQL_log\", event_notes='Etat: $status_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -11693,38 +12498,45 @@ if ($ADD==22) if ($ADD==23) { - $HKstatus_data = explode('-----',$HKstatus); - $status = $HKstatus_data[0]; - $status_name = $HKstatus_data[1]; - - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) - { - echo "
    RACCOURCI CLAVIER DE LA CAMPAGNE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    hotkey must be a single character between 1 and 9 \n"; - echo "
    le statut doit contenir entre 1 et 8 caractères\n"; - } + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} else { - echo "
    RACOURCI CLAVIER DE LA CAMPAGNE AJOUTE: $campaign_id - $status - $hotkey\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    RACCOURCI CLAVIER DE LA CAMPAGNE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    hotkey must be a single character between 1 and 9 \n"; + echo "
    le statut doit contenir entre 1 et 8 caractères\n"; + } + else + { + echo "
    RACOURCI CLAVIER DE LA CAMPAGNE AJOUTE: $campaign_id - $status - $hotkey\n"; - $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE HOTKEY', event_sql=\"$SQL_log\", event_notes='Etat: $status|HotKey: $hotkey';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE HOTKEY', event_sql=\"$SQL_log\", event_notes='Etat: $status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=23; @@ -11738,36 +12550,43 @@ if ($ADD==23) if ($ADD==25) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    RECYCLAGE DE FICHES DE LA CAMPAGNE NON AJOUTE - il y a déjà un recyclage de fiches pour cette campagne avec ce statut\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) - { - echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    le statut doit contenir entre 1 et 6 caractères\n"; - echo "
    le délai d'attente doit être au moins 120 secondes et moins de 43,200 secondes ou 12 heures\n"; - echo "
    le nombre d'essais maximum doit être compris entre 1 et 10\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    RECYCLAGE DE FICHES DE LA CAMPAGNE NON AJOUTE - il y a déjà un recyclage de fiches pour cette campagne avec ce statut\n";} else { - echo "
    RECYCLAGE DES FICHES DE LA CAMPAGNE AJOUTE: $campaign_id - $status - $attempt_delay\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    le statut doit contenir entre 1 et 6 caractères\n"; + echo "
    le délai d'attente doit être au moins 120 secondes et moins de 43,200 secondes ou 12 heures\n"; + echo "
    le nombre d'essais maximum doit être compris entre 1 et 10\n"; + } + else + { + echo "
    RECYCLAGE DES FICHES DE LA CAMPAGNE AJOUTE: $campaign_id - $status - $attempt_delay\n"; - $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Etat: $status';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Etat: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=25; @@ -11781,40 +12600,47 @@ if ($ADD==25) if ($ADD==26) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUT D'APPEL AUTOMATIQUE DU NUMERO ALTERNATIF NON AJOUTE - il y a déjà un entrée pour cette campagne avec ce statut\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    STATUT D'APPEL AUTOMATIQUE DU NUMERO ALTERNATIF NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    le statut doit contenir entre 1 et 6 caractères\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUT D'APPEL AUTOMATIQUE DU NUMERO ALTERNATIF NON AJOUTE - il y a déjà un entrée pour cette campagne avec ce statut\n";} else { - echo "
    STATUT D'APPEL AUTOMATIQUE DU NUMERO ALTERNATIF AJOUTE: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    STATUT D'APPEL AUTOMATIQUE DU NUMERO ALTERNATIF NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    le statut doit contenir entre 1 et 6 caractères\n"; + } + else + { + echo "
    STATUT D'APPEL AUTOMATIQUE DU NUMERO ALTERNATIF AJOUTE: $campaign_id - $status\n"; - $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $auto_alt_dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE ALT DIAL', event_sql=\"$SQL_log\", event_notes='Etat: $auto_alt_dial_statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE ALT DIAL', event_sql=\"$SQL_log\", event_notes='Etat: $auto_alt_dial_statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=26; @@ -11828,34 +12654,41 @@ if ($ADD==26) if ($ADD==27) { - echo ""; - $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CODE DE PAUSE NON AJOUTE - hay ya una entrada para esta campaña con este code\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) - { - echo "
    CODE DE PAUSE NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    pause code must be between 1 and 6 characters in length\n"; - echo "
    pause nom de code doit être compris entre 2 et 30 caractères\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CODE DE PAUSE NON AJOUTE - hay ya una entrada para esta campaña con este code\n";} else { - echo "
    CODE DE PAUSE AJOUTE: $campaign_id - $pause_code - $pause_code_name\n"; + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    CODE DE PAUSE NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + echo "
    pause nom de code doit être compris entre 2 et 30 caractères\n"; + } + else + { + echo "
    CODE DE PAUSE AJOUTE: $campaign_id - $pause_code - $pause_code_name\n"; - $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Code de pause: $pause_code';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Code de pause: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=27; @@ -11869,40 +12702,47 @@ if ($ADD==27) if ($ADD==28) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUT D'APPEL DE LA CAMPAGNE NON AJOUTE - il y a déjà un entrée pour cette campagne avec ce statut\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    STATUT D'APPEL DE LA CAMPAGNE NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    le statut doit contenir entre 1 et 6 caractères\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUT D'APPEL DE LA CAMPAGNE NON AJOUTE - il y a déjà un entrée pour cette campagne avec ce statut\n";} else { - echo "
    STATUT D'APPEL POUR LA CAMPAGNE AJOUTE: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    STATUT D'APPEL DE LA CAMPAGNE NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    le statut doit contenir entre 1 et 6 caractères\n"; + } + else + { + echo "
    STATUT D'APPEL POUR LA CAMPAGNE AJOUTE: $campaign_id - $status\n"; - $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Etat: $statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Etat: $statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } #$SUB=28; @@ -11915,37 +12755,44 @@ if ($ADD==28) ###################### if ($ADD==201) { - echo ""; - $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PRESET PAS AJOUTÉE - il ya déjà une entrée pour cette campagne avec ce preset\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) - { - echo "
    PRESET PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    preset name must be between 1 and 40 characters in length\n"; - echo "
    preset number must be between 2 and 50 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PRESET PAS AJOUTÉE - il ya déjà une entrée pour cette campagne avec ce preset\n";} else { - echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; + if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) + { + echo "
    PRESET PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    preset name must be between 1 and 40 characters in length\n"; + echo "
    preset number must be between 2 and 50 characters in length\n"; + } + else + { + echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; - $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; + $rslt=mysql_query($stmt, $link); - $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=201; @@ -11958,121 +12805,128 @@ if ($ADD==201) ###################### if ($ADD==202) { - echo ""; - if ($stage == 'ADD') + if ($add_copy_disabled > 0) { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Indicatif régional CID PAS AJOUTÉE - il ya déjà une entrée pour cette campagne avec ce CID
    \n";} - else - { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    Indicatif régional CID PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies
    \n"; - } - else - { - echo "
    Indicatif régional CID AJOUTÉE: $campaign_id - $areacode - $outbound_cid
    \n"; - - $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - if ($stage == 'DELETE') + else { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    Indicatif régional CID PAS SUPPRIMER - cette entrée n'existe pas
    \n";} - else + echo ""; + if ($stage == 'ADD') { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    Indicatif régional CID PAS SUPPRIMER - Veuillez retourner en arrière et vérifier les données que vous avez saisies
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Indicatif régional CID PAS AJOUTÉE - il ya déjà une entrée pour cette campagne avec ce CID
    \n";} else { - echo "
    Indicatif régional CID Vues: $campaign_id - $areacode - $outbound_cid
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    Indicatif régional CID PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies
    \n"; + } + else + { + echo "
    Indicatif régional CID AJOUTÉE: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } - } - if ($stage == 'MODIFY') - { - $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; - $rslt=mysql_query($stmt, $link); - $accids_to_print = mysql_num_rows($rslt); - $o=0; - while ($accids_to_print > $o) + if ($stage == 'DELETE') { - $rowx=mysql_fetch_row($rslt); - $Xareacode[$o] = $rowx[0]; - $Xoutbound_cid[$o] = $rowx[1]; - $Xactive[$o] = $rowx[2]; - $Xcid_description[$o] = $rowx[3]; - $Xcall_count_today[$o] = $rowx[4]; - $o++; - } - - $o=0; - while ($accids_to_print > $o) - { - $Factive_value=''; - $Fcid_description_value=''; - $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; - $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; - - if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} - elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} - if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} - elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} - $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); - $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); - - # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; - - if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) - { - # echo "
    Indicatif régional CID NOT MODIFIED - Veuillez retourner en arrière et vérifier les données que vous avez saisies
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    Indicatif régional CID PAS SUPPRIMER - cette entrée n'existe pas
    \n";} else { - echo "Indicatif régional CID mise à jour: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    Indicatif régional CID PAS SUPPRIMER - Veuillez retourner en arrière et vérifier les données que vous avez saisies
    \n"; + } + else + { + echo "
    Indicatif régional CID Vues: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; - $rslt=mysql_query($stmt, $link); + $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + if ($stage == 'MODIFY') + { + $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; + $rslt=mysql_query($stmt, $link); + $accids_to_print = mysql_num_rows($rslt); + $o=0; + while ($accids_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xareacode[$o] = $rowx[0]; + $Xoutbound_cid[$o] = $rowx[1]; + $Xactive[$o] = $rowx[2]; + $Xcid_description[$o] = $rowx[3]; + $Xcall_count_today[$o] = $rowx[4]; + $o++; + } + + $o=0; + while ($accids_to_print > $o) + { + $Factive_value=''; + $Fcid_description_value=''; + $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; + $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; + + if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} + elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} + if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} + elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} + $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); + $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); + + # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; + + if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) + { + # echo "
    Indicatif régional CID NOT MODIFIED - Veuillez retourner en arrière et vérifier les données que vous avez saisies
    \n"; + } + else + { + echo "Indicatif régional CID mise à jour: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + + $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + $o++; } - $o++; } } $SUB=202; @@ -12086,49 +12940,56 @@ if ($ADD==202) if ($ADD==211) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $list_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LISTE NON AJOUTEE - il y a déjà une liste avec ce nom dans le système\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    LISTE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    L'ID de la liste doit contenir entre 2 et 8 caractères\n"; - echo "
    Le nom de la liste doit contenir au moins 2 caractères\n"; - echo "
    ID de la liste must be greater than 100\n"; + $row=mysql_fetch_row($rslt); + $list_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LISTE NON AJOUTEE - il y a déjà une liste avec ce nom dans le système\n";} else { - echo "
    LISTE AJOUTEE: $list_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 19) ) + { + echo "
    LISTE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    L'ID de la liste doit contenir entre 2 et 8 caractères\n"; + echo "
    Le nom de la liste doit contenir au moins 2 caractères\n"; + echo "
    ID de la liste must be greater than 100\n"; + } + else + { + echo "
    LISTE AJOUTEE: $list_id\n"; - $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311; @@ -12142,67 +13003,148 @@ if ($ADD==211) if ($ADD==2111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GROUPE NON AJOUTE - il y a déjà un groupe dans le système avec cet identifiant\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GROUPE NON AJOUTE - il y a déjà un groupe dans le système avec cet identifiant\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    L'ID du groupe doit contenir entre 2 et 20 caractères et ne contenir aucun ' -+'.\n"; - echo "
    Le nom et la couleur du groupe doivent contenir au moins 2 caractères\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    L'ID du groupe doit contenir entre 2 et 20 caractères et ne contenir aucun ' -+'.\n"; + echo "
    Le nom et la couleur du groupe doivent contenir au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group','$group_handling');"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GROUPE AJOUTE: $group_id\n"; + echo "
    GROUPE AJOUTE: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2811 adds the new EMAIL inbound group to the system +###################### + +if ( ($ADD==2811) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GROUPE NON AJOUTE - il y a déjà un groupe dans le système avec cet identifiant\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUPE DE COURRIEL pas ajouté - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    L'ID du groupe doit contenir entre 2 et 20 caractères et ne contenir aucun ' -+'.\n"; + echo "
    Le nom et la couleur du groupe doivent contenir au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','EMAIL','','','','','','$user_group','EMAIL');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    GROUPE courriel ajouté: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2011 adds copied inbound group to the system @@ -12210,67 +13152,148 @@ if ($ADD==2111) if ($ADD==2011) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GROUPE NON AJOUTE - il y a déjà un groupe dans le système avec cet identifiant\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GROUPE NON AJOUTE - il y a déjà un groupe dans le système avec cet identifiant\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    L'ID du groupe doit contenir entre 2 et 20 caractères et ne contenir aucun ' -+'.\n"; - echo "
    Le nom et la couleur du groupe doivent contenir au moins 2 caractères\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id=\"$source_group_id\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    L'ID du groupe doit contenir entre 2 et 20 caractères et ne contenir aucun ' -+'.\n"; + echo "
    Le nom et la couleur du groupe doivent contenir au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GROUPE AJOUTE: $group_id\n"; + echo "
    GROUPE AJOUTE: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='GROUPE ADMINE D'ARRIVÉE DE COPY', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='GROUPE ADMINE D'ARRIVÉE DE COPY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2911 adds copied inbound group to the system +###################### + +if ( ($ADD==2911) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GROUPE NON AJOUTE - il y a déjà un groupe dans le système avec cet identifiant\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUPE DE COURRIEL pas ajouté - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    EMAIL GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Email groupe ID doit être comprise entre 2 et 20 caractères et ne contiennent pas ' -+'.\n"; + echo "
    Email nom de groupe et la couleur de groupe doit être d'au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    GROUPE courriel ajouté: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='GROUPE ADMINE D'ARRIVÉE DE COPY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2311 adds the new did to the system @@ -12278,45 +13301,52 @@ if ($ADD==2011) if ($ADD==2311) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    NE PAS AJOUTER - il ya déjà un DID dans le système avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { + echo ""; $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    NE PAS AJOUTER - il ya déjà un DID dans le système avec cette extension\n";} + {echo "
    NE PAS AJOUTER - il ya déjà un DID dans le système avec cette ID\n";} else { - if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) - { - echo "
    NE PAS AJOUTER - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    NE PAS AJOUTER - il ya déjà un DID dans le système avec cette extension\n";} else - { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + { # or (eregi("\+",$did_pattern)) + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) ) + { + echo "
    NE PAS AJOUTER - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; + echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12330,38 +13360,45 @@ if ($ADD==2311) if ($ADD==2411) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    NE PAS AJOUTER - il ya déjà un DID dans le système avec cette extension\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) - { - echo "
    NE PAS AJOUTER - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    NE PAS AJOUTER - il ya déjà un DID dans le système avec cette extension\n";} else { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
    NE PAS AJOUTER - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern - $did_id\n"; + echo "
    DID ADDED: $did_pattern - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPY DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPY DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3311; @@ -12374,61 +13411,68 @@ if ($ADD==2411) if ($ADD==2511) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL MENU SANS ADDITION - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL MENU SANS ADDITION - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    ID Menu Appel ne pouvez pas utiliser des mots réservés: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL MENU SANS ADDITION - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL MENU SANS ADDITION - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Appel menu ID doit être comprise entre 2 et 50 caractères de long et ne contiennent aucune ' '.\n"; + echo "
    ID Menu Appel ne pouvez pas utiliser des mots réservés: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + { + echo "
    CALL MENU SANS ADDITION - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Appel menu ID doit être comprise entre 2 et 50 caractères de long et ne contiennent aucune ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    CALL MENU AJOUTEE: $menu_id $menu_name\n"; + echo "
    CALL MENU AJOUTEE: $menu_id $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12441,64 +13485,71 @@ if ($ADD==2511) if ($ADD==2611) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL MENU SANS ADDITION - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL MENU SANS ADDITION - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    ID Menu Appel ne pouvez pas utiliser des mots réservés: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL MENU SANS ADDITION - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL MENU SANS ADDITION - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Appel menu ID doit être comprise entre 2 et 50 caractères de long et ne contiennent aucune ' '.\n"; + echo "
    ID Menu Appel ne pouvez pas utiliser des mots réservés: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id=\"$source_menu\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + { + echo "
    CALL MENU SANS ADDITION - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Appel menu ID doit être comprise entre 2 et 50 caractères de long et ne contiennent aucune ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id=\"$source_menu\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; + $rslt=mysql_query($stmtA, $link); - echo "
    CALL MENU AJOUTEE: $menu_id - $menu_name\n"; + echo "
    CALL MENU AJOUTEE: $menu_id - $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtA"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtA"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12511,33 +13562,40 @@ if ($ADD==2611) if ($ADD==2711) { - echo ""; - $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TÉLÉPHONE filtre de groupe PAS AJOUTÉE - il ya déjà un groupe TÉLÉPHONE FILTRE dans le système avec cet ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) - { - echo "
    PHONE FILTER GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    ID Group Téléphone filtre doit être comprise entre 2 et 20 caractères de longueur et ne contiennent pas ' '.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TÉLÉPHONE filtre de groupe PAS AJOUTÉE - il ya déjà un groupe TÉLÉPHONE FILTRE dans le système avec cet ID\n";} else { - $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) + { + echo "
    PHONE FILTER GROUPE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    ID Group Téléphone filtre doit être comprise entre 2 et 20 caractères de longueur et ne contiennent pas ' '.\n"; + } + else + { + $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    TÉLÉPHONE filtre de groupe AJOUTÉE: $filter_phone_group_id $filter_phone_group_name\n"; + echo "
    TÉLÉPHONE filtre de groupe AJOUTÉE: $filter_phone_group_id $filter_phone_group_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN AJOUTER LE FILTRE PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN AJOUTER LE FILTRE PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3711; @@ -12550,50 +13608,57 @@ if ($ADD==2711) if ($ADD==21111) { - echo ""; - $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AGENT DISTANT NON AJOUTE - il y a déjà un agent distant avec cet identifiant\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - ### check for a valid user that will be associated with this account - $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    AGENTS DISTANTS NOT ADDED - vous devez utiliser un utilisateur valide que l'user_start pour les agents à distance\n";} + if ($row[0] > 0) + {echo "
    AGENT DISTANT NON AJOUTE - il y a déjà un agent distant avec cet identifiant\n";} else { - ### check for closest remote agents to this account to ensure no overlapping - $user_finish = ($user_start + $number_of_lines); - $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + ### check for a valid user that will be associated with this account + $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AGENTS DISTANTS NOT ADDED - votre nombre de chevauchements de lignes avec un autre agent à distance\n";} + if ($row[0] < 1) + {echo "
    AGENTS DISTANTS NOT ADDED - vous devez utiliser un utilisateur valide que l'user_start pour les agents à distance\n";} else { - if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) - { - echo "
    AGENT DISTANT NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Le début de l'ID de l'utilisateur et l'extension externe doivent contenir au moins 2 caractères\n"; - } + ### check for closest remote agents to this account to ensure no overlapping + $user_finish = ($user_start + $number_of_lines); + $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    AGENTS DISTANTS NOT ADDED - votre nombre de chevauchements de lignes avec un autre agent à distance\n";} else { - $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    AGENT DISTANT NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Le début de l'ID de l'utilisateur et l'extension externe doivent contenir au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); - echo "
    AGENT DISTANT AJOUTE: $user_start\n"; + echo "
    AGENT DISTANT AJOUTE: $user_start\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12608,38 +13673,45 @@ if ($ADD==21111) if ($ADD==22111) { - echo ""; - $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ENTRÉE DU GROUPE D'EXTENSION PAS AJOUTÉE - il ya déjà une entrée de groupe d'extension avec ces valeurs\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) - { - echo "
    ENTRÉE DU GROUPE D'EXTENSION PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ENTRÉE DU GROUPE D'EXTENSION PAS AJOUTÉE - il ya déjà une entrée de groupe d'extension avec ces valeurs\n";} else { - $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) + { + echo "
    ENTRÉE DU GROUPE D'EXTENSION PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $extension_id = $row[0]; + $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension_id = $row[0]; - echo "
    ENTRÉE DU GROUPE extension ajoutée: $extension_id - $extension_group_id - $extension\n"; + echo "
    ENTRÉE DU GROUPE extension ajoutée: $extension_id - $extension_group_id - $extension\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=12000; @@ -12652,147 +13724,154 @@ if ($ADD==22111) if ($ADD==211111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user_group = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GROUP D'UTILISATEURS NON AJOUTE - il y a déjà un groupe d'utilisateurs avec ce nom\n";} else { - if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    GROUPE D'UTILISATEURS NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Le nom et la description du groupe doivent contenir au moins 2 caractères\n"; + $row=mysql_fetch_row($rslt); + $user_group = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP D'UTILISATEURS NON AJOUTE - il y a déjà un groupe d'utilisateurs avec ce nom\n";} else { - $allowed_user_group_insert_SQL = '---ALL---'; - $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; - # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups - if ($admin_viewable_groupsALL < 1) + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) { - $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; - $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); - $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; + echo "
    GROUPE D'UTILISATEURS NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Le nom et la description du groupe doivent contenir au moins 2 caractères\n"; + } + else + { + $allowed_user_group_insert_SQL = '---ALL---'; + $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; + # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups + if ($admin_viewable_groupsALL < 1) + { + $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; + $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); + $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; - $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + + $allowed_user_group_insert_SQL = " $user_group -"; + + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $allowed_campaign_insert_SQL = $LOGallowed_campaigns; + } + + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; $rslt=mysql_query($stmt, $link); - $allowed_user_group_insert_SQL = " $user_group -"; - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); - $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - } - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) - { - $allowed_campaign_insert_SQL = $LOGallowed_campaigns; - } + echo "
    GROUPE D'UTILISATEURS AJOUTE: $user_group\n"; - $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN AJOUTER UN GROUPE D'UTILISATEURS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - - echo "
    GROUPE D'UTILISATEURS AJOUTE: $user_group\n"; - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN AJOUTER UN GROUPE D'UTILISATEURS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} if (!$rslt) {die('Could not execute: ' . mysql_error());} $row=mysql_fetch_row($rslt); - $groupid = $row[0]; + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### } } } @@ -12805,47 +13884,54 @@ if ($ADD==211111) if ($ADD==2111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $script_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SCRIPT NON AJOUTE - il y a déjà un script existant avec ce nom\n";} else { - if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    SCRIPT NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Les nom, description et texte du script doivent contenir au moins 2 caractères\n"; + $row=mysql_fetch_row($rslt); + $script_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SCRIPT NON AJOUTE - il y a déjà un script existant avec ce nom\n";} else { - $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    SCRIPT AJOUTE: $script_id\n"; + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    SCRIPT NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Les nom, description et texte du script doivent contenir au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + echo "
    SCRIPT AJOUTE: $script_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPTS', event_type='ADD', record_id='$script_id', event_code='ADMIN AJOUTER UN SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPTS', event_type='ADD', record_id='$script_id', event_code='ADMIN AJOUTER UN SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=1000000; @@ -12858,48 +13944,55 @@ if ($ADD==2111111) if ($ADD==21111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $lead_filter_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    FILTRE NON AJOUTE - il y a déjà un filtre avec cet identifiant\n";} else { - if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    FILTRE NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Identifiant du filtre, le nom et le SQL doivent au moins contenir 2 caractères\n"; + $row=mysql_fetch_row($rslt); + $lead_filter_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    FILTRE NON AJOUTE - il y a déjà un filtre avec cet identifiant\n";} else { - $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    FILTRE NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Identifiant du filtre, le nom et le SQL doivent au moins contenir 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; + $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    FILTRE AJOUTE: $lead_filter_id\n"; + if ($DB > 0) {echo "|$stmt|";} + echo "
    FILTRE AJOUTE: $lead_filter_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTRES', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN AJOUTER LE FILTRE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTRES', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN AJOUTER LE FILTRE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=10000000; @@ -12912,34 +14005,41 @@ if ($ADD==21111111) if ($ADD==211111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DEFINITION DE LA PERIODE D'APPEL NON AJOUTEE - il existe déjà une période d'appel avec cet ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) - { - echo "
    DEFINITION DE LA PERIODE D'APPEL NON AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    L'ID et le nom de la période d'appel doivent contenir au moins 2 caractères\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DEFINITION DE LA PERIODE D'APPEL NON AJOUTEE - il existe déjà une période d'appel avec cet ID\n";} else { - $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    DEFINITION DE LA PERIODE D'APPEL NON AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    L'ID et le nom de la période d'appel doivent contenir au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group',ct_state_call_times='',ct_holidays='';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    PERIODE D'APPELS AJOUTEE: $call_time_id\n"; + echo "
    PERIODE D'APPELS AJOUTEE: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111; @@ -12952,98 +14052,159 @@ if ($ADD==211111111) if ($ADD==2111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DEFINITION DE LA PERIODE D'APPELS DE L'ETAT NON AJOUTE - il existe déjà une période d'appel avec cet ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) - { - echo "
    DEFINITION DE LA PERIODE D'APPELS DE L'ETAT NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    L'ID, le nom et l'état de l'appel doivent contenir au moins 2 caractères\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DEFINITION DE LA PERIODE D'APPELS DE L'ETAT NON AJOUTE - il existe déjà une période d'appel avec cet ID\n";} else { - $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    DEFINITION DE LA PERIODE D'APPELS DE L'ETAT NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    L'ID, le nom et l'état de l'appel doivent contenir au moins 2 caractères\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    PERIODE D'APPELS D'ETAT AJOUTEE: $call_time_id\n"; + echo "
    PERIODE D'APPELS D'ETAT AJOUTEE: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111; } +###################### +# ADD=2211111111 adds new holiday definition to the system +###################### + +if ($ADD==2211111111) + { + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_call_time_holidays where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    HOLIDAY DEFINITION pas ajouté - il existe déjà une entrée de vacances avec cette ID\n";} + else + { + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    HOLIDAY DEFINITION pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    ID de vacances, le nom et la date doivent être remplis\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_time_holidays SET holiday_id='$holiday_id',holiday_name='$holiday_name',holiday_comments='$holiday_comments',holiday_date='$holiday_date',holiday_status='INACTIVE',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + + echo "
    HOLIDAY AJOUTÉE: $holiday_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='ADD', record_id='$holiday_id', event_code='ADMIN ADD HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3211111111; + } + + ###################### # ADD=231111111 adds new shift definition to the system ###################### if ($ADD==231111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $shift_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    MAJ définition pas AJOUTÉS - il ya déjà un quart d'entrée avec cette ID\n";} else { - $shift_length_test = eregi_replace(':','',$shift_length); - if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    MAJ définition pas AJOUTÉS - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Shift ID et le nom doit être d'au moins 2 caractères\n"; - echo "
    Start Time Shift 4 chiffres doit être de longueur et une heure valide\n"; - echo "
    Shift Longueur doit être de 5 caractères de longueur et de 24 heures ou moins\n"; + $row=mysql_fetch_row($rslt); + $shift_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    MAJ définition pas AJOUTÉS - il ya déjà un quart d'entrée avec cette ID\n";} else { - $p=0; - $shift_weekdays_ct = count($shift_weekdays); - while ($p <= $shift_weekdays_ct) + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) { - $SHIFT_weekdays .= "$shift_weekdays[$p]"; - $p++; + echo "
    MAJ définition pas AJOUTÉS - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Shift ID et le nom doit être d'au moins 2 caractères\n"; + echo "
    Start Time Shift 4 chiffres doit être de longueur et une heure valide\n"; + echo "
    Shift Longueur doit être de 5 caractères de longueur et de 24 heures ou moins\n"; } - $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    SHIFT AJOUTÉS:$shift_id\n"; + echo "
    SHIFT AJOUTÉS:$shift_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111; @@ -13056,71 +14217,78 @@ if ($ADD==231111111) if ($ADD==21111111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $extension = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TELEPHONE NON AJOUTE - il y a déjà un téléphone dans le systéme avec cette extension/serveur\n";} else { - $stmt="SELECT count(*) from phones where login='$login';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $extension = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - il existe déjà un numéro de téléphone dans le système avec ce login\n";} + {echo "
    TELEPHONE NON AJOUTE - il y a déjà un téléphone dans le systéme avec cette extension/serveur\n";} else { - $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $stmt="SELECT count(*) from phones where login='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - il existe déjà un numéro de téléphone alias dans le système avec ce login\n";} + {echo "
    PHONE NOT ADDED - il existe déjà un numéro de téléphone dans le système avec ce login\n";} else { - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - there is already a ID vocale in the system with this ID\n";} + {echo "
    PHONE NOT ADDED - il existe déjà un numéro de téléphone alias dans le système avec ce login\n";} else { - if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) - { - echo "
    TELEPHONE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; - echo "
    Les champs suivants doivent avoir des données: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; - } + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a ID vocale in the system with this ID\n";} else { - echo "
    TELEPHONE AJOUTE\n"; + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + { + echo "
    TELEPHONE NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n"; + echo "
    Les champs suivants doivent avoir des données: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; + } + else + { + echo "
    TELEPHONE AJOUTE\n"; - $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13136,37 +14304,44 @@ if ($ADD==21111111111) if ($ADD==22111111111) { - echo ""; - $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PAS DE TELEPHONE ALIAS AJOUTÉS - il existe déjà un numéro de téléphone Alias dans le système avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where login='$alias_id';"; + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PAS DE TELEPHONE ALIAS AJOUTÉS - il existe déjà un numéro de téléphone dans le système Connectez-vous avec cette ID\n";} + {echo "
    PAS DE TELEPHONE ALIAS AJOUTÉS - il existe déjà un numéro de téléphone Alias dans le système avec cette ID\n";} else { - if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) - {echo "
    PAS DE TELEPHONE ALIAS AJOUTÉS - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PAS DE TELEPHONE ALIAS AJOUTÉS - il existe déjà un numéro de téléphone dans le système Connectez-vous avec cette ID\n";} else { - echo "
    PHONE ALIAS AJOUTÉS\n"; + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    PAS DE TELEPHONE ALIAS AJOUTÉS - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    PHONE ALIAS AJOUTÉS\n"; - $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD PHONE ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD PHONE ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13180,34 +14355,41 @@ if ($ADD==22111111111) if ($ADD==23111111111) { - echo ""; - $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GROUPE ALIAS pas ajouté - il existe déjà un numéro de téléphone Alias dans le système avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) - {echo "
    GROUPE ALIAS pas ajouté - vous ne pouvez pas utiliser des mots réservés dans le groupe des alias\n";} + echo ""; + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUPE ALIAS pas ajouté - il existe déjà un numéro de téléphone Alias dans le système avec cette ID\n";} else { - if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) - {echo "
    GROUPE ALIAS pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) + {echo "
    GROUPE ALIAS pas ajouté - vous ne pouvez pas utiliser des mots réservés dans le groupe des alias\n";} else { - echo "
    GROUPE ALIAS AJOUTÉS\n"; + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    GROUPE ALIAS pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    GROUPE ALIAS AJOUTÉS\n"; - $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13221,33 +14403,40 @@ if ($ADD==23111111111) if ($ADD==211111111111) { - echo ""; - $stmt="SELECT count(*) from servers where server_id='$server_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SERVEUR NON AJOUTE - il y a déjà un serveur dans le système avec cet ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) - {echo "
    SERVEUR NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SERVEUR NON AJOUTE - il y a déjà un serveur dans le système avec cet ID\n";} else { - echo "
    SERVEUR AJOUTE\n"; + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    SERVEUR NON AJOUTE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    SERVEUR AJOUTE\n"; - $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111111; @@ -13260,51 +14449,58 @@ if ($ADD==211111111111) if ($ADD==221111111111) { - echo ""; - $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $MAXvicidial_trunks = $rowx[0]; - - $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); - - if ($SUMvicidial_trunks > $MAXvicidial_trunks) + if ($add_copy_disabled > 0) { - echo "
    TRUNK DU SERVEUR VICIDIAL NON AJOUTE - le nombre de trunks vicidial est trop important: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TRUNK DU SERVEUR VICIDIAL NON AJOUTE - il y a déjà un trunk-serveur enregistré pour cette campagne\n";} + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    TRUNK DU SERVEUR VICIDIAL NON AJOUTE - le nombre de trunks vicidial est trop important: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) - { - echo "
    TRUNK DU SERVEUR VICIDIAL NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    la campagne doit contenir entre 3 et 8 caractères\n"; - echo "
    le délai du server_ip doit contenir au moins 7 caractères\n"; - echo "
    les trunks doivent être un nombre entre 0 et 9999\n"; - } + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TRUNK DU SERVEUR VICIDIAL NON AJOUTE - il y a déjà un trunk-serveur enregistré pour cette campagne\n";} else { - echo "
    TRUNK DU SERVEUR VICIDIAL AJOUTE: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    TRUNK DU SERVEUR VICIDIAL NON AJOUTE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    la campagne doit contenir entre 3 et 8 caractères\n"; + echo "
    le délai du server_ip doit contenir au moins 7 caractères\n"; + echo "
    les trunks doivent être un nombre entre 0 et 9999\n"; + } + else + { + echo "
    TRUNK DU SERVEUR VICIDIAL AJOUTE: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; - $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVEUR TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVEUR TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13318,30 +14514,37 @@ if ($ADD==221111111111) if ($ADD==231111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONF TEMPLATE pas ajouté - il existe déjà un modèle dans le système avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if (strlen($template_id) < 2) - {echo "
    CONF TEMPLATE pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONF TEMPLATE pas ajouté - il existe déjà un modèle dans le système avec cette ID\n";} else { - echo "
    CONF TEMPLATE AJOUTÉS\n"; + if (strlen($template_id) < 2) + {echo "
    CONF TEMPLATE pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    CONF TEMPLATE AJOUTÉS\n"; - $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111; @@ -13354,33 +14557,40 @@ if ($ADD==231111111111) if ($ADD==241111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CARRIER pas ajouté - il ya déjà un transporteur dans le système avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    CARRIER pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CARRIER pas ajouté - il ya déjà un transporteur dans le système avec cette ID\n";} else { - echo "
    CARRIER ADDED\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    CARRIER pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    CARRIER ADDED\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13393,33 +14603,40 @@ if ($ADD==241111111111) if ($ADD==240111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CARRIER pas ajouté - il ya déjà un transporteur dans le système avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    CARRIER pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CARRIER pas ajouté - il ya déjà un transporteur dans le système avec cette ID\n";} else { - echo "
    CARRIER COPIE AJOUTÉE\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    CARRIER pas ajouté - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    CARRIER COPIE AJOUTÉE\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13432,30 +14649,37 @@ if ($ADD==240111111111) if ($ADD==251111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TTS entrée non AJOUTEE - il existe déjà une entrée dans le système TTS avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) - {echo "
    TTS entrée non AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TTS entrée non AJOUTEE - il existe déjà une entrée dans le système TTS avec cette ID\n";} else { - echo "
    TTS Entry Ajoutée\n"; + if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) + {echo "
    TTS entrée non AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    TTS Entry Ajoutée\n"; - $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=351111111111; @@ -13468,30 +14692,37 @@ if ($ADD==251111111111) if ($ADD==261111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    MUSIC ON HOLD entrée non AJOUTEE - il existe déjà une entrée dans le système de moh avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) - {echo "
    MUSIC ON HOLD entrée non AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    MUSIC ON HOLD entrée non AJOUTEE - il existe déjà une entrée dans le système de moh avec cette ID\n";} else { - echo "
    MUSIC ON HOLD Entry Ajoutée\n"; + if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) + {echo "
    MUSIC ON HOLD entrée non AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    MUSIC ON HOLD Entry Ajoutée\n"; - $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=361111111111; @@ -13504,45 +14735,52 @@ if ($ADD==261111111111) if ($ADD==271111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    La boîte vocale PAS AJOUTEE - il existe déjà une boîte vocale dans le système avec cette ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    La boîte vocale PAS AJOUTEE - il ya déjà un téléphone dans le système avec ce message vocal ID\n";} + {echo "
    La boîte vocale PAS AJOUTEE - il existe déjà une boîte vocale dans le système avec cette ID\n";} else { - if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) - {echo "
    La boîte vocale PAS AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    La boîte vocale PAS AJOUTEE - il ya déjà un téléphone dans le système avec ce message vocal ID\n";} else { - echo "
    La boîte vocale AJOUTEE\n"; + if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) + {echo "
    La boîte vocale PAS AJOUTEE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    La boîte vocale AJOUTEE\n"; - $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT active_voicemail_server from system_settings;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $active_voicemail_server = $row[0]; + $stmt="SELECT active_voicemail_server from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13556,30 +14794,37 @@ if ($ADD==271111111111) if ($ADD==281111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LABEL ECRAN PAS AJOUTÉE - il ya déjà une étiquette dans le système avec cet ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) - {echo "
    LABEL ECRAN PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LABEL ECRAN PAS AJOUTÉE - il ya déjà une étiquette dans le système avec cet ID\n";} else { - echo "
    LABEL supplémentaire de l'écran\n"; + if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) + {echo "
    LABEL ECRAN PAS AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    LABEL supplémentaire de l'écran\n"; - $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=381111111111; @@ -13592,38 +14837,45 @@ if ($ADD==281111111111) if ($ADD==291111111111) { - if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + if ($add_copy_disabled > 0) { - $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); - mysql_select_db("$SSalt_log_dbname", $linkALT); + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } - else - {$linkALT = $link;} - echo ""; - $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; - $rslt=mysql_query($stmt, $linkALT); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Contact non AJOUTÉE - il ya déjà un contact dans le système avec ce nom et le numéro\n";} else { - if (strlen($last_name) < 2) - {echo "
    Contact non AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + { + $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); + mysql_select_db("$SSalt_log_dbname", $linkALT); + } + else + {$linkALT = $link;} + echo ""; + $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; + $rslt=mysql_query($stmt, $linkALT); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Contact non AJOUTÉE - il ya déjà un contact dans le système avec ce nom et le numéro\n";} else { - echo "
    Contact ajouté\n"; + if (strlen($last_name) < 2) + {echo "
    Contact non AJOUTÉE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    Contact ajouté\n"; - $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; - $rslt=mysql_query($stmt, $linkALT); - $contact_id = mysql_insert_id($linkALT); + $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; + $rslt=mysql_query($stmt, $linkALT); + $contact_id = mysql_insert_id($linkALT); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=391111111111; @@ -13636,22 +14888,29 @@ if ($ADD==291111111111) if ($ADD==2111111111111) { - echo ""; - $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONFERENCE NON AJOUTEE - il y a déjà une conférence dans le système avec cet ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    CONFERENCE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFERENCE NON AJOUTEE - il y a déjà une conférence dans le système avec cet ID\n";} else { - echo "
    CONFERENCE AJOUTEE\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    CONFERENCE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    CONFERENCE AJOUTEE\n"; - $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111111; @@ -13664,22 +14923,29 @@ if ($ADD==2111111111111) if ($ADD==21111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    VICIDIAL CONFERENCE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} else { - echo "
    VICIDIAL CONFERENCE AJOUTEE\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL CONFERENCE NON AJOUTEE - Veuillez revenir en arrière et vérifier les données que vous avez saisies\n";} + else + { + echo "
    VICIDIAL CONFERENCE AJOUTEE\n"; - $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=31111111111111; @@ -13692,41 +14958,48 @@ if ($ADD==21111111111111) if ($ADD==221111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    STATUT DE SYSTÈME NON SUPPLÉMENTAIRE - there is already a campaign-status in the system with this name: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    STATUT DE SYSTÈME NON SUPPLÉMENTAIRE - there is already a global-status in the system with this name\n";} + {echo "
    STATUT DE SYSTÈME NON SUPPLÉMENTAIRE - there is already a campaign-status in the system with this name: $row[0]\n";} else { - if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    STATUT DE SYSTÈME NON SUPPLÉMENTAIRE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    le statut doit contenir entre 1 et 8 caractères\n"; - echo "
    le nom du statut doit contenir entre 2 et 30 caractères\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUT DE SYSTÈME NON SUPPLÉMENTAIRE - there is already a global-status in the system with this name\n";} else { - echo "
    STATUT DE SYSTÈME SUPPLÉMENTAIRE: $status_name - $status_id\n"; + if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    STATUT DE SYSTÈME NON SUPPLÉMENTAIRE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    le statut doit contenir entre 1 et 8 caractères\n"; + echo "
    le nom du statut doit contenir entre 2 et 30 caractères\n"; + } + else + { + echo "
    STATUT DE SYSTÈME SUPPLÉMENTAIRE: $status_name - $status_id\n"; - $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13740,43 +15013,50 @@ if ($ADD==221111111111111) if ($ADD==231111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CATÉGORIE DE STATUT NON SUPPLÉMENTAIRE - il y a déjà une catégorie de statut dans le système avec cetteidentification: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } else { - if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) - { - echo "
    CATÉGORIE DE STATUT NON SUPPLÉMENTAIRE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    L'identification doit être entre 2 et 20 caractères de longueur\n"; - echo "
    le nom nommé doit être entre 2 et 50 caractères de longueur\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CATÉGORIE DE STATUT NON SUPPLÉMENTAIRE - il y a déjà une catégorie de statut dans le système avec cetteidentification: $row[0]\n";} else { - echo "
    STATUS CATÉGORIE ADDED: $vsc_id - $vsc_name\n"; - - $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) { - $tovdad_display = 'N'; - echo "
    ERREUR : Il y a déjà ensemble de 4 catégories de statut àl'affichage de TimeOnVDAD\n"; + echo "
    CATÉGORIE DE STATUT NON SUPPLÉMENTAIRE - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    L'identification doit être entre 2 et 20 caractères de longueur\n"; + echo "
    le nom nommé doit être entre 2 et 50 caractères de longueur\n"; } + else + { + echo "
    STATUS CATÉGORIE ADDED: $vsc_id - $vsc_name\n"; - $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; - $rslt=mysql_query($stmt, $link); + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    ERREUR : Il y a déjà ensemble de 4 catégories de statut àl'affichage de TimeOnVDAD\n"; + } - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATÉGORIE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATÉGORIE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111111; @@ -13787,41 +15067,7 @@ if ($ADD==231111111111111) ###################### # ADD=241111111111111 adds the new qc status code to the system ###################### - -if ($ADD==241111111111111) - { - echo ""; - $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    QC CODE ÉTAT PAS AJOUTÉS- il existe déjà un code de statut qc dans le système avec ce nom: $row[0]\n";} - else - { - if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) - { - echo "
    QC CODE ÉTAT PAS AJOUTÉS- Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    code doit être compris entre 1 et 8 caractères\n"; - echo "
    nom de code doit être compris entre 2 et 30 caractères\n"; - } - else - { - echo "
    QC ÉTAT CODE AJOUTEE:$code_name - $code\n"; - - $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $ADD=341111111111111; - } +//Moved to qc/QC_status_codes_include.php include file @@ -13858,7 +15104,7 @@ if ($ADD=="4A") } echo "
    UTILISATEUR MODIFIE - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data' where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts' where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -14598,9 +15844,11 @@ if ($ADD==41) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $survey_camp_record_dir = '/home/survey'; $survey_dtmf_digits = '1238'; + $survey_wait_sec = '10'; $survey_first_audio_file = 'US_pol_survey_hello'; $survey_method = 'AGENT_XFER'; $survey_ni_audio_file = ''; @@ -14617,6 +15865,8 @@ if ($ADD==41) $call_count_target = '0'; $lead_order_randomize = 'N'; $lead_order_secondary = 'LEAD_ASCEND'; + $amd_inbound_group = ''; + $amd_callmenu = ''; } if ( (ereg('list_activation',$stage)) or (ereg('test_call',$stage)) ) { @@ -14683,13 +15933,17 @@ if ($ADD==41) else {$CIDstring = "$VqueryCID";} ### insert a NEW record to the vicidial_manager table to be processed - $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$SSactive_voicemail_server','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; + $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$old_server_ip','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; $rslt=mysql_query($stmtB, $link); ### insert a SENT record to the vicidial_auto_calls table - $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$SSactive_voicemail_server','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; + $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$old_server_ip','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; $rslt=mysql_query($stmtC, $link); + ### insert a record in the vicidial_dial_log table + $stmtD = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$old_server_ip',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $rslt=mysql_query($stmtD, $link); + ### LOG INSERTION Admin Log Table, for campaign ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -14830,7 +16084,7 @@ if ($ADD==41) if (strlen($groups_value)>2) {$groups_value .= " -";} } - $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_rafraîchir='$campaign_stats_rafraîchir',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check' where campaign_id='$campaign_id';"; + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_rafraîchir='$campaign_stats_rafraîchir',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check',in_group_dial='$in_group_dial',in_group_dial_select='$in_group_dial_select',safe_harbor_audio_field='$safe_harbor_audio_field',pause_after_next_call='$pause_after_next_call',owner_populate='$owner_populate',use_other_campaign_dnc='$use_other_campaign_dnc',allow_emails='$allow_emails',amd_inbound_group='$amd_inbound_group',amd_callmenu='$amd_callmenu' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmtA, $link); if ($reset_hopper == 'Y') @@ -15017,6 +16271,7 @@ if ($ADD==44) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $voicemail_ext = ''; } @@ -15280,7 +16535,7 @@ if ($ADD=='40A') { echo "
    SONDAGE SETTINGS mise à jour: $campaign_id\n"; - $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording' where campaign_id='$campaign_id';"; + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording',survey_wait_sec='$survey_wait_sec' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15464,37 +16719,44 @@ if ($ADD==49) ##### ADD a NEW list mix ##### if ($stage=='NEWMIX') { - echo ""; - - if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + if ($add_copy_disabled > 0) { - echo "
    MÉLANGE DE LISTE NON SUPPLÉMENTAIRE- Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; - echo "
    vcl_id must be between 1 and 20 characters in length\n"; - echo "
    vcl_name must be at least 2 characters in length\n"; + echo "
    Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) { - echo "
    MÉLANGE DE LISTE NON SUPPLÉMENTAIRE- Il y a déjà un mélange de liste avec cette identification dans lesystème\n"; + echo "
    MÉLANGE DE LISTE NON SUPPLÉMENTAIRE- Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name must be at least 2 characters in length\n"; } else { - $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    MÉLANGE DE LISTE NON SUPPLÉMENTAIRE- Il y a déjà un mélange de liste avec cette identification dans lesystème\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE LIST MIX', event_sql=\"$SQL_log\", event_notes='Liste Mix: $vcl_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AJOUTER UNE CAMPAGNE LIST MIX', event_sql=\"$SQL_log\", event_notes='Liste Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - echo "
    MÉLANGE DE LISTE SUPPLÉMENTAIRE :$campaign_id - $vcl_id - $vcl_name\n"; + echo "
    MÉLANGE DE LISTE SUPPLÉMENTAIRE :$campaign_id - $vcl_id - $vcl_name\n"; + } } } } @@ -15588,7 +16850,6 @@ if ($ADD==401) $stmt="UPDATE vicidial_xfer_presets SET preset_dtmf='$preset_dtmf',preset_number='$preset_number',preset_hide_number='$preset_hide_number' where campaign_id='$campaign_id' and preset_name='$preset_name';"; $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15655,12 +16916,19 @@ if ($ADD==411) else { if (strlen($reset_time) < 4) {$reset_time='';} + if (strlen($expiration_date) < 10) {$expiration_date='2099-12-31';} echo "
    LISTE MODIFIEE: $list_id\n"; - $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report' where list_id='$list_id';"; + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date' where list_id='$list_id';"; $rslt=mysql_query($stmt, $link); +## BEGIN QC Addition for Audited Comments + $stmt="INSERT INTO vicidial_lists_custom (audit_comments, list_id) VALUES ('" . mysql_real_escape_string($audit_comments) . "','$list_id') ON DUPLICATE KEY UPDATE audit_comments='" . mysql_real_escape_string($audit_comments) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} +## END QC Addition for Audited Comments + ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15705,7 +16973,7 @@ if ($ADD==411) # ADD=4111 modify in-group info in the system ###################### -if ($ADD==4111) +if ($ADD==4111 || $ADD==4811) { if ($SUB=='agents_select') { @@ -15867,7 +17135,7 @@ if ($ADD==4111) echo "
    GROUPE MODIFIE: $group_id\n"; - $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action' where group_id='$group_id';"; + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid' where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15886,7 +17154,7 @@ if ($ADD==4111) exit; } } - $ADD=3111; # go to in-group modification form below + $ADD-=1000; #$ADD=3111; # go to in-group modification form below } @@ -15949,7 +17217,7 @@ if ($ADD==4511) { echo "
    CALL MENU mise à jour: $menu_id\n"; - $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group' where menu_id='$menu_id';"; + $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group',qualify_sql='$qualify_sql' where menu_id='$menu_id';"; $rslt=mysql_query($stmt, $link); $h=0; @@ -16289,6 +17557,39 @@ if ($ADD==411111) } $allowed_reports = preg_replace("/,$/","",$new_field_value); + # update allowed_camapigns with values that the editor cant see http://www.vicidial.org/VICIDIALforum/viewtopic.php?f=5&t=26101 + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $changer_allowed_campaigns = preg_replace("/ -/",'',$LOGallowed_campaigns); + $changer_allowed_campaigns = explode(" ", $changer_allowed_campaigns); + + $stmt="SELECT allowed_campaigns FROM vicidial_user_groups WHERE user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $old_allowed_rows = mysql_num_rows($rslt); + if ($old_allowed_rows > 0) + { + $row=mysql_fetch_row($rslt); + $old_allowed = $row[0]; + } + if ( (!eregi("-ALL",$old_allowed)) ) + { + $invis_campaigns=""; + $campaigns_value = preg_replace("/ -/",'',$campaigns_value); + $old_allowed = preg_replace("/ -/",'',$old_allowed); + $old_allowed = explode(" ", $old_allowed); + + foreach ($old_allowed as $oac) + { + if (!in_array($oac, $changer_allowed_campaigns)) + { + $invis_campaigns .= "$oac "; + } + } + $campaigns_value .= " $invis_campaigns-"; + } + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement',agent_status_viewable_groups='$VGROUP_vgroups',agent_status_view_time='$agent_status_view_time',agent_call_log_view='$agent_call_log_view',agent_xfer_consultative='$agent_xfer_consultative',agent_xfer_dial_override='$agent_xfer_dial_override',agent_xfer_vm_transfer='$agent_xfer_vm_transfer',agent_xfer_blind_transfer='$agent_xfer_blind_transfer',agent_xfer_dial_with_customer='$agent_xfer_dial_with_customer',agent_xfer_park_customer_dial='$agent_xfer_park_customer_dial',agent_fullscreen='$agent_fullscreen',allowed_reports='$allowed_reports',webphone_url_override='" . mysql_real_escape_string($webphone_url_override) . "',webphone_systemkey_override='$webphone_systemkey_override',webphone_dialpad_override='$webphone_dialpad_override',admin_viewable_groups='$Vadmin_viewable_groups',admin_viewable_call_times='$Vadmin_viewable_call_times' where user_group='$OLDuser_group';"; $rslt=mysql_query($stmt, $link); @@ -16576,7 +17877,7 @@ if ($ADD==4111111111) $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } @@ -16590,6 +17891,48 @@ if ($ADD==4111111111) } +###################### +# ADD=4211111111 modify holiday in the system +###################### + +if ($ADD==4211111111) + { + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    VACANCES PAS MODIFIÉ - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    ID de vacances, le nom et la date doivent être remplis\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $stmt="UPDATE vicidial_call_time_holidays set holiday_name='$holiday_name', holiday_comments='$holiday_comments', holiday_date='$holiday_date', holiday_status='$holiday_status', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop',user_group='$user_group', default_afterhours_filename_override='$default_afterhours_filename_override' where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    HOLIDAY MODIFIÉ\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='MODIFY', record_id='$holiday_id', event_code='ADMIN MODIFY HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + $ADD=3211111111; # go to holiday modification form below + } + + ###################### # ADD=431111111 modify shift in the system ###################### @@ -16664,7 +18007,7 @@ if ($ADD==41111111111) { echo "
    TELEPHONE MODIFIE: $extension\n"; - $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_rafraîchir='$enable_fast_rafraîchir', fast_rafraîchir_rate='$fast_rafraîchir_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where extension='$old_extension' and server_ip='$old_server_ip';"; + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_rafraîchir='$enable_fast_rafraîchir', fast_rafraîchir_rate='$fast_rafraîchir_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where extension='$old_extension' and server_ip='$old_server_ip';"; $rslt=mysql_query($stmt, $link); $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; @@ -17115,15 +18458,18 @@ if ($ADD==471111111111) {echo "
    La boîte vocale PAS MODIFIÉ - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n";} else { - $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where voicemail_id='$voicemail_id';"; + $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|";} $stmt="SELECT active_voicemail_server from system_settings;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $sounds_updateSQL=''; + if ($SSallow_voicemail_greeting > 0) {$sounds_updateSQL = ",sounds_update='Y'";} + $stmtA="UPDATE servers SET rebuild_conf_files='Y'$sounds_updateSQL where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; $rslt=mysql_query($stmtA, $link); echo "
    La boîte vocale mise à jour: $voicemail_id\n"; @@ -17334,7 +18680,7 @@ if ($ADD==411111111111111) } $tables_use_alt_log_db = preg_replace("/,$/","",$new_altlog_value); - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_rafraîchir='$admin_modify_rafraîchir',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled';"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_rafraîchir='$admin_modify_rafraîchir',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add';"; $rslt=mysql_query($stmt, $link); if ($reload_dialplan_on_servers > 0) @@ -17934,6 +19280,30 @@ if ($ADD==5111111111) $ADD='3111111111'; # go to state call time modification below } + +###################### +# ADD=5211111111 confirmation before deletion of holiday record +###################### + +if ($ADD==5211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY pas supprimé - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    ID de vacances doit être d'au moins 2 caractères\n"; + } + else + { + echo "
    HOLIDAY Confirmation de suppression: $holiday_id\n"; + echo "

    Cliquez ici pour supprimer vacances $holiday_id


    \n"; + } + + $ADD='3211111111'; # go to holiday modification below + } + + ###################### # ADD=531111111 confirmation before deletion of shift record ###################### @@ -19413,6 +20783,64 @@ if ($ADD==6111111111) } +###################### +# ADD=6211111111 delete holiday record +###################### + +if ($ADD==6211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    HOLIDAY pas supprimé - Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    ID de vacances doit être d'au moins 2 caractères\n"; + } + else + { + $stmtA="DELETE from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="SELECT call_time_id,ct_holidays from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_ids[$o] = "$rowx[0]"; + $hct_holidays[$o] = "$rowx[1]"; + $o++; + } + $o=0; + while ($hct_to_print > $o) + { + $hct_holidays[$o] = eregi_replace("\|$holiday_id\|",'|',$hct_holidays[$o]); + $stmt="UPDATE vicidial_call_times set ct_holidays='$hct_holidays[$o]' where call_time_id='$hct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} + echo "Règle de vacances Enlevée: $hct_ids[$o]
    \n"; + $o++; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='DELETE', record_id='$holiday_id', event_code='ADMIN DELETE HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    SUPPRESSION DE VACANCES REMPLI: $holiday_id\n"; + echo "

    \n"; + } + + $ADD='1200000000'; # go to holidays list + } + + ###################### # ADD=631111111 delete shift record ###################### @@ -19988,7 +21416,7 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -20181,6 +21611,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -20193,7 +21630,7 @@ if ($ADD==3) echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -20291,6 +21728,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -20388,7 +21832,7 @@ if ($ADD==31) $enable_vtiger_integration_LU = $row[0]; $vtiger_url_LU = $row[1]; - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $campaign_name = $row[1]; @@ -20595,6 +22039,16 @@ if ($ADD==31) $callback_list_calltime = $row[202]; $user_group = $row[203]; $hopper_vlc_dup_check = $row[204]; + $in_group_dial = $row[205]; + $in_group_dial_select = $row[206]; + $safe_harbor_audio_field = $row[207]; + $pause_after_next_call = $row[208]; + $owner_populate = $row[209]; + $use_other_campaign_dnc = $row[210]; + $allow_emails = $row[211]; + $amd_inbound_group = $row[212]; + $amd_callmenu = $row[213]; + $survey_wait_sec = $row[214]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -20748,6 +22202,7 @@ if ($ADD==31) $nxLOGadmin_viewable_groupsSQL = $LOGadmin_viewable_groupsSQL; if (strlen($xfer_groupsSQL) < 6) {$nxLOGadmin_viewable_groupsSQL = $whereLOGadmin_viewable_groupsSQL;} + ##### get in-groups listings for dynamic transfer group pulldown list menu $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL $nxLOGadmin_viewable_groupsSQL order by group_id;"; $rslt=mysql_query($stmt, $link); @@ -20772,6 +22227,54 @@ if ($ADD==31) else {$Xgroups_menu .= "\n";} + ##### get in-groups listings for dynamic AMD inbound group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $AMDgroups_to_print = mysql_num_rows($rslt); + $AMDgroups_menu=''; + $AMDgroups_selected=0; + $o=0; + while ($AMDgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDgroups_menu .= "\n"; + $o++; + } + if ($AMDgroups_selected < 1) + {$AMDgroups_menu .= "\n";} + else + {$AMDgroups_menu .= "\n";} + + ##### get callmenus listings for dynamic AMD callmenu pulldown list menu + $stmt="SELECT menu_id from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $AMDmenus_to_print = mysql_num_rows($rslt); + $AMDmenus_menu=''; + $AMDmenus_selected=0; + $o=0; + while ($AMDmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDmenus_menu .= "\n"; + $o++; + } + if ($AMDmenus_selected < 1) + {$AMDmenus_menu .= "\n";} + else + {$AMDmenus_menu .= "\n";} + ##### get agent screen label listings for dynamic pulldown list menu $stmt="SELECT label_id,label_name from vicidial_screen_labels where active='Y' $LOGadmin_viewable_groupsSQL order by label_id;"; $rslt=mysql_query($stmt, $link); @@ -20829,7 +22332,7 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -20872,10 +22375,10 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -20884,7 +22387,7 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-user_group$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSenable_second_webform > 0) { @@ -20892,7 +22395,14 @@ if ($ADD==31) } echo "\n"; echo "\n"; - + if ($SSallow_emails > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -21296,9 +22806,26 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-local_call_time$NWE\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) { - echo "\n"; + echo "\n"; } echo "\n"; @@ -21326,11 +22853,11 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21352,7 +22879,7 @@ if ($ADD==31) {$cfwHTML = '';} echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; } echo "\n"; @@ -21430,11 +22967,13 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -21479,7 +23020,9 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; if ($SSuser_territories_active > 0) { @@ -21491,7 +23034,7 @@ if ($ADD==31) else {$ASLlink = "$PHP_SELF?ADD=381111111111&label_id=$screen_labels";} echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21505,9 +23048,11 @@ if ($ADD==31) echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21521,6 +23066,10 @@ if ($ADD==31) echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -21630,7 +23179,7 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; if ($campaign_allow_inbound == 'Y') { @@ -21691,7 +23240,9 @@ if ($ADD==31) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -21701,7 +23252,7 @@ if ($ADD==31) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -21733,21 +23284,27 @@ if ($ADD==31) echo ""; + echo ""; echo "\n"; $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $user_id = $row[0]; @@ -20087,6 +21515,8 @@ if ($ADD==3) $modify_same_user_level = $row[95]; $admin_hide_lead_data = $row[96]; $admin_hide_phone_data = $row[97]; + $agentcall_email = $row[98]; + $modify_email_accounts = $row[99]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -20147,7 +21577,7 @@ if ($ADD==3) echo "
    Login du téléphone: $NWB#vicidial_users-phone_login$NWE
    Mot de passe du téléphone: $NWB#vicidial_users-phone_pass$NWE
    Actif: $NWB#vicidial_users-active$NWE
    ID vocale: voicemail chooser$NWB#vicidial_users-voicemail_id$NWE
    ID vocale: sélecteur de boîte vocale$NWB#vicidial_users-voicemail_id$NWE
    Email:$NWB#vicidial_users-optional$NWE
    Utilisateur Code: $NWB#vicidial_users-optional$NWE
    Main Territoire: $NWB#vicidial_users-optional$NWE
    Rappels de service programmés: $NWB#vicidial_users-scheduled_callbacks$NWE
    Rappels de service d'agent-seulement: $NWB#vicidial_users-agentonly_callbacks$NWE
    Appel manuel de l'agent: $NWB#vicidial_users-agentcall_manual$NWE
    Agent Call Email:$NWB#vicidial_users-agentcall_email$NWE
    Enregistrement Vicidial: $NWB#vicidial_users-vicidial_recording$NWE
    Transferts Vicidial: $NWB#vicidial_users-vicidial_transfers$NWE
    Agent de l'exécution Shift Override: $NWB#vicidial_users-agent_shift_enforcement_override$NWE
    Agent Call Log Voir Override: $NWB#vicidial_users-agent_call_log_view_override$NWE
    Override Recherche Agent principal: $NWB#vicidial_users-agent_lead_search_override$NWE
    Override Recherche Agent principal: $NWB#vicidial_users-agent_lead_search_override$NWE
    Alerte Enabled: $alert_enabled $NWB#vicidial_users-alert_enabled$NWE
    Modifier Shifts: $NWB#vicidial_users-modify_sections$NWE
    ModifierMobiles: $NWB#vicidial_users-modify_sections$NWE
    ModifierCarriers: $NWB#vicidial_users-modify_sections$NWE
    Modifier Comptes de messagerie: $NWB#vicidial_users-modify_email_accounts$NWE
    ModifierLabels: $NWB#vicidial_users-modify_sections$NWE
    ModifierStatuts: $NWB#vicidial_users-modify_sections$NWE
    ModifierBoîte vocale: $NWB#vicidial_users-modify_sections$NWE
    Lead RecyclingRecyclage du plombAuto Alt DialListe MixSondage
    Description de la campagne: $NWB#vicidial_campaigns-campaign_description$NWE
    Campagne Changement Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Campagne Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Campagne Call Date: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    Campagne date d'appel: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    \n"; - horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1); + horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1,'',''); echo "
    Actif: $NWB#vicidial_campaigns-active$NWE
    Parc de la Musique-sur-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Parc de la Musique-sur-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Formulaire Web: $NWB#vicidial_campaigns-web_form_address$NWE
    Formulaire Web Public: $NWB#vicidial_campaigns-web_form_target$NWE
    Autoriser les closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Laisser Emails: $NWB#vicidial_campaigns-allow_emails$NWE
    Permettez d'arrivée et mélangé :$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    \n"; + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$local_call_time';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_state_call_times = $rowx[0]; + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + if ($ct_srs < 0) {$ct_hrs=0;} + echo "règles de l'Etat définies pour ce temps d'appel: $ct_srs\n"; + } + else + {echo "Call time not found!: $local_call_time\n";} + echo "
    Délai de tentative d'appel: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
    Délai de tentative d'appel: en secondes$NWB#vicidial_campaigns-dial_timeout$NWE
    Préfixe de numérotation: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
    Nom du fichier d'enregistrement de la campagne: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
    Délai d'enregistrement: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
    Délai d'enregistrement: en secondes$NWB#vicidial_campaigns-allcalls_delay$NWE
    Appelez-notes par Appel: $NWB#vicidial_campaigns-per_call_notes$NWE
    Recherche de plomb Agent: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Recherche de plomb Agent: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Méthode de recherche d'agent principal: $NWB#vicidial_campaigns-agent_lead_search_method$NWE
    Lancer l'appel: $NWB#vicidial_campaigns-get_call_launch$NWE
    Message de répondeur: audio chooser $NWB#vicidial_campaigns-am_message_exten$NWE\n"; + echo "
    Message de répondeur: audio sélecteur $NWB#vicidial_campaigns-am_message_exten$NWE\n"; $stmt="SELECT count(*) from vicidial_lists where campaign_id='$campaign_id' and am_message_exten_override != '' and active='Y' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $rowx=mysql_fetch_row($rslt); @@ -21364,9 +22891,19 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo "
    AMD envoyé au VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    AMD envoyer à l'action: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    CPD AMD Action: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    CPD AMD Action: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    AMD Entrant Groupe: $NWB#vicidial_campaigns-amd_inbound_group$NWE\n"; + echo "
    AMD Appel Menu: $NWB#vicidial_campaigns-amd_callmenu$NWE\n"; + echo "
    DTMF Transfert-Conf 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Extension du port sûr: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
    Safe Harbour Audio: audio chooser $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbour Audio: audio sélecteur $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbour Audio terrain: $NWB#vicidial_campaigns-safe_harbor_audio_field$NWE
    Coffre-fort Menu Appel port: $NWB#vicidial_campaigns-safe_harbor_menu_id$NWE
    Boîte vocale: voicemail chooser$NWB#vicidial_campaigns-voicemail_ext$NWE
    Boîte vocale: sélecteur de boîte vocale$NWB#vicidial_campaigns-voicemail_ext$NWE
    Drop de transfert du Groupe:
    Utilisez la liste de campagne DNC: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
    Autre Campagne DNC: $NWB#vicidial_campaigns-use_other_campaign_dnc$NWE
    AgentCodes De PauseActif: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
    Auto Pause pré-Appel de travail: $NWB#vicidial_campaigns-auto_pause_precall$NWE
    N Hopper Dialing: $NWB#vicidial_campaigns-no_hopper_dialing$NWE
    Propriétaire composer seulement: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Propriétaire composer seulement: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Propriétaire Remplir: $NWB#vicidial_campaigns-owner_populate$NWE
    Les étiquettes de l'écran de l'agent: $NWB#vicidial_campaigns-screen_labels$NWE
    Les champs d'affichage d'état: $NWB#vicidial_campaigns-status_display_fields$NWE
    Les champs d'affichage d'état: $NWB#vicidial_campaigns-status_display_fields$NWE
    Agent Chef de file d'attente d'affichage:$NWB#vicidial_campaigns-display_queue_count$NWE
    Agent Pause après chaque appel: $NWB#vicidial_campaigns-pause_after_each_call$NWE
    Agent Pause après appel Lien suivant: $NWB#vicidial_campaigns-pause_after_next_call$NWE
    Composition manuelle Override: $NWB#vicidial_campaigns-manual_dial_override$NWE
    Identification Manuelle De Liste De Cadran :$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Identification Manuelle De Liste De Cadran :$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Manuelle Filter:$NWB#vicidial_campaigns-manual_dial_filter$NWE
    Message Téléphone Décalage horaire alerte: $NWB#vicidial_campaigns-post_phone_time_diff_alert$NWE
    In-Group Composition manuelle: $NWB#vicidial_campaigns-in_group_dial$NWE
    In-Group Manuel molette SELECT: $NWB#vicidial_campaigns-in_group_dial_select$NWE
    Agent de copie d'écran du Presse-papiers: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
    Avis aveugles Moniteur: $NWB#vicidial_campaigns-blind_monitor_message$NWE
    Nom du moniteur aveugles: audio chooser $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    Nom du moniteur aveugles: audio sélecteur $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    NOM DE LA LISTEDESCRIPTIONABOUTIT COUNTACTIFACTIFLAST CALL DATEMODIFIER
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]MODIFIER

    \n"; $filterSQL = $filtersql_list[$lead_filter_id]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -21806,7 +23363,7 @@ if ($ADD==31) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -21964,6 +23521,18 @@ if ($ADD==31) { if ( ($SStest_campaign_calls > 0) and ($campaign_active == 'Y') ) { + ##### get list of active asterisk server for dynamic pulldown list menu + $stmt="SELECT server_id,server_ip from servers where active='Y' and active_asterisk_server='Y' $LOGadmin_viewable_groupsSQL order by server_id;"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_menu="\n"; + $os=0; + while ($servers_to_print > $os) + { + $rowx=mysql_fetch_row($rslt); + $servers_menu .= "\n"; + $os++; + } echo "
    \n"; echo "\n"; echo "\n"; @@ -21976,8 +23545,9 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "Testez des appels sortants: "; - echo "code:   "; - echo "number:   "; + echo "code:   "; + echo "numéro:   "; + echo "serveur:   "; echo "   $NWB#settings-test_campaign_calls$NWE


    \n"; } else @@ -22169,8 +23739,10 @@ if ($ADD==31) echo "   \n"; echo "Etat:   \n"; echo "
    \n"; echo "
    \n"; @@ -22446,29 +24018,30 @@ if ($ADD==31) echo "
    \n"; echo "\n"; - echo "
    Enquête Premier fichier audio: audio chooser $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Enquête Premier fichier audio: audio sélecteur $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Enquête DTMF Digits: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
    Enquête Non Intéressé Digit: $NWB#vicidial_campaigns-survey_ni_digit$NWE
    Enquête sur Opt-in audio de dossier: audio chooser $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Enquête Non Intéressé fichier audio: audio chooser $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Enquête Attendez secondes: $NWB#vicidial_campaigns-survey_wait_sec$NWE
    Enquête sur Opt-in audio de dossier: audio sélecteur $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Enquête Non Intéressé fichier audio: audio sélecteur $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Enquête sur la méthode: $NWB#vicidial_campaigns-survey_method$NWE
    Etude de non-réponse de l'action: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Etude de non-réponse de l'action: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Enquête Non Intéressé Etat: $NWB#vicidial_campaigns-survey_ni_status$NWE
    Enquête sur le troisième chiffre: $NWB#vicidial_campaigns-survey_third_digit$NWE
    Troisième enquête sur Fichier Audio: audio chooser $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Troisième enquête sur Fichier Audio: audio sélecteur $NWB#vicidial_campaigns-survey_third_audio_file$NWE
    Troisième enquête Etat: $NWB#vicidial_campaigns-survey_third_status$NWE
    Enquête Troisième prorogation: $NWB#vicidial_campaigns-survey_third_exten$NWE
    Enquête quatrième chiffre: $NWB#vicidial_campaigns-survey_fourth_digit$NWE
    Quatrième étude Fichier Audio: audio chooser $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Quatrième étude Fichier Audio: audio sélecteur $NWB#vicidial_campaigns-survey_fourth_audio_file$NWE
    Quatrième enquête sur l-état: $NWB#vicidial_campaigns-survey_fourth_status$NWE
    Quatrième enquête Extension: $NWB#vicidial_campaigns-survey_fourth_exten$NWE
    Enquête sur la carte réponse Digit: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
    Sondage Enquête Xfer Extension: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
    Enquête sur la campagne d'enregistrement du répertoire: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
    Boîte vocale: voicemail chooser $NWB#vicidial_campaigns-voicemail_ext$NWE
    Boîte vocale: sélecteur de boîte vocale $NWB#vicidial_campaigns-voicemail_ext$NWE
    Menu Appel Enquête: $NWB#vicidial_campaigns-survey_menu_id$NWE
    Enregistrement Enquête: $NWB#vicidial_campaigns-survey_recording$NWE
    Formulaire Web: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
    Autoriser les closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
    Groupe De Transfert De Défaut :$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
    Laisser Emails: $allow_emails $NWB#vicidial_campaigns-allow_emails$NWE
    Permettez d'arrivée et mélangé :$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    NOM DE LA LISTEDESCRIPTIONABOUTIT COUNTACTIFACTIFLAST CALL DATEMODIFIER
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]MODIFIER

    \n"; echo "
    \n"; @@ -23188,7 +24775,7 @@ if ($ADD==34) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -24156,8 +25743,9 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + + echo "\n"; + + if($audit_comments=='1') { + echo "\n"; + } else { + echo "\n"; + } echo "\n"; echo "\n"; @@ -24284,7 +25904,7 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -24342,7 +25962,7 @@ if ($ADD==311) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -24901,7 +26521,7 @@ if ($ADD==3111) echo "
    \n"; echo ""; - $stmt="SELECT list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report from vicidial_lists where list_id='$list_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} $row=mysql_fetch_row($rslt); $list_name = $row[1]; $campaign_id = $row[2]; @@ -24179,6 +25767,9 @@ if ($ADD==311) $web_form_address_two = $row[18]; $time_zone_setting = $row[19]; $inventory_report = $row[20]; + $audit_comments = $row[21]; + $expiration_date = $row[22]; + $expiration_dateINT = $row[23]; # grab names of global statuses and statuses in the selected campaign $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; @@ -24247,7 +25838,7 @@ if ($ADD==311) {$Dgroups_menu .= "\n";} - echo "
    MODIFIER UN ENREGISTREMENT DE LA LISTE: $list_id
    \n"; + echo "
    MODIFIER UN ENREGISTREMENT DE LA LISTE: $list_id\n"; echo "\n"; echo "\n"; echo "\n"; @@ -24271,9 +25862,38 @@ if ($ADD==311) echo "$campaigns_list"; echo "\n"; echo "$NWB#vicidial_lists-campaign_id$NWE
    Actif: $NWB#vicidial_lists-active$NWE
    Actif: $NWB#vicidial_lists-active$NWE \n"; + if ( ($expiration_dateINT < $EXPtestdate) and ($active == 'Y') ) + {echo "     LISTE expiré et défini comme actif";} + echo "
    Réinitialiser les statuts des fiches appelées pour cette liste: $NWB#vicidial_lists-reset_list$NWE
    Reset Times: $NWB#vicidial_lists-reset_time$NWE
    Date d'expiration: \n"; + echo " $NWB#vicidial_lists-expiration_date$NWE \n"; + if ($expiration_dateINT < $EXPtestdate) + { + if ($active == 'Y') + {echo "     LISTE expiré et défini comme actif";} + else + {echo "     LIST EXPIRED";} + } + echo "
    Commentaires de vérification: $NWB#vicidial_lists-audit_comments$NWE
    Commentaires de vérification: $NWB#vicidial_lists-audit_comments$NWE
    Date de changement de la liste: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    Liste Date Last Call: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    Campagne CID Override: $NWB#vicidial_lists-campaign_cid_override$NWE
    Message de répondeur Override: audio chooser $NWB#vicidial_lists-am_message_exten_override$NWE
    Message de répondeur Override: audio sélecteur $NWB#vicidial_lists-am_message_exten_override$NWE
    Drop Entrant Groupe Override:
    numéro de Transfer-Conf 5 Override: $NWB#vicidial_lists-xferconf_a_dtmf$NWE
    Rapport d'inventaire: $NWB#vicidial_lists-inventory_report$NWE
    Rapport d inventaire: $NWB#vicidial_lists-inventory_report$NWE
    Réglage du fuseau horaire: $NWB#vicidial_lists-time_zone_setting$NWE
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25361,7 +27000,7 @@ if ($ADD==3111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25381,21 +27020,21 @@ if ($ADD==3111) echo "$Wmenuslist"; echo "$NWB#vicidial_inbound_groups-wait_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25415,23 +27054,23 @@ if ($ADD==3111) echo "$Xmenuslist"; echo "$NWB#vicidial_inbound_groups-hold_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25464,6 +27103,8 @@ if ($ADD==3111) echo "$group_alias_menu"; echo "$NWB#vicidial_inbound_groups-default_group_alias$NWE\n"; + echo "\n"; + echo "\n"; @@ -25890,6 +27531,708 @@ if ($ADD==3111) +###################### +# ADD=3811 modify in-group info in the system +###################### + +if ($ADD==3811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + if ( ($SSadmin_modify_rafraîchir > 1) and ($modify_rafraîchir_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3811&group_id=$group_id"; + $modify_footer_rafraîchir=1; + } + echo "
    \n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -25016,6 +26636,8 @@ if ($ADD==3111) $max_calls_method = $row[109]; $max_calls_count = $row[110]; $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; ##### get callmenu listings for dynamic pulldown $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; @@ -25155,7 +26777,7 @@ if ($ADD==3111) echo "
    En-Groupe Calldate: $group_calldate$NWB#vicidial_inbound_groups-group_calldate$NWE
    \n"; - horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1,'',''); echo "
    Groupe d'utilisateurs d'administration:
    Extension d'abandon: $NWB#vicidial_inbound_groups-drop_exten$NWE
    Boîte vocale: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Boîte vocale: sélecteur de boîte vocale$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Drop Transfer Group: $NWB#vicidial_inbound_groups-call_time_id$NWE
    \n"; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "Fêtes defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!: $call_time_id\n";} + echo "
    Transfert d'action CID: $NWB#vicidial_inbound_groups-action_xfer_cid$NWE
    Après Action D'Heures :$NWB#vicidial_inbound_groups-after_hours_action$NWE
    Après Nom de fichier De Message D'Heures : audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Après Nom de fichier De Message D'Heures : audio sélecteur $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Après Prolongation D'Heures :$NWB#vicidial_inbound_groups-after_hours_exten$NWE
    Après Des Heures Boîte vocale : voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Après Des Heures Boîte vocale : sélecteur de boîte vocale$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    After Hours Transfer Group: \n"; echo "
    Méthode de recherche: \n"; - echo "   ID de la liste: "; + echo "   ID de la liste: "; echo "
    ID de la campagne: \n"; echo "   Phone Code: "; @@ -25316,7 +26955,7 @@ if ($ADD==3111) { if (strlen($no_agent_action_value) < 3) {$no_agent_action_value = 'nbdy-avail-to-take-call|vm-goodbye';} - echo "fichier audio: audio chooser\n"; + echo "fichier audio: audio sélecteur\n"; } if ($no_agent_action=='EXTENSION') { @@ -25329,7 +26968,7 @@ if ($ADD==3111) } if ($no_agent_action=='VOICEMAIL') { - echo "Boîte vocale: voicemail chooser\n"; + echo "Boîte vocale: sélecteur de boîte vocale\n"; } echo " @@ -25341,13 +26980,13 @@ if ($ADD==3111) echo "
    Max Appels d'action: $NWB#vicidial_inbound_groups-max_calls_action$NWE
    Nom de fichier Bienvenu De Message : audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Nom de fichier Bienvenu De Message : audio sélecteur $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Play Message de bienvenue:$NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Musique Sur Le Contexte De Prise : moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Musique Sur Le Contexte De Prise : moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Sur Le Nom de fichier De Message de sollicitation De Prise : audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Sur Le Nom de fichier De Message de sollicitation De Prise : audio sélecteur $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    Sur L'Intervalle De Message de sollicitation De Prise :$NWB#vicidial_inbound_groups-prompt_interval$NWE
    Calculer secondes Attente Estimation: $NWB#vicidial_inbound_groups-calculate_estimated_hold_seconds$NWE
    Estimation Tenez Nom minimum de temps: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Estimation Tenez Nom minimum de temps: audio sélecteur $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Estimation minimale Hold Time Demander Non Bloquer: $NWB#vicidial_inbound_groups-eht_minimum_prompt_no_block$NWE
    Attendre la messagerie vocale Option Temps: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Attendre la messagerie vocale Option Temps: sélecteur de boîte vocale $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Attendre transfert Option Temps En-Groupe: $NWB#vicidial_inbound_groups-wait_time_option_xfer_group$NWE
    Attendre Nom de presse Heure Option: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Attendre Nom de presse Heure Option: audio sélecteur $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Attendre Appuyez sur Option No Time Bloquer: $NWB#vicidial_inbound_groups-wait_time_option_no_block$NWE
    Les temps d'attente secondes Appuyez sur Option Nom de fichier: $NWB#vicidial_inbound_groups-wait_time_option_prompt_seconds$NWE
    Attendre Option Time After Nom de presse: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Attendre Option Time After Nom de presse: audio sélecteur $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Attendre Option Temps liste de rappel ID: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Attendre Option Temps liste de rappel ID: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Attendre Tenez priorité Option: $NWB#vicidial_inbound_groups-wait_hold_option_priority$NWE
    Hold Time Option de messagerie vocale: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Hold Time Option de messagerie vocale: sélecteur de boîte vocale $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Hold Time Option de transfert en groupe:$NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Tenez Nom de presse Heure Option: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Tenez Nom de presse Heure Option: audio sélecteur $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Maintenez Appuyez sur Option No Time Bloquer: $NWB#vicidial_inbound_groups-hold_time_option_no_block$NWE
    Hold Time Seconds Appuyez sur Option Nom de fichier: $NWB#vicidial_inbound_groups-hold_time_option_prompt_seconds$NWE
    Tenez Option Time After Nom de presse: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Tenez Option Time After Nom de presse: audio sélecteur $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Hold Time Option Callback Liste ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Hold Time Option Callback Liste ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Agent d-alerte Filename: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agent d-alerte Filename: audio sélecteur $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    L'Alerte D'Agent Retardent :$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Composez In-groupe CID: $NWB#vicidial_inbound_groups-dial_ingroup_cid$NWE
    Hold Recall transfert en groupe:$NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = stripslashes($row[4]); + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = stripslashes($row[39]); + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + $default_group_alias = $row[55]; + $no_agent_no_queue = $row[56]; + $no_agent_action = $row[57]; + $no_agent_action_value = $row[58]; + $web_form_address_two = stripslashes($row[59]); + $timer_action = $row[60]; + $timer_action_message = $row[61]; + $timer_action_seconds = $row[62]; + $start_call_url = $row[63]; + $dispo_call_url = $row[64]; + $ignore_list_script_override = $row[68]; + $extension_appended_cidname = $row[69]; + $uniqueid_status_display = $row[70]; + $uniqueid_status_prefix = $row[71]; + $hold_time_option_minimum = $row[72]; + $hold_time_option_press_filename = $row[73]; + $hold_time_option_callmenu = $row[74]; + $onhold_prompt_no_block = $row[75]; + $onhold_prompt_seconds = $row[76]; + $hold_time_option_no_block = $row[77]; + $hold_time_option_prompt_seconds = $row[78]; + $hold_time_second_option = $row[79]; + $hold_time_third_option = $row[80]; + $wait_hold_option_priority = $row[81]; + $wait_time_option = $row[82]; + $wait_time_second_option = $row[83]; + $wait_time_third_option = $row[84]; + $wait_time_option_seconds = $row[85]; + $wait_time_option_exten = $row[86]; + $wait_time_option_voicemail = $row[87]; + $wait_time_option_xfer_group = $row[88]; + $wait_time_option_callmenu = $row[89]; + $wait_time_option_callback_filename = $row[90]; + $wait_time_option_callback_list_id = $row[91]; + $wait_time_option_press_filename = $row[92]; + $wait_time_option_no_block = $row[93]; + $wait_time_option_prompt_seconds = $row[94]; + $timer_action_destination = $row[95]; + $calculate_estimated_hold_seconds = $row[96]; + $add_lead_url = $row[97]; + $eht_minimum_prompt_filename = $row[98]; + $eht_minimum_prompt_no_block = $row[99]; + $eht_minimum_prompt_seconds = $row[100]; + $na_call_url = $row[102]; + $group_calldate = $row[104]; + $action_xfer_cid = $row[105]; + $drop_callmenu = $row[106]; + $after_hours_callmenu = $row[107]; + $user_group = $row[108]; + $max_calls_method = $row[109]; + $max_calls_count = $row[110]; + $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; + + ##### get callmenu listings for dynamic pulldown + $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $Xmenus_to_print = mysql_num_rows($rslt); + $o=0; + $Xmenuslist=''; + $Wmenuslist=''; + while ($Xmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xmenuslist .= "\n"; + $Wmenuslist .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $o++; + } + if ($Xmenus_selected < 1) + {$Xmenuslist .= "\n";} + if ($Wmenus_selected < 1) + {$Wmenuslist .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Wgroups_menu=''; + $Wgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Wgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Wgroups_selected < 1) + {$Wgroups_menu .= "\n";} + else + {$Wgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
    MODIFY AN EMAIL GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + if ($SSenable_second_webform > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + +/* Commenting this out because it is handled by the Email Account section and is redundant here + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +*/ + + + echo "\n"; + + echo "\n"; + + # echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts $whereLOGadmin_viewable_groupsSQL order by shift_id;"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    ID du groupe: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Nom du groupe: $NWB#vicidial_inbound_groups-group_name$NWE
    Couleur du groupe: $NWB#vicidial_inbound_groups-group_color$NWE
    Actif: $NWB#vicidial_inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#vicidial_inbound_groups-group_emaildate$NWE
    \n"; + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + echo "
    Groupe d'utilisateurs d'administration: $NWB#vicidial_inbound_groups-user_group$NWE
    Formulaire Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Formulaire Web Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Suivant Agent Email:$NWB#vicidial_inbound_groups-next_agent_email$NWE
    File d'attente de priorité: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Affichage de l'enseigne: $NWB#vicidial_inbound_groups-fronter_display$NWE
    In-Call Groupe Handle Méthode:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    En groupe Agent Méthode de recherche:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    In-Liste du groupe ID:$NWB#vicidial_inbound_dids-list_id$NWE
    En-groupe ID de la campagne:$NWB#vicidial_inbound_dids-campaign_id$NWE
    Commencez Email URL: $NWB#vicidial_inbound_groups-start_email_url$NWE
    Dispo Email URL: $NWB#vicidial_inbound_groups-dispo_email_url$NWE
    Ajouter plomb URL: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    Aucun agent de courrier électronique URL: $NWB#vicidial_inbound_groups-na_email_url$NWE
    Extension Ajoutez CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    Affichage de l'état uniqueid: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    Préfixe Statut uniqueid: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
     
    Entrant Groupe QC Paramètres:
    QC Enabled: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    QC Statut:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC WebForm:$NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    QC Script: $NWB#vicidial_inbound_groups-qc_script$NWE
    QC Shift: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    Get Lancement Record QC: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    QC Voir l'enregistrement: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    \n"; + echo "


    \n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
    \n"; + echo "
    AGENT RANKS FOR THIS INBOUND GROUP:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,full_name,closer_campaigns,user_group from vicidial_users where active='Y' $LOGadmin_viewable_groupsSQL order by user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_name[$o] = $rowx[1]; + $ARIG_close[$o] = $rowx[2]; + $ARIG_group[$o] = $rowx[3]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + + $o=0; + $ARIG_changenotes=''; + $stmtDlog=''; + while ($users_to_print > $o) + { + $o++; + $stmt="SELECT group_rank,calls_today,group_grade from vicidial_inbound_group_agents where group_id='$group_id' and user='$ARIG_user[$o]';"; + $rsltx=mysql_query($stmt, $link); + $viga_to_print = mysql_num_rows($rsltx); + if ($viga_to_print > 0) + { + $rowx=mysql_fetch_row($rsltx); + $ARIG_rank[$o] = $rowx[0]; + $ARIG_calls[$o] = $rowx[1]; + $ARIG_grade[$o] = $rowx[2]; + } + else + { + $stmtD="INSERT INTO vicidial_inbound_group_agents set calls_today='0',group_rank='0',group_weight='0',user='$ARIG_user[$o]',group_id='$group_id',group_grade='1';"; + $rslt=mysql_query($stmtD, $link); + if ($DB > 0) {echo "|$stmtD|";} + $stmtDlog .= "$stmtD|"; + $ARIG_changenotes .= "added missing user to viga table $ARIG_user[$o]|"; + $ARIG_rank[$o] = '0'; + $ARIG_calls[$o] = '0'; + $ARIG_grade[$o] = '1'; + } + } + if (strlen($ARIG_changenotes) > 10) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtDlog|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + if ($stage=='VALIDER') + { + $o=0; + while ($users_to_print > $o) + { + $o++; + + $ARIG_checked=''; + $ARIG_ranked=''; + $ARIG_graded=''; + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + + if (isset($_GET["$checkbox_field"])) {$ARIG_checked=$_GET["$checkbox_field"];} + elseif (isset($_POST["$checkbox_field"])) {$ARIG_checked=$_POST["$checkbox_field"];} + if (isset($_GET["$rank_field"])) {$ARIG_ranked=$_GET["$rank_field"];} + elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} + if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} + elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} + $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); + $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); + $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + + $stmtA=''; + $stmtB=''; + $stmtC=''; + $ARIG_updated=0; + $ARIG_changenotes=''; + if ( ($ARIG_check[$o]=='') and ($ARIG_checked=='YES') ) + { + if (strlen($ARIG_close[$o]) < 4) {$ARIG_close[$o]=' - ';} + $stmtA="UPDATE vicidial_users set closer_campaigns=' $group_id$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtA, $link); + if ($DB > 0) {echo "|$stmtA|";} + $ARIG_updated++; + $ARIG_changenotes .= "added $group_id to selected in-groups|"; + } + if ( ($ARIG_check[$o]==' CHECKED') and ($ARIG_checked=='') ) + { + $ARIG_close[$o] = preg_replace("/ $group_id /",' ',$ARIG_close[$o]); + $stmtB="UPDATE vicidial_users set closer_campaigns='$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtB, $link); + if ($DB > 0) {echo "|$stmtB|";} + $ARIG_updated++; + $ARIG_changenotes .= "removed $group_id from selected in-groups|"; + } + if ( ($ARIG_ranked < $ARIG_rank[$o]) or ($ARIG_ranked > $ARIG_rank[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_rank='$ARIG_ranked',group_weight='$ARIG_ranked' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed rank from $ARIG_rank[$o] to $ARIG_ranked|"; + } + if ( ($ARIG_graded < $ARIG_grade[$o]) or ($ARIG_graded > $ARIG_grade[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_grade='$ARIG_graded' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed grade from $ARIG_grade[$o] to $ARIG_graded|"; + } + if ($ARIG_updated > 0) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='UTILISATEURS', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + + $stmt="SELECT vu.user,viga.group_rank,calls_today,full_name,closer_campaigns,viga.group_grade from vicidial_inbound_group_agents viga, vicidial_users vu where group_id='$group_id' and active='Y' and vu.user=viga.user $LOGadmin_viewable_groupsSQL order by vu.user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_rank[$o] = $rowx[1]; + $ARIG_calls[$o] = $rowx[2]; + $ARIG_name[$o] = $rowx[3]; + $ARIG_close[$o] = $rowx[4]; + $ARIG_grade[$o] = $rowx[5]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + } + + $checkbox_count=0; + $o=0; + while ($users_to_print > $o) + { + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + $checkbox_list .= "|$checkbox_field"; + $checkbox_count++; + + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + + echo "$users_output"; + + echo "\n"; + + echo "
    USERGROUPSELECTED     RANK     GRADE     CALLS TODAY
    $ARIG_user[$o] - $ARIG_name[$o]$ARIG_group[$o]     select all  

    \n"; + + echo "
    Cliquez ici pour voir un rapport de ce groupe d'entrants

    \n"; + + echo "Cliquez ici pour voir les agents connectés à ce groupe entrant

    \n"; + + echo "
    \n"; + + echo "comptes de messagerie UTILISANT CE EN GROUPE:
    \n"; + echo "\n"; + + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $emails_to_print = mysql_num_rows($rslt); + $o=0; + while ($emails_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]

    \n"; + echo "CAMPAGNES DE PERMETTRE DANS CE GROUPE:
    \n"; + echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where closer_campaigns LIKE \"% $group_id %\" $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $campin_to_print = mysql_num_rows($rslt); + $o=0; + while ($campin_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + + if ($LOGdelete_ingroups > 0) + { + # echo "

    EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

    \n"; + echo "

    SUPPRIMER CE IN-GROUP\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Cliquez ici pour voir les changements d'administration à cette En-Groupe
    \n"; + } + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + + } + + + ###################### # ADD=3311 modify did info in the system ###################### @@ -26053,8 +28396,10 @@ if ($ADD==3311) echo "
    Modifier un DID RECORD:$row[0]
    \n"; echo "\n"; echo "\n"; + echo "\n"; echo "
    \n"; - echo "\n"; + # echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "
    DID Extension:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Extension:$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Extension:$did_pattern $NWB#vicidial_inbound_dids-did_pattern$NWE
    A Description:$NWB#vicidial_inbound_dids-did_description$NWE
    Actif: $NWB#vicidial_inbound_dids-did_active$NWE
    Groupe d'utilisateurs d'administration:
    Enregistrement de l'appel: $NWB#vicidial_inbound_dids-record_call$NWE
    Extension:$NWB#vicidial_inbound_dids-extension$NWE
    Extension Contexte:$NWB#vicidial_inbound_dids-exten_context$NWE
    Boîte vocale: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Boîte vocale: sélecteur de boîte vocale$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Téléphone Extension:$NWB#vicidial_inbound_dids-phone$NWE
    IP du serveur:
    Utilisateur Settings En Route-Group:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    In-ID du groupe:
    ID en groupe: $NWB#vicidial_inbound_dids-group_id$NWE
    In-Call Groupe Handle Méthode:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    En groupe Agent Méthode de recherche:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    In-Liste du groupe ID:$NWB#vicidial_inbound_dids-list_id$NWE
    In-Liste du groupe ID:$NWB#vicidial_inbound_dids-list_id$NWE
    En-groupe ID de la campagne:
    Filter Extension:$NWB#vicidial_inbound_dids-extension$NWE
    Filter Extension Contexte:$NWB#vicidial_inbound_dids-exten_context$NWE
    Filter Boîte vocale: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Boîte vocale: sélecteur de boîte vocale$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Téléphone Extension:$NWB#vicidial_inbound_dids-phone$NWE
    Filter IP du serveur:
    Filter Utilisateur Settings En Route-Group:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    Filter In-ID du groupe:
    Filter ID en groupe: $NWB#vicidial_inbound_dids-group_id$NWE
    Filter In-Call Groupe Handle Méthode:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Filter En groupe Agent Méthode de recherche:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Filter In-Liste du groupe ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter In-Liste du groupe ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter En-groupe ID de la campagne:\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-call_time_id$NWE "; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "   Fêtes defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!\n";} + echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-dtmf_field$NWE\n"; echo "\n"; echo "\n"; @@ -26603,7 +28980,7 @@ if ($ADD==3511) $j=0; while ($menus_to_print > $j) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $option_value = $Aoption_value[$j]; $option_description = $Aoption_description[$j]; $option_route = $Aoption_route[$j]; @@ -26677,13 +29054,13 @@ if ($ADD==3511) echo "$IGhandle_method_list $NWB#vicidial_call_menu-ingroup_settings$NWE\n"; echo "
    Méthode de recherche: \n"; - echo "   ID de la liste: "; + echo "   ID de la liste: "; echo "
    ID de la campagne: \n"; echo "   Phone Code: "; - echo "
      VID Entrez Nom: audio chooser"; - echo "
      Nom du fichier VID Numéro d'identification: audio chooser"; - echo "
      VID Confirmer Nom: audio chooser"; + echo "
      VID Entrez Nom: audio sélecteur"; + echo "
      Nom du fichier VID Numéro d'identification: audio sélecteur"; + echo "
      VID Confirmer Nom: audio sélecteur"; echo "   Chiffres VID: "; } if ($option_route=='DID') @@ -26700,7 +29077,7 @@ if ($ADD==3511) } if ($option_route=='HANGUP') { - echo "fichier audio: audio chooser\n"; + echo "fichier audio: audio sélecteur\n"; } if ($option_route=='EXTENSION') { @@ -26712,7 +29089,7 @@ if ($ADD==3511) } if ($option_route=='VOICEMAIL') { - echo "Boîte vocale:voicemail chooser\n"; + echo "Boîte vocale:sélecteur de boîte vocale\n"; } if ($option_route=='AGI') { @@ -26726,7 +29103,7 @@ if ($ADD==3511) while ($j <= 20) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $dtmf_list = "\n"; } + if ($SScall_menu_qualify_enabled > 0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $menu_name = $row[0]; @@ -26521,6 +28873,7 @@ if ($ADD==3511) $dtmf_log = $row[11]; $dtmf_field = $row[12]; $user_group = $row[13]; + $qualify_sql = $row[14]; echo "
    MODIFIER UN APPEL Record menu: $menu_id\n"; @@ -26533,10 +28886,10 @@ if ($ADD==3511) echo "$UUgroups_list"; echo "\n"; echo "$NWB#vicidial_call_menu-user_group$NWE
    Menu rapide: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Menu rapide: audio sélecteur $NWB#vicidial_call_menu-menu_prompt$NWE
    Menu Timeout: $NWB#vicidial_call_menu-menu_timeout$NWE
    Menu prompt timeout: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Menu Blancs Prompt: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menu prompt timeout: audio sélecteur $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Menu Blancs Prompt: audio sélecteur $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menu Répétez: $NWB#vicidial_call_menu-menu_repeat$NWE
    Menu Heure Départ:
    Temps D'Appel :$NWB#vicidial_call_menu-call_time_id$NWE
    Le suivi des appels dans Real-Time Report: $NWB#vicidial_call_menu-dtmf_log$NWE     Connectez-vous Champ: \n"; - echo "$NWB#vicidial_call_menu-dtmf_field$NWE
    Appel du menu Options:
    Entrée personnalisée Dialplan: Disabled $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Qualifiez-SQL:
    $NWB#vicidial_call_menu-qualify_sql$NWE
    \n"; echo "

    \n"; @@ -26904,7 +29288,7 @@ if ($ADD==31111) echo "
    Temps Ring On-Hook: $NWB#vicidial_remote_agents-on_hook_ring_time$NWE
    \n"; - horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1); + horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1,'',''); echo "
    Groupes entrants: \n"; @@ -27474,7 +29858,7 @@ if ($ADD==3111111) echo "
    Texte du script:

    Prévisualisation du script
    "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -27714,6 +30099,7 @@ if ($ADD==321111111) $modify_url = "$PHP_SELF?ADD=311111111&call_time_id=$call_time_id"; $modify_footer_rafraîchir=1; } + ### add-remove state rule if ( ($stage=="ADD") and (strlen($state_rule)>0) ) { $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; @@ -27727,6 +30113,15 @@ if ($ADD==321111111) {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD STATE RULE', event_sql=\"$SQL_log\", event_notes='Règle d'état ajoutée: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Règle d'état ajoutée: $state_rule
    \n"; } if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) @@ -27739,8 +30134,63 @@ if ($ADD==321111111) $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE STATE RULE', event_sql=\"$SQL_log\", event_notes='Règle d'état supprimée: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Règle d'état supprimée: $state_rule
    \n"; } + ### add-remove holiday rule + if ( ($stage=="ADD") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + if (eregi("\|$",$ct_holidays)) + {$ct_holidays = "$ct_holidays$holiday_rule\|";} + else + {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Règle de vacances Ajouté: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Règle de vacances Ajouté: $holiday_rule
    \n"; + } + if ( ($stage=="REMOVE") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Règle de vacances Enlevée: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Règle de vacances Enlevée: $holiday_rule
    \n"; + } $ADD=311111111; } @@ -27767,7 +30217,7 @@ if ($ADD==311111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; $ct_srs=1; @@ -27875,6 +30326,60 @@ if ($ADD==311111111) echo "\n"; echo "\n"; + + $ct_hrs=1; + $b=0; + $hrs_SQL =''; + if (strlen($ct_holidays)>2) + { + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 1); + } + echo "\n"; + echo "\n"; + while($ct_hrs >= $b) + { + if (strlen($holiday_rules[$b])>0) + { + $stmt="SELECT holiday_date,holiday_name from vicidial_call_time_holidays where holiday_id='$holiday_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $hrs_SQL .= "'$holiday_rules[$b]',"; + $hrs_holiday_SQL .= "'$row[0]',"; + } + $b++; + } + if (strlen($hrs_SQL)>2) + { + $hrs_SQL = "$hrs_SQL''"; + $hrs_holiday_SQL = "$hrs_holiday_SQL''"; + $hrs_SQL = "where holiday_id NOT IN($hrs_SQL) and holiday_date NOT IN($hrs_holiday_SQL) $LOGadmin_viewable_groupsSQL"; + } + else + {$hrs_SQL="$whereLOGadmin_viewable_groupsSQL";} + $stmt="SELECT holiday_id,holiday_date from vicidial_call_time_holidays $hrs_SQL order by holiday_date;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_list .= "\n"; + $o++; + } + echo "\n"; + echo "\n"; + + echo "
    \n"; echo ""; - $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group,ct_holidays from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $call_time_name = $row[1]; @@ -27798,6 +30248,7 @@ if ($ADD==311111111) $friday_afterhours_filename_override = $row[26]; $saturday_afterhours_filename_override = $row[27]; $user_group = $row[28]; + $ct_holidays = $row[29]; echo ""; @@ -27809,18 +30260,18 @@ if ($ADD==311111111) echo "
    Identifiant de la période d'appels: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Nom de la période d'appels: (courte description de la période d'appel)$NWB#vicidial_call_times-call_time_name$NWE
    Commentaires de la période d'appels: $NWB#vicidial_call_times-call_time_comments$NWE
    Groupe d'utilisateurs d'administration:
    Groupe d'utilisateurs d'administration: $NWB#vicidial_call_times-user_group$NWE
    Début par défaut: Fin par défaut: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le dimanche: Fin le dimanche: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le lundi: Fin le lundi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le mardi: Fin le mardi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le mercredi: Fin le mercredi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Jeudi Start: Fin le jeudi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le vendredi: Fin le vendredi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le samedi: Fin le samedi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début par défaut: Fin par défaut: $NWB#vicidial_call_times-ct_default_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le dimanche: Fin le dimanche: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le lundi: Fin le lundi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le mardi: Fin le mardi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le mercredi: Fin le mercredi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Jeudi Start: Fin le jeudi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le vendredi: Fin le vendredi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Début le samedi: Fin le samedi: $NWB#vicidial_call_times-ct_sunday_start$NWE       AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Actifs entrants Définitions de vacances pour cet enregistrement:  
    $holiday_rules[$b] - REMOVE $row[0] - $row[1]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Ajouter une règle de vacances entrant:


    \n"; echo "CAMPAGNES UTILISANT CETTE PERIODE D'APPELS:
    \n"; echo "\n"; @@ -27976,7 +30481,7 @@ if ($ADD==3111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; @@ -28012,6 +30517,105 @@ if ($ADD==3111111111) { echo "

    SUPPRIMER CETTE DEFINITION DE PERIODE D'APPEL D'ETAT\n"; } + if ($LOGuser_level >= 9) + { + echo "

    Cliquez ici pour voir les changements d'administration to this call time\n"; + } + } + else + { + echo "Vous n'êtes pas autorisé à voir cette page. Veuillez revenir en arrière."; + } + } + + +###################### +# ADD=3211111111 modify holiday definition info in the system +###################### + +if ($ADD==3211111111) + { + if ($LOGmodify_call_times==1) + { + if ( ($SSadmin_modify_rafraîchir > 1) and ($modify_rafraîchir_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3211111111&holiday_id=$holiday_id"; + $modify_footer_rafraîchir=1; + } + echo "
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    Nom de la période d'appels d'état: (courte description de la période d'appel)$NWB#vicidial_call_times-call_time_name$NWE
    Commentaires de la période d'appels d'état: $NWB#vicidial_call_times-call_time_comments$NWE
    Groupe d'utilisateurs d'administration:
    Groupe d'utilisateurs d'administration: $NWB#vicidial_call_times-user_group$NWE
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_comments,holiday_status,ct_default_start,ct_default_stop,user_group,default_afterhours_filename_override from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $holiday_date = $row[1]; + $holiday_name = $row[2]; + $holiday_comments = $row[3]; + $holiday_status = $row[4]; + $ct_default_start = $row[5]; + $ct_default_stop = $row[6]; + $user_group = $row[7]; + $default_afterhours_filename_override = $row[8]; + + echo ""; + + echo "
    MODIFIER DES VACANCES
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    ID vacances: $holiday_id$NWB#vicidial_call_times-holiday_id$NWE
    Nom de vacances: (brève description de la fête)$NWB#vicidial_call_times-holiday_name$NWE
    Vacances Commentaires: $NWB#vicidial_call_times-holiday_comments$NWE
    Groupe d'utilisateurs d'administration: $NWB#vicidial_call_times-user_group$NWE
    Début par défaut: Fin par défaut: $NWB#vicidial_call_times-ct_default_start$NWE
    AH Override: audio sélecteur $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Date de vacances: \n"; + echo " $NWB#vicidial_call_times-holiday_date$NWE
    Statut de vacances: $NWB#vicidial_call_times-holiday_status$NWE


    \n"; + echo "APPEL fois en utilisant cette fête:
    \n"; + echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" $whereLOGadmin_viewable_call_timesSQL;"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + echo "


    \n"; + + if ($LOGdelete_call_times > 0) + { + echo "

    EFFACER CETTE DEFINITION DE VACANCES\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Cliquez ici pour voir les changements d'administrateur pour cette fête
    \n"; + } } else { @@ -28171,7 +30775,7 @@ if ($ADD==31111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -28229,6 +30833,12 @@ if ($ADD==31111111111) } echo " $NWB#phones-voicemail_timezone$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "\n"; echo "\n"; echo "\n"; @@ -29140,7 +31750,7 @@ if ($ADD==361111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -28201,7 +30805,7 @@ if ($ADD==31111111111) echo "
    Écran de connexion Agent: $NWB#phones-login$NWE
    Login Mot de passe: $NWB#phones-pass$NWE
    Inscription Mot de passe: $NWB#phones-conf_secret$NWE     Force:
    Définir en tant que Webphone: $NWB#phones-is_webphone$NWE
    Définir en tant que Webphone: $NWB#phones-is_webphone$NWE
    Webphone Dialpad: $NWB#phones-webphone_dialpad$NWE
    Webphone Réponse automatique: $NWB#phones-webphone_auto_answer$NWE
    Utilisez IP du serveur externe: $NWB#phones-use_external_server_ip$NWE
    Options de la messagerie vocale: $NWB#phones-voicemail_options$NWE
    Message d'accueil: audio sélecteur $NWB#phones-voicemail_greeting$NWE
    Compagnie: $NWB#phones-company$NWE
    Image: $NWB#phones-picture$NWE
    Nouveaux messages: $row[14]$NWB#phones-messages$NWE
    Ajouter un fichier audio: audio chooser $NWB#vicidial_music_on_hold-filename$NWE
    Ajouter un fichier audio: audio sélecteur $NWB#vicidial_music_on_hold-filename$NWE
    \n"; @@ -29179,7 +31789,7 @@ if ($ADD==371111111111) echo "
    \n"; echo ""; - $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $voicemail_id = $row[0]; @@ -29193,9 +31803,11 @@ if ($ADD==371111111111) $voicemail_timezone = $row[8]; $voicemail_options = $row[9]; $user_group = $row[10]; + $voicemail_greeting = $row[11]; echo "
    MODIFIER UN messagerie vocale: $tts_id\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; @@ -29209,6 +31821,13 @@ if ($ADD==371111111111) echo "\n"; echo "$NWB#vicidial_voicemail-user_group$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "
    Supprimer messagerie vocale après le courrier électronique: $NWB#vicidial_voicemail-delete_vm_after_email$NWE
    Message d'accueil: audio sélecteur $NWB#vicidial_voicemail-voicemail_greeting$NWE
    Zone de messagerie vocale: \n"; echo "\n"; echo "
    \n"; echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -29838,7 +32467,12 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; - echo "\n"; + + $admin_web_dir=''; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} + + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; echo "\n"; @@ -29938,7 +32584,7 @@ if ($ADD==311111111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; } @@ -30063,6 +32709,8 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo ""; -$MAIN.=""; +$MAIN.=""; +$MAIN.=""; + +$MAIN.=""; $MAIN.="
    Version: $version
    SVN Version: $svn_revision
    DB Schema Version: $db_schema_version
    DB Schema Update Date: $db_schema_update_date
    Auto Utilisateur-add Value: $auto_user_add_value
    Central Sound Control Actif: $NWB#settings-sounds_central_control_active$NWE
    Sounds Web Server: $NWB#settings-sounds_web_server$NWE
    Sounds Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Sounds Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Annuaire Web Admin: $NWB#settings-admin_web_directory$NWE
    Active Server Boîte vocale: $NWB#settings-active_voicemail_server$NWE
    La messagerie vocale Sélecteur de voeux: $NWB#settings-allow_voicemail_greeting$NWE
    Auto Dial Limite:
    Activer Statistiques liste élargie: $NWB#settings-expanded_list_stats$NWE
    Enhanced Disconnect Logging: $NWB#settings-enhanced_disconnect_logging$NWE
    Activer le code zonal de la campagne CID: $NWB#settings-campaign_cid_areacodes_enabled$NWE
    Activer télécommande remplace extension de l'agent: $NWB#settings-did_ra_extensions_enabled$NWE
    Enable Contacts: $NWB#settings-contacts_enabled$NWE
    Menu Appel qualifier Activé: $NWB#settings-call_menu_qualify_enabled$NWE
    Niveau 8 désactiver des: $NWB#settings-level_8_disable_add$NWE
    Liste des comtes d'administration: $NWB#settings-admin_list_counts$NWE
    Laisser Emails: $NWB#settings-allow_emails$NWE
    Trigger connecter d'abord: $first_login_trigger   $NWB#settings-first_login_trigger$NWE
    Mot de passe par défaut d'inscription Téléphone: $NWB#settings-default_phone_registration_password$NWE     Force:
    Database Server esclave: $NWB#settings-slave_db_server$NWE
    Rapports d'utiliser DB Slave:
    Rapports d'utiliser DB Slave:
    Entrée personnalisée Dialplan: $NWB#settings-custom_dialplan_entry$NWE
    Entrée personnalisée Dialplan: $NWB#settings-custom_dialplan_entry$NWE
    Recharger Dialplan Sur les serveurs: $NWB#settings-reload_dialplan_on_servers$NWE
    QueueMetrics addMember Enabled: $NWB#settings-queuemetrics_addmember_enabled$NWE
    Code de QueueMetrics Pause Dispo: $NWB#settings-queuemetrics_dispo_pause$NWE
    Téléphone QueueMetrics Environnement Téléphone Append: $NWB#settings-queuemetrics_pe_phone_append$NWE
    QueueMetrics Socket Envoyer: $NWB#settings-queuemetrics_socket$NWE
    QueueMetrics Socket Envoyer URL: $NWB#settings-queuemetrics_socket_url$NWE
    Activer Vtiger Integration: $NWB#settings-enable_vtiger_integration$NWE\n"; echo "   Cliquez ici pour synchroniser les utilisateurs avec Vtiger\n"; @@ -30339,89 +32987,12 @@ if ($ADD==331111111111111) +##QC +require_once('qc/QC_status_codes_include.php'); ###################### # ADD=341111111111111 modify vicidial QC status code ###################### - -if ($ADD==341111111111111) - { - if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) - { - if ( ($SSadmin_modify_rafraîchir > 1) and ($modify_rafraîchir_set < 1) ) - { - $modify_url = "$PHP_SELF?ADD=341111111111111"; - $modify_footer_rafraîchir=1; - } - echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30884,7 +33460,7 @@ if ($ADD==100) $o++; } - $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; + $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); $o=0; @@ -30900,7 +33476,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30958,6 +33537,61 @@ if ($ADD==1000) echo "
    \n"; - echo ""; - - echo "
    \n"; - echo "VICIDIAL QC ÉTAT DANS CE SYSTEME DE CODES:  $NWB#vicidial_qc_status_codes$NWE
    \n"; - echo "\n"; - echo "\n"; - - ##### go through each QC status code - $stmt="SELECT count(*) from vicidial_qc_codes;"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - if ($rowx[0] > 0) - { - $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; - $rslt=mysql_query($stmt, $link); - $statuses_to_print = mysql_num_rows($rslt); - $o=0; - while ($statuses_to_print > $o) - { - $rowx=mysql_fetch_row($rslt); - $o++; - - if (eregi("1$|3$|5$|7$|9$", $o)) - {$bgcolor='bgcolor="#B9CBFD"';} - else - {$bgcolor='bgcolor="#9BB9FB"';} - - echo "\n"; - echo "\n"; - echo "\n"; - } - } - echo "
    STATUS CODEDESCRIPTIONMODIFY/DELETE
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "$rowx[0]         \n"; - echo "   \n"; - - if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) - { - echo "SUPPRIMER\n"; - } - else - { - echo "SUPPRIMER\n"; - } - echo "
    \n"; - - echo "
    ADD NEW QC Code de statut
    \n"; - echo "\n"; - echo "Etat:   \n"; - echo "Description:
    \n"; - echo "
    \n"; - - echo "

    \n"; - - } - else - { - echo "Vous n'avez pas la permission de voir cette page\n"; - exit; - } - } - - - - - +//This section moved to include file as part of QC ###################### # ADD=550 user search form @@ -30844,7 +33415,9 @@ if ($ADD==100) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists $whereLOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -30876,7 +33449,10 @@ if ($ADD==100) echo "
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]MODIFIER
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]MODIFIER
    \n"; } +###################### +# ADD=1800 display all email groups +###################### +if ( ($ADD==1800) and ($SSallow_emails>0) ) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,queue_priority,active,call_time_id,group_color,user_group from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $ingroups_to_print = mysql_num_rows($rslt); + + echo "
    EMAIL GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($ingroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and group_id='$row[0]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IN-GROUPNOMPRIORITÉACTIFCourriers non lusGROUPE ADMINTIMECOLORMODIFIER
    $row[0] $row[1] $row[2] $row[3] $unhandled_emails $row[6] $row[4]  MODIFIER
    \n"; + } ###################### # ADD=1300 display all inbound dids @@ -31345,8 +33979,8 @@ if ($ADD==10000000) echo "
    LISTE DES FILTRES DE FICHES:\n"; echo "
    \n"; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo "\n"; @@ -31458,6 +34092,52 @@ if ($ADD==1000000000) echo "
    FILTER IDFILTER NAMEFILTRE IDNom du filtreGROUPE ADMINMODIFIER
    \n"; } +###################### +# ADD=1200000000 display all holidays +###################### +if ($ADD==1200000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_status,ct_default_start,ct_default_stop,user_group from vicidial_call_time_holidays $whereLOGadmin_viewable_groupsSQL order by holiday_date,holiday_id;"; + $rslt=mysql_query($stmt, $link); + $holidays_to_print = mysql_num_rows($rslt); + + echo "
    HOLIDAY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($holidays_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    HOLIDAY IDDATENOMETATSTARTSTOPGROUPE ADMINMODIFIER
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] MODIFIER
    \n"; + } + ###################### # ADD=130000000 display all shifts ###################### @@ -32103,7 +34783,10 @@ if ($ADD==10000000000000) } - +###################### +# ADD=100000000000000 display all qc campaigns +###################### +require_once('qc/QC_admin_include01.php'); ###################### @@ -32115,22 +34798,22 @@ if ($ADD==700000000000000) echo ""; $DURATION_graph.=" "; $HANDLETIME_graph.=" "; - } + } $CALLS_graph.="
    \n"; echo ""; - if ($stage > 9999) + if ($stage > 4999) { - $next_limit = ($stage + 10000); - $limitSQL = "10000 offset $stage"; + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; } else { - $next_limit = "10000"; - $limitSQL = "10000"; + $next_limit = "5000"; + $limitSQL = "5000"; } $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log $whereLOGadmin_viewable_groupsSQL order by event_date desc limit $limitSQL;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); - echo "
    ADMIN CHANGE LOG: (Mise à 10.000 dossiers)\n"; + echo "
    ADMIN CHANGE LOG: (Last 5000 records)\n"; echo "
    \n"; echo ""; echo ""; @@ -32212,7 +34895,7 @@ if ($ADD==710000000000000) $user_name = $row[0]; } - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32298,7 +34981,7 @@ if ($ADD==720000000000000) if (preg_match("/DIDS/",$category)) {$sectionSQL = "event_section IN('DIDS','DID_RA-EXTEN')";} - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32334,6 +35017,8 @@ if ($ADD==720000000000000) if (eregi('REMOTEAGENT',$row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} if (eregi('PHONE',$row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} if (eregi('CALLTIME',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} + if (eregi('CALLTIMES_STATE',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} + if (eregi('HOLIDAY',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} if (eregi('SHIFT',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} if (eregi('CARRIER',$row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} @@ -32343,6 +35028,7 @@ if ($ADD==720000000000000) if (eregi('CATEGOR',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} if (eregi('GROUPALIAS',$row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} if (eregi('LEADS',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} + if (eregi('EMAIL',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} if (eregi("1$|3$|5$|7$|9$", $o)) {$bgcolor='bgcolor="#B9CBFD"';} @@ -32444,6 +35130,214 @@ if ($ADD==730000000000000) } +###################### +# ADD=800000000000000 view all activity in the admin report log +###################### + +if ($ADD==800000000000000) + { + echo "
    ID
    \n"; + echo ""; + + if ($stage > 4999) + { + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; + } + else + { + $next_limit = "5000"; + $limitSQL = "5000"; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log order by event_date desc limit $limitSQL;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + + echo "
    ADMIN journal de rapport: (Last 5000 records)\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "NEXT\n"; + echo "
    \n"; + } + + +###################### +# ADD=810000000000000 view all activity in the report log made by one user +###################### + +if ($ADD==810000000000000) + { + echo "\n"; echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT full_name from vicidial_users where user='$stage' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $names_to_print = mysql_num_rows($rslt); + if ($names_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $user_name = $row[0]; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log where user='$stage' order by event_date desc limit 5000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    ADMIN journal de rapport: Les modifications apportées par $stage - $user_name\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=830000000000000 detail view of one report log entry +###################### + +if ($ADD==830000000000000) + { + if ($LOGuser_level >= 9) + { + echo ""; - echo "\n"; + echo "\n"; } else { @@ -32644,6 +35546,7 @@ if ($ADD==999999) } $o=0; + $web_u_time = date('U'); while ($servers_to_print > $o) { $cpu = (100 - $cpu_idle_percent[$o]); @@ -32662,7 +35565,23 @@ if ($ADD==999999) $k++; } $disk = "$disk%"; - echo "\n"; + $s_time=' '; + $s_ver=' '; + $u_time=$web_u_time; + $stmt="SELECT last_update,UNIX_TIMESTAMP(last_update) from server_updater where server_ip='$server_ip[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servertime_to_print = mysql_num_rows($rslt); + if ($servertime_to_print) + { + $row=mysql_fetch_row($rslt); + $s_time = $row[0]; + $u_time = ($row[1] + 10); + } + $server_bgcolor=''; + if ($web_u_time > $u_time) + {$server_bgcolor=' bgcolor=red';} + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32672,15 +35591,16 @@ if ($ADD==999999) echo "\n"; if ($stage == 'TIME') { - $stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';"; + $stmt="SELECT svn_revision from servers where server_ip='$server_ip[$o]';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $servertime_to_print = mysql_num_rows($rslt); - if ($servertime_to_print) + $serverver_to_print = mysql_num_rows($rslt); + if ($serverver_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + $s_ver = $row[0]; } + echo ""; } else { @@ -32701,7 +35621,7 @@ if ($ADD==999999) if ($stage == 'TIME') { - echo ""; + echo ""; $stmt="SELECT NOW();"; $rslt=mysql_query($stmt, $link); @@ -32710,7 +35630,7 @@ if ($ADD==999999) if ($dbtime_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + echo ""; } } echo "
    \n"; + echo ""; + + $stmt="SELECT report_log_id,event_date,vrl.user,ip_address,report_name,browser,referer,notes,url,full_name,val.user_group,run_time from vicidial_report_log vrl, vicidial_users val where report_log_id='$stage' and val.user=vrl.user $valLOGadmin_viewable_groupsSQL;"; + if ($DB > 0) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + if ($logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + + $run_color='color=blue'; + if ($row[11] > 5) {$run_color='color=black';} + if ($row[11] > 10) {$run_color='color=purple';} + if ($row[11] > 30) {$run_color='color=red';} + + echo "
    ADMIN journal de rapport: Record Détail - $stage

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "
    ID: $row[0]
    DATE TIME: $row[1]
    RUN TIME: $row[11] seconds
    USER: $row[2] - $row[9]
    IP: $row[3]
    REPORT: $row[4]
    BROWSER: $row[5]
    NOTES: $row[7]
    REFERER:

    $row[6]

    URL:

    $row[8]



    \n"; + echo "\n"; + echo "
    \n"; + } + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } + + ###################### # ADD=999999 display reports section ###################### @@ -32537,7 +35431,7 @@ if ($ADD==999999) echo "
  • Outbound IVR Report"; if ($LOGexport_reports >= 1) { - if ( (preg_match("/Appels d'exportation Rapport/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) + if ( (preg_match("/Appels d exportation Rapport/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) {echo " - Export";} } echo "\n"; @@ -32549,15 +35443,21 @@ if ($ADD==999999) if ( (preg_match("/Campagne Status List Report/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) {echo "
  • Campagne Status List Report\n";} # echo "
  • AGENT SPREADSHEET PERFORMANCE\n"; - if ( ( (preg_match("/Dialer Rapport d'inventaire/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) and ($inventory_report_count > 0) ) - {echo "
  • Dialer Rapport d'inventaire\n";} - + if ( ( (preg_match("/Dialer Rapport d inventaire/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) and ($inventory_report_count > 0) ) + {echo "
  • Dialer Rapport d inventaire\n";} + if ($SSemail_enabled > 0) + { + if ( ( (preg_match("/Inbound Report/",$LOGallowed_reports)) and (preg_match("/Inbound Email Report/",$LOGallowed_reports)) ) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) + {echo "
  • Inbound Email Report\n";} + if ( (preg_match("/Email Log Report/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) + {echo "
  • Email Log Report\n";} + } if ($LOGexport_reports >= 1) { - if ( (preg_match("/Appels d'exportation Rapport/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) - {echo "
  • Appels d'exportation Rapport\n";} - if ( (preg_match("/Pistes d'exportation Rapport/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) - {echo "
  • Pistes d'exportation Rapport\n";} + if ( (preg_match("/Appels d exportation Rapport/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) + {echo "
  • Appels d exportation Rapport\n";} + if ( (preg_match("/Pistes d exportation Rapport/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) + {echo "
  • Pistes d exportation Rapport\n";} } echo "\n"; echo "
  • \n"; @@ -32575,6 +35475,8 @@ if ($ADD==999999) {echo "
  • Team Performance Détail\n";} if ( (preg_match("/Single Agent Daily/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) {echo "
  • Single Agent Daily\n";} + if ( (preg_match("/Groupe utilisateur Login Report/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) + {echo "
  • Groupe utilisateur Login Report\n";} if ( (preg_match("/Statistiques utilisateur/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) {echo "
  • Statistiques utilisateur\n";} if ( (preg_match("/Utilisateur Feuille de temps/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) @@ -32635,7 +35537,7 @@ if ($ADD==999999) if ($stage == 'TIME') { echo "
  • SERVEUR -DESCRIPTIONIPACTLOADCHANDISKTIME
    DESCRIPTIONIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$disk$row[0]$s_time$s_ver
      PHP Time   " . date("Y-m-d H:i:s") . "
      PHP Time   " . date("Y-m-d H:i:s") . "  
      DB Time   $row[0]
      DB Time   $row[0]  
    \n"; @@ -32759,6 +35679,10 @@ if ($ADD==999998) echo "
  • Statuts De Système\n"; echo "
  • Boîte vocale \n"; + if ($SSemail_enabled > 0) + { + echo "
  • Comptes de messagerie \n"; + } if ( ($sounds_central_control_active > 0) or ($SSsounds_central_control_active > 0) ) { echo "
  • Audio Store \n"; @@ -32770,11 +35694,11 @@ if ($ADD==999998) } if ($SScallcard_enabled > 0) { - echo "
  • CallCard Admin \n"; + echo "
  • CallCard admin \n"; } if ($SScontacts_enabled > 0) { - echo "
  • Contacts \n"; + echo "
  •  Contacts \n"; } echo "\n"; @@ -32980,7 +35904,7 @@ if ($ADD==999995) echo "
    Bienvenue à Vicidial: page de copyright, marque et de licence

    \n"; echo "
    \n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -33014,9 +35938,13 @@ if ($ADD==999994) echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } } @@ -33128,11 +36056,47 @@ if ($ADD==999993) ###################### if ($ADD==999992) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + echo "
    Copyright:   Le Call Center Suite Vicidial est maintenue par le ViciDial Group, © 2012
    Copyright:   Le Call Center Suite Vicidial est maintenue par le ViciDial Group, © 2013
    Trademark:   \"VICIDIAL\" est une marque déposée de la ViciDial Group. Voici notre politique d'utilisation des marques
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0,'',''); echo "
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; } } $k++; @@ -700,7 +748,7 @@ if ($function == 'sounds_list') ################################################################################ if ($function == 'moh_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -866,7 +914,7 @@ if ($function == 'moh_list') ################################################################################ if ($function == 'vm_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1018,7 +1066,7 @@ if ($function == 'agent_ingroup_info') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1114,12 +1162,12 @@ if ($function == 'agent_ingroup_info') $row=mysql_fetch_row($rslt); $allowed_campaign_autodial=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_change_ingroups=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_modify_user=$row[0]; @@ -1344,7 +1392,7 @@ if ($function == 'blind_monitor') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1441,6 +1489,21 @@ if ($function == 'blind_monitor') { $man_id = mysql_insert_id($link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$BMquery',lead_id='0',server_ip='$monitor_server_ip',call_date='$NOW_TIME',extension='$dialplan_number',channel='Local/$monitor_dialstring$stage$session_id@default',timeout='0',outbound_cid='\"VC Blind Monitor\" <$outbound_cid>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ##### BEGIN log visit to the vicidial_report_log table ##### + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$user', ip_address='1.1.1.1', report_name='API Blind Monitor', browser='API', referer='realtime_report.php', notes='$user, $monitor_server_ip, $dialplan_number, $session_id, $phone_login', url='REALTIME BLIND MONITOR',run_time='$TOTALrun';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + ##### END log visit to the vicidial_report_log table ##### + $result = 'SUCCESS'; $result_reason = "blind_monitor HAS BEEN LAUNCHED"; echo "$result: $result_reason - $phone_login|$monitor_dialstring$stage$session_id|$dialplan_number|$session_id|$man_id|$user\n"; @@ -1500,7 +1563,7 @@ if ($function == 'add_user') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1660,6 +1723,97 @@ if ($function == 'add_user') +################################################################################ +### add_group_alias - adds group alias to the system +################################################################################ +if ($function == 'add_group_alias') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "add_group_alias USER DOES NOT HAVE PERMISSION TO ADD GROUP ALIASES"; + $data = "$allowed_user"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($caller_id_number)<6) + { + $result = 'ERROR'; + $result_reason = "add_group_alias YOU MUST USE ALL REQUIRED FIELDS"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($group_alias_id)<2) {$group_alias_id = $caller_id_number;} + if (strlen($group_alias_name)<2) {$group_alias_name = $caller_id_number;} + if (strlen($active)<1) {$active = 'Y';} + if (strlen($admin_user_group)<1) {$admin_user_group = '---ALL---';} + $group_alias_name = preg_replace("/\+/",' ',$group_alias_name); + $caller_id_name = preg_replace("/\+/",' ',$caller_id_name); + + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $alias_exists=$row[0]; + if ($alias_exists > 0) + { + $result = 'ERROR'; + $result_reason = "add_group_alias GROUP ALIAS ALREADY EXISTS"; + $data = "$group_alias_id|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$admin_user_group');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN API ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $result = 'SUCCESS'; + $result_reason = "add_group_alias GROUP ALIAS HAS BEEN ADDED"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + } + exit; + } +################################################################################ +### END add_group_alias +################################################################################ + + ################################################################################ ### add_phone - adds phone to the phones table @@ -1677,7 +1831,7 @@ if ($function == 'add_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1815,7 +1969,7 @@ if ($function == 'update_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1896,7 +2050,7 @@ if ($function == 'update_phone') { if ($delete_phone == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2210,8 +2364,6 @@ if ($function == 'update_phone') - - ################################################################################ ### add_phone_alias - adds phone alias to the system ################################################################################ @@ -2228,7 +2380,7 @@ if ($function == 'add_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2337,7 +2489,7 @@ if ($function == 'update_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2380,7 +2532,7 @@ if ($function == 'update_phone_alias') { if ($delete_alias == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2522,7 +2674,7 @@ if ($function == 'update_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2609,6 +2761,7 @@ if ($function == 'update_list') $webformSQL=''; $webformtwoSQL=''; $resettimeSQL=''; + $expiration_dateSQL=''; if (strlen($campaign_id) > 0) { $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; @@ -2758,6 +2911,25 @@ if ($function == 'update_list') {$resettimeSQL = " ,reset_time='$reset_time'";} } } + if (strlen($expiration_date) > 9) + { + if ($expiration_date == '--BLANK--') + {$expiration_dateSQL = " ,expiration_date='2099-12-31'";} + else + { + if (strlen($expiration_date) < 10) + { + $result = 'ERROR'; + $result_reason = "update_list EXPIRATION DATE IS NOT VALID, THIS IS AN OPTIONAL FIELD"; + $data = "$expiration_date"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + {$resettimeSQL = " ,expiration_date='$expiration_date'";} + } + } if (strlen($web_form_address) > 0) { if ($web_form_address == '--BLANK--') @@ -2773,7 +2945,7 @@ if ($function == 'update_list') {$webformtwoSQL = " ,web_form_address_two='$web_form_address_two'";} } - $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL"; + $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL$expiration_dateSQL"; if (strlen($updateSQL)< 3) { @@ -2846,7 +3018,7 @@ if ($function == 'update_list') if ($delete_list == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2884,7 +3056,7 @@ if ($function == 'update_list') if ($delete_leads == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2950,7 +3122,7 @@ if ($function == 'add_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3086,8 +3258,9 @@ if ($function == 'add_list') exit; } if (strlen($active)<1) {$active='N';} + if (strlen($expiration_date)<10) {$expiration_date='2099-12-31';} - $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time';"; + $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time', expiration_date='$expiration_date';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "|$stmt|\n";} @@ -3136,7 +3309,7 @@ if ($function == 'recording_lookup') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3308,7 +3481,7 @@ if ($function == 'did_log_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3448,7 +3621,7 @@ if ($function == 'agent_stats_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3596,6 +3769,7 @@ if ($function == 'agent_stats_export') if ($AScalls[$k] < 1) { $cust_sec = 0; + $wait_sec = 0; $avg_cust_sec = 0; $avg_wait_sec = 0; $pct_of_queue = 0; @@ -3603,6 +3777,7 @@ if ($function == 'agent_stats_export') else { $cust_sec = ($AStalk_sec[$k] - $ASdead_sec[$k]); + $wait_sec = $ASwait_sec[$k]; $avg_cust_sec = ($cust_sec / $AScalls[$k]); $avg_wait_sec = ($ASwait_sec[$k] / $AScalls[$k]); $pct_of_queue = ( ($AScalls[$k] / $total_calls) * 100); @@ -3618,10 +3793,11 @@ if ($function == 'agent_stats_export') $avg_session_sec = sec_convert($avg_session_sec,$time_format); $avg_pause_sec = sec_convert($avg_pause_sec,$time_format); $cust_sec = sec_convert($cust_sec,$time_format); + $wait_sec = sec_convert($wait_sec,$time_format); $avg_cust_sec = sec_convert($avg_cust_sec,$time_format); $avg_wait_sec = sec_convert($avg_wait_sec,$time_format); - $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session\n"; + $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session$DL$wait_sec\n"; $k++; } @@ -3647,6 +3823,737 @@ if ($function == 'agent_stats_export') +################################################################################ +### user_group_status - exports user group real-time stats +################################################################################ +if ($function == 'user_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status USER DOES NOT HAVE PERMISSION TO GET USER GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($user_groups)>0) and (strlen($user_groups)<10000) ) + { + $user_groupsOUTPUT = preg_replace("/\|/",' ',$user_groups); + $user_groupsSQL = preg_replace("/\|/","','",$user_groups); + $search_SQL .= "and user_group IN('$user_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$user_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $whereLOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $whereLOGallowed_callsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'usergroups' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dead_calls' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $whereLOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $i++; + } + } + + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $search_SQL $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: user_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + + if (eregi("INCALL",$row[1])) + { + $stmtP="select count(*) from parked_channels where channel_group='$row[5]';"; + $rsltP=mysql_query($stmtP,$link); + $rowP=mysql_fetch_row($rsltP); + $parked_channel = $rowP[0]; + + if ($parked_channel > 0) + {$row[1] = 'PARK';} + else + { + if (!ereg("$row[5]\|",$callerids)) + {$row[1] = 'DEAD';} + } + } + + if ($row[1]=='DEAD') + {$total_agents_dead++;} + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$user_groupsOUTPUT$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dead$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$user_groups|$stage"; + $result_reason = "user_group_status AGENTS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END user_group_status +################################################################################ + + + + + +################################################################################ +### in_group_status - exports in-group real-time stats +################################################################################ +if ($function == 'in_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status USER DOES NOT HAVE PERMISSION TO GET IN-GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($in_groups)>0) and (strlen($in_groups)<10000) ) + { + $in_groupsOUTPUT = preg_replace("/\|/",' ',$in_groups); + $in_groupsSQL = preg_replace("/\|/","','",$in_groups); + $search_SQL .= "where campaign_id IN('$in_groupsSQL')"; + $agent_search_SQL .= "where group_id IN('$in_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$in_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $LOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $LOGallowed_callsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'ingroups' . $DL . 'total_calls' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $search_SQL $LOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $total_calls++; + $i++; + } + } + + $users=''; + $stmt="SELECT distinct user from vicidial_live_inbound_agents where group_id IN('$in_groupsSQL');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $IG_users = mysql_num_rows($rslt); + if ($IG_users > 0) + { + $i=0; + while ($i < $IG_users) + { + $row=mysql_fetch_row($rslt); + $users .= "$row[0]','"; + $i++; + } + } + + $k=0; + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and vicidial_live_agents.user IN('$users') $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: in_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$in_groupsOUTPUT$DL$total_calls$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$in_groups|$stage"; + $result_reason = "in_group_status CALLS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END in_group_status +################################################################################ + + + + +################################################################################ +### agent_status - exports agent user real-time stats +################################################################################ +if ($function == 'agent_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status USER DOES NOT HAVE PERMISSION TO GET AGENT INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $agent_search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($agent_user)>0) and (strlen($agent_user)<100) ) + { + $agent_search_SQL .= "where user='$agent_user'"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status INVALID SEARCH PARAMETERS"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGadmin_viewable_groups = $row[0]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'status' . $DL . 'callerid' . $DL . 'lead_id' . $DL . 'campaign_id' . $DL . 'calls_today' . $DL . 'full_name' . $DL . 'user_group' . $DL . 'user_level' . "\n";} + + $stmt="select full_name,user_group,user_level from vicidial_users $agent_search_SQL $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $user_to_list = mysql_num_rows($rslt); + if ($user_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + $user_level = $row[2]; + + $stmt="select status,callerid,lead_id,campaign_id,calls_today from vicidial_live_agents $agent_search_SQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agent_to_list = mysql_num_rows($rslt); + if ($agent_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $callerid = $row[1]; + $lead_id = $row[2]; + $campaign_id = $row[3]; + $calls_today = $row[4]; + + $output .= "$status$DL$callerid$DL$lead_id$DL$campaign_id$DL$calls_today$DL$full_name$DL$user_group$DL$user_level\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$agent_user|$stage"; + $result_reason = "agent_status $output"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT LOGGED IN"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT FOUND"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + } + exit; + } +################################################################################ +### END agent_status +################################################################################ + + + +################################################################################ +### update_log_entry - updates the status of a log entry +################################################################################ +if ($function == 'update_log_entry') + { + if (strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "update_log_entry USER DOES NOT HAVE PERMISSION TO UPDATE LOGS"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + if ( (strlen($group)<2) or (strlen($call_id)<8) or (strlen($status)<8) ) + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $inbound_call=$row[0]; + + if ($inbound_call < 1) + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $outbound_call=$row[0]; + } + + if ( ($inbound_call < 1) and ($outbound_call < 1) ) + { + $result = 'ERROR'; + $result_reason = "update_log_entry GROUP NOT FOUND"; + $data = "$user|$group"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (preg_match("/\./",$call_id)) + { + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and uniqueid='$call_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and uniqueid='$call_id';";} + } + else + { + $lead_id = substr($call_id, -10); + $lead_id = ($lead_id + 0); + + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + } + $rslt=mysql_query($stmt, $link); + $found_recs = mysql_num_rows($rslt); + if ($found_recs > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id = $row[0]; + $old_status = $row[1]; + $uniqueid = $row[2]; + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS FOUND"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + + if ($inbound_call > 0) + {$stmt="UPDATE vicidial_closer_log SET status='$status' where campaign_id='$group' and closecallid='$uniqueid' order by call_date desc limit 1;";} + else + {$stmt="UPDATE vicidial_log SET status='$status' where campaign_id='$group' and uniqueid='$uniqueid';";} + $rslt=mysql_query($stmt, $link); + $update_count = mysql_affected_rows($link); + if ($update_count > 0) + { + $result = 'SUCCESS'; + $result_reason = "update_log_entry RECORD HAS BEEN UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid|$affected_rows"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry INVALID SEARCH PARAMETERS"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + exit; + } +################################################################################ +### END update_log_entry +################################################################################ + + + + + ################################################################################ ### add_lead - inserts a lead into the vicidial_list table ################################################################################ @@ -3663,7 +4570,7 @@ if ($function == 'add_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -3683,6 +4590,24 @@ if ($function == 'add_lead') if (strlen($rank)<1) {$rank='0';} if (strlen($list_id)<3) {$list_id='999';} if (strlen($phone_code)<1) {$phone_code='1';} + if ( ($nanpa_ac_prefix_check == 'Y') or (eregi("NANPA",$tz_method)) ) + { + $stmt="SELECT count(*) from vicidial_nanpa_prefix_codes;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vicidial_nanpa_prefix_codes_count = $row[0]; + if ($vicidial_nanpa_prefix_codes_count < 10) + { + $nanpa_ac_prefix_check='N'; + $tz_method = preg_replace("/NANPA/",'',$tz_method); + + $result = 'NOTICE'; + $result_reason = "add_lead NANPA options disabled, NANPA prefix data not loaded"; + echo "$result: $result_reason - $vicidial_nanpa_prefix_codes_count|$user\n"; + $data = "$inserted_alt_phones|$lead_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } $valid_number=1; if ( (strlen($phone_number)<6) || (strlen($phone_number)>16) ) @@ -3713,6 +4638,20 @@ if ($function == 'add_lead') $result_reason = "add_lead INVALID PHONE NUMBER AREACODE"; } } + if ( ($nanpa_ac_prefix_check=='Y') and ($valid_number > 0) ) + { + $phone_areacode = substr($phone_number, 0, 3); + $phone_prefix = substr($phone_number, 3, 3); + $stmt = "SELECT count(*) from vicidial_nanpa_prefix_codes where areacode='$phone_areacode' and prefix='$phone_prefix';"; + if ($DB>0) {echo "DEBUG: add_lead areacode check query - $stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $valid_number=$row[0]; + if ($valid_number < 1) + { + $result_reason = "add_lead INVALID PHONE NUMBER NANPA AREACODE PREFIX"; + } + } if ($valid_number < 1) { $result = 'ERROR'; @@ -3753,14 +4692,22 @@ if ($function == 'add_lead') if ( ($campaign_dnc_check == 'Y') or ($campaign_dnc_check == 'AREACODE') ) { if ($DB>0) {echo "DEBUG: Checking for campaign DNC\n";} + + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign_id; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if ($campaign_dnc_check == 'AREACODE') { $phone_areacode = substr($phone_number, 0, 3); $phone_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$campaign_id';"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign_id';";} + {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -4035,7 +4982,7 @@ if ($function == 'add_lead') ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); $new_status='NEW'; if ($callback == 'Y') @@ -4225,13 +5172,11 @@ if ($function == 'add_lead') $result = 'NOTICE'; $result_reason = "add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME"; echo "$result: $result_reason - $phone_number|$lead_id|$gmt_offset|$dialable|$user\n"; - $data = "$phone_number|$lead_id|$gmt_offset|$dialable"; + $data = "$phone_number|$lead_id|$gmt_offset|$dialable|$state"; api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); } else { - ### code to insert into hopper goes here - ### insert record into vicidial_hopper for alt_phone call attempt $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$list_id',gmt_offset_now='$gmt_offset',state='$state',user='',priority='$hopper_priority',source='P',vendor_lead_code='$vendor_lead_code';"; if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} @@ -4366,7 +5311,7 @@ if ($function == 'update_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -4561,6 +5506,7 @@ if ($function == 'update_lead') if (strlen($owner)>0) {$VL_update_SQL .= "owner='$owner',";} if (strlen($called_count)>0) {$VL_update_SQL .= "called_count='$called_count',";} if ( (strlen($reset_lead) > 0 && $reset_lead == 'Y') ) {$VL_update_SQL .= "called_since_last_reset='N',";} + if ( (strlen($update_phone_number)>0 && $update_phone_number=='Y' && strlen($phone_number)>0) ) {$VL_update_SQL .= "phone_number='$phone_number',";} $VL_update_SQL = preg_replace("/,$/","",$VL_update_SQL); $VL_update_SQL = preg_replace("/'--BLANK--'/","''",$VL_update_SQL); $VL_update_SQL = preg_replace("/\n/","!N",$VL_update_SQL); @@ -4900,7 +5846,7 @@ if ($function == 'update_lead') else { ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); if (strlen($status)<1) {$status='NEW';} @@ -5094,11 +6040,6 @@ api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$resul - - - - - if ($format=='debug') { $ENDtime = date("U"); @@ -5119,7 +6060,7 @@ exit; ##### LOOKUP GMT, FINDS THE CURRENT GMT OFFSET FOR A PHONE NUMBER ##### -function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner) +function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix) { require("dbconnect.php"); @@ -5171,6 +6112,24 @@ if ( ($tz_method=="TZCODE") && (strlen($owner)>1) ) if (strlen($dst_range)>2) {$dst = 'Y';} } } +if ( (eregi("NANPA",$tz_method)) && (strlen($USarea)>2) && (strlen($USprefix)>2) ) + { + $stmt="select GMT_offset,DST from vicidial_nanpa_prefix_codes where areacode='$USarea' and prefix='$USprefix';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[0]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[1]; + $dst_range = ''; + if ($dst == 'Y') + {$dst_range = 'SSM-FSN';} + $PC_processed++; + $postalgmt_found++; + $post++; + } + } if ($postalgmt_found < 1) { $PC_processed=0; @@ -5924,273 +6883,160 @@ function dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state) $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times FROM vicidial_call_times where call_time_id='$local_call_time';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; - if ($GMT_day==0) #### Sunday local time - { - if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + if ( (strlen($Gct_state_call_times) > 2) and (strlen($state)>0) ) { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==1) #### Monday local time - { - if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==2) #### Tuesday local time - { - if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==3) #### Wednesday local time - { - if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==4) #### Thursday local time - { - if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==5) #### Friday local time - { - if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==6) #### Saturday local time - { - if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) - {$dialable=1;} - } - } + $Gct_state_call_timesSQL = $Gct_state_call_times; + $Gct_state_call_timesSQL = preg_replace("/\|/","','",$Gct_state_call_timesSQL); + $Gct_state_call_timesSQL = preg_replace("/^',|,'$/",'',$Gct_state_call_timesSQL); - return $dialable; - } - -/* - $ct_states = ''; - $ct_state_gmt_SQL = ''; - $ct_srs=0; - $b=0; - if (strlen($Gct_state_call_times)>2) - { - $state_rules = explode('|',$Gct_state_call_times); - $ct_srs = ((count($state_rules)) - 2); - } - while($ct_srs >= $b) - { - if ( (strlen($state_rules[$b])>1) and (strlen($state)>1) ) - { - $stmt="SELECT STAR from vicidial_state_call_times where state_call_time_id='$state_rules[$b]' and state_call_time_state='$state';"; + $stmt="SELECT sct_default_start,sct_default_stop,sct_sunday_start,sct_sunday_stop,sct_monday_start,sct_monday_stop,sct_tuesday_start,sct_tuesday_stop,sct_wednesday_start,sct_wednesday_stop,sct_thursday_start,sct_thursday_stop,sct_friday_start,sct_friday_stop,sct_saturday_start,sct_saturday_stop FROM vicidial_state_call_times where state_call_time_id IN($Gct_state_call_timesSQL) and state_call_time_state='$state';"; + if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; - - $ct_states .="'$Gstate_call_time_state',"; - - $r=0; - $state_gmt=''; - while($r < $g) + $state_times_to_print = mysql_num_rows($rslt); + if ($state_times_to_print > 0) { - if ($GMT_day[$r]==0) #### Sunday local time - { - if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==1) #### Monday local time - { - if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==2) #### Tuesday local time - { - if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==3) #### Wednesday local time - { - if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==4) #### Thursday local time - { - if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==5) #### Friday local time - { - if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==6) #### Saturday local time - { - if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - $r++; + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[0]; + $Gct_default_stop = $rowx[1]; + $Gct_sunday_start = $rowx[2]; + $Gct_sunday_stop = $rowx[3]; + $Gct_monday_start = $rowx[4]; + $Gct_monday_stop = $rowx[5]; + $Gct_tuesday_start = $rowx[6]; + $Gct_tuesday_stop = $rowx[7]; + $Gct_wednesday_start = $rowx[8]; + $Gct_wednesday_stop = $rowx[9]; + $Gct_thursday_start = $rowx[10]; + $Gct_thursday_stop = $rowx[11]; + $Gct_friday_start = $rowx[12]; + $Gct_friday_stop = $rowx[13]; + $Gct_saturday_start = $rowx[14]; + $Gct_saturday_stop = $rowx[15]; } - $state_gmt = "$state_gmt'99'"; - $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; } - $b++; - } - if (strlen($ct_states)>2) - { - $ct_states = eregi_replace(",$",'',$ct_states); - $ct_statesSQL = "and state NOT IN($ct_states)"; + ### go through each day to determine dialability + if ($GMT_day==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) + {$dialable=1;} + } + } + + return $dialable; } else { - $ct_statesSQL = ""; + return 0; } - -*/ - + } @@ -6208,7 +7054,6 @@ function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$val $TOTALrun = ($runS + $runM); $NOW_TIME = date("Y-m-d H:i:s"); - # api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script',run_time='$TOTALrun';"; $rslt=mysql_query($stmt, $link); } diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include01.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include01.php new file mode 100644 index 00000000..4f57df93 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include01.php @@ -0,0 +1,105 @@ +
    \n"; echo ""; echo "
    Administration: Maximum System Stats   $NWB#vicidial_max_stats$NWE

    \n"; - echo "
    \n"; + echo ""; + + echo "\n"; + + echo " to "; + + echo "    
    \n"; + echo "
    [TÉLÉCHARGER ALL]
    \n"; if ( (preg_match("/Maximum System Stats/",$LOGallowed_reports)) or (preg_match("/ALL RAPPORTS/",$LOGallowed_reports)) ) { @@ -33149,31 +36113,38 @@ if ($ADD==999992) } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } else @@ -33182,8 +36153,128 @@ if ($ADD==999992) } ##### END max system stats report ##### +##### If report run, update the time in the vicidial_report_log table ##### +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } +###################### +# ADD=999991 display server version info +###################### +if ($ADD==999991) + { + echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls','total call count in and out',0); + $download_link="[TÉLÉCHARGER]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls','total call count in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_inbound_all','total inbound call count',0); + $download_link="[TÉLÉCHARGER]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_inbound_all','total inbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_outbound_all','total outbound call count',0); + $download_link="[TÉLÉCHARGER]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_outbound_all','total outbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0); + $download_link="[TÉLÉCHARGER]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_inbound','most concurrent calls inbound total',0); + $download_link="[TÉLÉCHARGER]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_inbound','most concurrent calls inbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_outbound','most concurrent calls outbound total',0); + $download_link="[TÉLÉCHARGER]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_outbound','most concurrent calls outbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_agents','most concurrent agents',0); + $download_link="[TÉLÉCHARGER]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_agents','most concurrent agents',0,$end_date,$download_link); echo "
    \n"; + echo ""; + + echo "
    Administration: Server Version Information

    \n"; + + if ($LOGview_reports==1) + { + if ($reports_only_user < 1) + { + echo "
    \n";
    +
    +			echo "";
    +			echo "\n";
    +
    +			$stmt="SELECT server_id,server_description,server_ip,active,sysload,channels_total,cpu_idle_percent,disk_usage from servers order by server_id;";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$servers_to_print = mysql_num_rows($rslt);
    +			$i=0;
    +			while ($i < $servers_to_print)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$server_id[$i] =			$row[0];
    +				$server_description[$i] =	$row[1];
    +				$server_ip[$i] =			$row[2];
    +				$active[$i] =				$row[3];
    +				$sysload[$i] =				$row[4];
    +				$channels_total[$i] =		$row[5];
    +				$cpu_idle_percent[$i] =		$row[6];
    +				$disk_usage[$i] =			$row[7];
    +				$i++;
    +				}
    +
    +			$o=0;
    +			while ($servers_to_print > $o)
    +				{
    +				$cpu = (100 - $cpu_idle_percent[$o]);
    +				$disk = '';
    +				$disk_ary = explode('|',$disk_usage[$o]);
    +				$disk_ary_ct = count($disk_ary);
    +				$k=0;
    +				while ($k < $disk_ary_ct)
    +					{
    +					$disk_ary[$k] = preg_replace("/^\d* /","",$disk_ary[$k]);
    +					if ($k<1) {$disk = "$disk_ary[$k]";}
    +					else
    +						{
    +						if ($disk_ary[$k] > $disk) {$disk = "$disk_ary[$k]";}
    +						}
    +					$k++;
    +					}
    +				$disk = "$disk%";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +
    +				$s_time=' ';
    +				$s_ver=' ';
    +				$s_info_print='no svn information';
    +				$stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$servertime_to_print = mysql_num_rows($rslt);
    +				if ($servertime_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_time = $row[0];
    +					}
    +				$stmt="SELECT svn_revision,svn_info from servers where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$serverver_to_print = mysql_num_rows($rslt);
    +				if ($serverver_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_ver = $row[0];
    +					$s_info = $row[1];
    +					$s_info_print = preg_replace("/\n/",'
    ',$s_info); + } + if (strlen($s_info_print) < 1) {$s_info_print='no svn information';} + echo ""; + echo ""; + + echo "\n"; + $o++; + } + echo "
    SERVERDESCRIPTIONIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]$sysload[$o] - $cpu%$channels_total[$o]$disk$s_time$s_ver
     $s_info_print
    \n"; + } + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } +##### END server version info ##### echo "
    \n"; @@ -33199,7 +36290,7 @@ echo "

    "; echo "VERSION: $admin_version
    "; echo "CONSTRUCTION: $build\n"; if (!preg_match("/_CONSTRUCTION_/",$SShosted_settings)) - {echo "
    © 2012 ViciDial Group
    ";} + {echo "
    © 2013 ViciDial Group
    ";} echo "
    \n"; ?> @@ -33646,7 +36737,27 @@ if (isset($camp_lists)) $CCLsql = "and (called_count < $call_count_limit)"; } - $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL"; + $EXPsql=''; + $expired_lists=''; + $REPORTdate = date("Y-m-d"); + $stmt="SELECT list_id FROM vicidial_lists where list_id IN($camp_lists) and (active='Y') and (expiration_date < \"$REPORTdate\");"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + $f=0; + while ($rslt_rows > $f) + { + $rowx=mysql_fetch_row($rslt); + $expired_lists .= "'$rowx[0]',"; + $f++; + } + $expired_lists = preg_replace("/,$/",'',$expired_lists); + if (strlen($expired_lists) < 2) {$expired_lists = "''";} + $EXPsql = "and list_id NOT IN($expired_lists)"; + + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $EXPsql"; #$DB=1; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/admin_email_accounts.php b/agc_2-X/trunk/LANG_www/vicidial_fr/admin_email_accounts.php new file mode 100644 index 00000000..387b0198 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/admin_email_accounts.php @@ -0,0 +1,884 @@ + LICENSE: AGPLv2 +# +# This page manages the inbound email accounts in ViciDial +# +# changes: +# 121214-2245 - First Build +# 130102-1131 - Small admin log change +# 130221-1754 - Added level 8 disable add feature +# + +$admin_version = '2.6-3'; +$build = '130221-1754'; + +$sh="emails"; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["action"])) {$action=$_GET["action"];} + elseif (isset($_POST["action"])) {$action=$_POST["action"];} +if (isset($_GET["VALIDER"])) {$VALIDER=$_GET["VALIDER"];} + elseif (isset($_POST["VALIDER"])) {$VALIDER=$_POST["VALIDER"];} +if (isset($_GET["eact"])) {$eact=$_GET["eact"];} + elseif (isset($_POST["eact"])) {$eact=$_POST["eact"];} +if (isset($_GET["email_account_id"])) {$email_account_id=$_GET["email_account_id"];} + elseif (isset($_POST["email_account_id"])) {$email_account_id=$_POST["email_account_id"];} +if (isset($_GET["email_account_name"])) {$email_account_name=$_GET["email_account_name"];} + elseif (isset($_POST["email_account_name"])) {$email_account_name=$_POST["email_account_name"];} +if (isset($_GET["email_account_description"])) {$email_account_description=$_GET["email_account_description"];} + elseif (isset($_POST["email_account_description"])) {$email_account_description=$_POST["email_account_description"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["email_account_server"])) {$email_account_server=$_GET["email_account_server"];} + elseif (isset($_POST["email_account_server"])) {$email_account_server=$_POST["email_account_server"];} +if (isset($_GET["email_account_user"])) {$email_account_user=$_GET["email_account_user"];} + elseif (isset($_POST["email_account_user"])) {$email_account_user=$_POST["email_account_user"];} +if (isset($_GET["email_account_pass"])) {$email_account_pass=$_GET["email_account_pass"];} + elseif (isset($_POST["email_account_pass"])) {$email_account_pass=$_POST["email_account_pass"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["email_frequency_check_mins"])) {$email_frequency_check_mins=$_GET["email_frequency_check_mins"];} + elseif (isset($_POST["email_frequency_check_mins"])) {$email_frequency_check_mins=$_POST["email_frequency_check_mins"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["default_list_id"])) {$default_list_id=$_GET["default_list_id"];} + elseif (isset($_POST["default_list_id"])) {$default_list_id=$_POST["default_list_id"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["new_account_id"])) {$new_account_id=$_GET["new_account_id"];} + elseif (isset($_POST["new_account_id"])) {$new_account_id=$_POST["new_account_id"];} +if (isset($_GET["source_email_account"])) {$source_email_account=$_GET["source_email_account"];} + elseif (isset($_POST["source_email_account"])) {$source_email_account=$_POST["source_email_account"];} +if (isset($_GET["confirm_deletion"])) {$confirm_deletion=$_GET["confirm_deletion"];} + elseif (isset($_POST["confirm_deletion"])) {$confirm_deletion=$_POST["confirm_deletion"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_account_type"])) {$email_account_type=$_GET["email_account_type"];} + elseif (isset($_POST["email_account_type"])) {$email_account_type=$_POST["email_account_type"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,allow_emails,allow_emails,level_8_disable_add FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_queuemetrics_logging = $row[1]; + $SSenable_vtiger_integration = $row[2]; + $SSqc_features_active = $row[3]; + $SSoutbound_autodial_active = $row[4]; + $SSsounds_central_control_active = $row[5]; + $SSenable_second_webform = $row[6]; + $SSuser_territories_active = $row[7]; + $SScustom_fields_enabled = $row[8]; + $SSadmin_web_directory = $row[9]; + $SSwebphone_url = $row[10]; + $SSfirst_login_trigger = $row[11]; + $SShosted_settings = $row[12]; + $SSdefault_phone_registration_password =$row[13]; + $SSdefault_phone_login_password = $row[14]; + $SSdefault_server_password = $row[15]; + $SStest_campaign_calls = $row[16]; + $SSactive_voicemail_server = $row[17]; + $SSvoicemail_timezones = $row[18]; + $SSdefault_voicemail_timezone = $row[19]; + $SSdefault_local_gmt = $row[20]; + $SScampaign_cid_areacodes_enabled = $row[21]; + $SSpllb_grouping_limit = $row[22]; + $SSdid_ra_extensions_enabled = $row[23]; + $SSexpanded_list_stats = $row[24]; + $SScontacts_enabled = $row[25]; + $SSalt_log_server_ip = $row[26]; + $SSalt_log_dbname = $row[27]; + $SSalt_log_login = $row[28]; + $SSalt_log_pass = $row[29]; + $SStables_use_alt_log_db = $row[30]; + $SSallow_emails = $row[31]; + $SSemail_enabled = $row[32]; + $SSlevel_8_disable_add = $row[33]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $email_account_id = ereg_replace("[^_0-9a-zA-Z]","",$email_account_id); + $email_account_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_name); + $email_account_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_description); + $user_group = ereg_replace("[^_0-9a-zA-Z]","",$user_group); + $protocol = ereg_replace("[^_0-9a-zA-Z]","",$protocol); + $email_account_server = ereg_replace("[^\.\-\_0-9a-zA-Z]","",$email_account_server); + $active = ereg_replace("[^_0-9a-zA-Z]","",$active); + $email_frequency_check_mins = preg_replace("/^0-9/","",$email_frequency_check_mins); + $list_id = ereg_replace("[^0-9]","",$list_id); + + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$add_copy_disabled=0; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_email_accounts='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($webroot_writable > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$user = $PHP_AUTH_USER; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Login ou mot de passe invalide: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + if ($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,user_level,user_group,modify_email_accounts from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $LOGuser_level = $row[1]; + $LOGuser_group = $row[2]; + $LOGemails_modify = $row[3]; + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} + + $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGallowed_reports = $row[1]; + $LOGadmin_viewable_groups = $row[2]; + $LOGadmin_viewable_call_times = $row[3]; + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} + $regexLOGadmin_viewable_groups = " $LOGadmin_viewable_groups "; + + $UUgroups_list=''; + if ($admin_viewable_groupsALL > 0) + {$UUgroups_list .= "\n";} + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + $UUgroups_to_print = mysql_num_rows($rslt); + $o=0; + while ($UUgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $UUgroups_list .= "\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + # $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ADMINISTRATION: Dialer champs de compte de messagerie +<?php + +##### BEGIN Set variables to make header show properly ##### +$ADD = '0'; +$hh = 'admin'; +$sh = 'emails'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$admin_color = '#FFFF99'; +$admin_font = 'BLACK'; +$admin_color = '#E6E6E6'; +$emails_color = '#FFFF99'; +$emails_font = 'BLACK'; +$emails_color = '#C6C6C6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +if ( ($LOGemails_modify < 1) or ($LOGuser_level < 8) ) + { + echo "You are not authorized to view this section\n"; + exit; + } + +if ($SSemail_enabled < 1) + { + echo "ERREUR: emails entrants ne sont pas actifs sur ce système\n"; + exit; + } + + +$NWB = "   <a href=\"javascript:openNewWindow('admin.php?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"AIDE\" ALIGN=TOP></A>"; + + +if ($DB > 0) +{ +echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_email_account,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order"; +} + +if ($eact=="DELETE" && $confirm_deletion=="yes" && $email_account_id) + { + $del_stmt="delete from vicidial_email_accounts where email_account_id='$email_account_id'"; + $del_rslt=mysql_query($del_stmt, $link); + $message="ACCOUNT $email_account_id DELETED<BR/>"; + $eact=""; + } + + + +if (($VALIDER=="VALIDER" || $VALIDER=="UPDATE") && $email_account_id) + { + $error_msg=""; + if (!$list_id) {$error_msg.="- Default list ID is invalide ou nulle<BR/>";} + if (!$email_account_id) {$error_msg.="- Email account ID is invalide ou nulle<BR/>";} + if (!$email_account_name) {$error_msg.="- Email account name is invalide ou nulle<BR/>";} + if (!$email_account_server) {$error_msg.="- Email account server is invalide ou nulle<BR/>";} + if (!$email_account_user) {$error_msg.="- Email account user is invalide ou nulle<BR/>";} + if (!$email_account_pass) {$error_msg.="- Email account password is invalide ou nulle<BR/>";} + if (!filter_var($email_replyto_address, FILTER_VALIDATE_EMAIL)) {$error_msg.="- Email reply-to address is invalide ou nulle<BR/>";} + + if (!$error_msg) + { + if ($VALIDER=="VALIDER") + { + if ($add_copy_disabled > 0) + { + echo "<br>Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } + else + { + $ins_stmt="INSERT INTO vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, email_replyto_address, protocol, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$email_account_id', '$email_account_name', '$email_account_description', '$user_group', '$email_replyto_address', '$protocol', '$email_account_server', '$email_account_user', '$email_account_pass', '$active', '$email_frequency_check_mins', '$group_id', '$default_list_id', '$email_account_type', '$call_handle_method', '$agent_search_method', '$list_id', '$campaign_id')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to create the new account<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NOUVEAU COMPTE $email_account_id Créé avec succès"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $upd_stmt="update vicidial_email_accounts set email_account_name='$email_account_name', email_account_description='$email_account_description', user_group='$user_group', protocol='$protocol', email_replyto_address='$email_replyto_address', email_account_server='$email_account_server', email_account_user='$email_account_user', email_account_pass='$email_account_pass', active='$active', email_frequency_check_mins='$email_frequency_check_mins', group_id='$group_id', default_list_id='$default_list_id', email_account_type='$email_account_type', call_handle_method='$call_handle_method', agent_search_method='$agent_search_method', campaign_id='$campaign_id', list_id='$list_id' WHERE email_account_id='$email_account_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to update account $email_account_id<BR/>"; + if($DB>0) {$error_msg.="<B>$upd_stmt</B><BR>";} + } + else + { + $message="ACCOUNT $email_account_id Modifié avec succès"; + # $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$upd_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='MODIFY', record_id='$email_account_id', event_code='EMAIL ACCOUNT MODIFIED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } +else if ($VALIDER=="COPY") + { + $stmt="select * from vicidial_email_accounts where email_account_id='$source_email_account'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) + { + if ($add_copy_disabled > 0) + { + echo "<br>Vous n'avez pas la permission d'ajouter des enregistrements sur ce système -system_settings-\n"; + } + else + { + $row=mysql_fetch_array($rslt); + $ins_stmt="insert into vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, protocol, email_replyto_address, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$new_account_id', '$email_account_name', '$row[email_account_description]', '$row[user_group]', '$row[protocol]', '$row[email_replyto_address]', '$row[email_account_server]', '$row[email_account_user]', '$row[email_account_pass]', '$row[active]', '$row[email_frequency_check_mins]', '$row[group_id]','$row[default_list_id]', '$row[email_account_type]', '$row[call_handle_method]','$row[agent_search_method]', '$row[list_id]', '$row[campaign_id]')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- Il y avait une erreur inconnue lors de la tentative de copier le nouveau compte<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NOUVEAU COMPTE $new_account_id SUCCES copiés à partir $source_email_account<BR/>"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $error_msg="- Error - mail source n'existe pas<BR/>"; + if($DB>0) {$error_msg.="<B>$stmt</B><BR>";} + } + } + + +################################################################################ +##### BEGIN copy fields to a list form +if ($eact == "COPY") + { + ##### get lists listing for dynamic pulldown + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts order by email_account_id"; + $rsltx=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rsltx); + $accounts_list=''; + $o=0; + if ($accounts_to_print>0) + { + while ($accounts_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $accounts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Compte pas copié<BR/>Les données présentées ont les erreurs suivantes:<BR/>$error_msg";} + echo "<br>Copiez Nouveau compte Compte existant<form action='$PHP_SELF' method='GET'>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=action value=COPY_EMAIL_VALIDER>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID du compte à copier à partir: </td><td align=left><select size=1 name=source_email_account>\n"; + echo "$accounts_list"; + echo "</select></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nouveau numéro de compte: </td><td align=left><input type=text name=new_account_id value='$new_account_id' size=10 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nouveau nom de compte: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100>$NWB#vicidial_email_accounts-carrier_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=VALIDER value='COPY'></td></tr>\n"; + echo "</TABLE></center>\n"; + echo "</TD></TR></TABLE>\n"; + } + else + { + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><br>*** Il n'y a pas les comptes existants pour copier à partir de ***\n"; + echo "</TD></TR></TABLE>\n"; + } + } +### END copy fields to a list form +else if ($eact == "ADD") + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "Compte non INSERTED<BR/>Les données présentées ont les erreurs suivantes:<BR/>$error_msg";} + echo "<br>Ajouter un nouveau compte de courrier entrant<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account ID: </td><td align=left><input type=text name=email_account_id size=15 maxlength=20 value='$email_account_id'>$NWB#vicidial_email_accounts-email_account_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Nom du compte: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Actif: </td><td align=left><select size=1 name=active><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Description de compte: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Type de compte: </td><td align=left><select size=1 name=email_account_type><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Groupe d'utilisateurs d'administration: </td><td align=left><select size=1 name=user_group>\n"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Tous les groupes d'utilisateurs d'administration</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Protocole de compte: </td><td align=left><select size=1 name=protocol><option SELECTED>IMAP</option><option>POP3</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Adresse de réponse: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Serveur: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Utilisateur Account: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Mot de passe: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">ID en groupe</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "</select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">ID par défaut de la liste</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>In-Call Groupe Handle Méthode:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En groupe Agent Méthode de recherche:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Liste du groupe ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En-groupe ID de la campagne:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=VALIDER VALUE=VALIDER><input type=hidden name='eact' value='ADD'></td></tr>\n"; + echo "</TABLE></center></form>\n"; + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } +else if (($eact=="DELETE" || $eact=="UPDATE") && $email_account_id) + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT * from vicidial_email_accounts where email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_array($rslt); + + $email_account_id=$row["email_account_id"]; + $email_account_name=$row["email_account_name"]; + $email_account_description=$row["email_account_description"]; + $user_group=$row["user_group"]; + $protocol=$row["protocol"]; + $email_replyto_address=$row["email_replyto_address"]; + $email_account_server=$row["email_account_server"]; + $email_account_user=$row["email_account_user"]; + $email_account_pass=$row["email_account_pass"]; + $active=$row["active"]; + $email_frequency_check_mins=$row["email_frequency_check_mins"]; + $group_id=$row["group_id"]; + $call_handle_method=$row["call_handle_method"]; + $agent_search_method=$row["agent_search_method"]; + $campaign_id=$row["campaign_id"]; + $list_id=$row["list_id"]; + $default_list_id=$row["default_list_id"]; + $email_account_type=$row["email_account_type"]; + + if ($eact=="DELETE" && $email_account_id) + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><B>Confirmer la suppression du compte de messagerie INBOUND $email_account_id</B><BR>\n"; + echo "<a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id&confirm_deletion=yes'>Cliquez sur pour supprimer un compte $email_account_id</a>\n"; + echo "</font>"; + } + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + ## Get unhandled count + $stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $unhandled_emails=$row[0]; + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + if ($error_msg) {echo "Compte non JOUR<BR/>Les données présentées ont les erreurs suivantes:<BR/>$error_msg";} + echo "<br>Mettre à jour un compte de messagerie ENTRANT EN VIGUEUR<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account ID: </td><td align=left><input type=hidden name=email_account_id value='$email_account_id'><B>$email_account_id$NWB#vicidial_email_accounts-email_account_id$NWE</B></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Nom du compte: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Actif: </td><td align=left><select size=1 name=active>"; + echo "<option value='$active' selected>$active</option>"; + echo "<option>Y</option><option>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Description de compte: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Type de compte: </td><td align=left><select size=1 name=email_account_type><option value='$email_account_type' selected>$email_account_type</option><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Groupe d'utilisateurs d'administration: </td><td align=left><select size=1 name=user_group>\n"; + echo "<option value='$user_group' selected>$user_group</option>"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Tous les groupes d'utilisateurs d'administration</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Protocole de compte: </td><td align=left><select size=1 name=protocol><option>IMAP</option><option>POP3</option><option SELECTED>$protocol</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Adresse de réponse: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Serveur: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Utilisateur Account: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Mot de passe: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + echo "<option value='$email_frequency_check_mins' selected>$email_frequency_check_mins</option>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=3811&group_id=$group_id\">ID en groupe</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "<option value='$group_id' selected>$group_id</option></select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">ID par défaut de la liste</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + +############### + echo "<tr bgcolor=#B6D3FC><td align=right>In-Call Groupe Handle Méthode:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En groupe Agent Méthode de recherche:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>In-Liste du groupe ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>En-groupe ID de la campagne:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Les e-mails non traités: </td><td align=left><B>$unhandled_emails</B></td></tr>\n"; +################ + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=VALIDER VALUE=UPDATE><input type=hidden name='eact' value='UPDATE'></td></tr>\n"; + echo "</TABLE><BR><BR>"; + if ($LOGuser_level >= 9) + { + echo "<br><br><a href=\"admin.php?ADD=720000000000000&category=EMAIL&stage=$email_account_id\">Cliquez ici pour voir les changements d'administration de ce disque</FONT>\n"; + } + echo "<BR><BR><a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id'>DELETE EMAIL ACCOUNT</a></center></form>\n"; + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } +else + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + echo "<br>ENTRANTS BIENS compte de messagerie:\n"; + echo "<center><TABLE width=750 cellspacing=0 cellpadding=1>\n"; + echo "<TR BGCOLOR=BLACK>\n"; + echo "<TD><font size=1 color=white>ACCOUNT ID</TD>\n"; + echo "<TD><font size=1 color=white>ACCOUNT NAME</TD>\n"; + echo "<TD><font size=1 color=white>DESCRIPTION</TD>\n"; + echo "<TD><font size=1 color=white>REPLY-TO ADDRESS</TD>\n"; + echo "<TD><font size=1 color=white>PROTOCOL</TD>\n"; + echo "<TD><font size=1 color=white>SERVER</TD>\n"; + echo "<TD><font size=1 color=white>FREQUENCY</TD>\n"; + echo "<TD><font size=1 color=white>ACTIF</TD>\n"; + echo "<TD><font size=1 color=white>Courriers non lus</TD>\n"; + echo "<TD><font size=1 color=white>MODIFIER</TD></tr>\n"; + + $stmt="SELECT email_account_id, email_account_name, email_account_description, email_replyto_address, protocol, email_account_server, email_frequency_check_mins, active from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $rslt=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rslt); + $o=0; + while ($accounts_to_print > $o) + { + $row=mysql_fetch_array($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$row[email_account_id]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<tr $bgcolor><td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">$row[email_account_id]</a></font></td>"; + echo "<td><font size=1> $row[email_account_name]</font></td>"; + echo "<td><font size=1> $row[email_account_description]</font></td>"; + echo "<td><font size=1> $row[email_replyto_address]</font></td>"; + echo "<td><font size=1> $row[protocol]</font></td>"; + echo "<td><font size=1> $row[email_account_server]</font></td>"; + echo "<td><font size=1> $row[email_frequency_check_mins] mins</font></td>"; + echo "<td><font size=1> $row[active]</font></td>"; + echo "<td><font size=1> $unhandled_emails</font></td>"; + echo "<td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">MODIFIER</a></font></td></tr>\n"; + $o++; + } + + echo "</table></font>"; + } + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $STARTtime); +echo "\n\n\n<br><br><br>\n<font size=1> runtime: $RUNtime seconds         Version: $admin_version     Build: $build</font>"; + +?> + +</body> +</html> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/admin_header.php b/agc_2-X/trunk/LANG_www/vicidial_fr/admin_header.php index 283c6219..6bd54270 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/admin_header.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/admin_header.php @@ -1,7 +1,7 @@ <?php # admin_header.php - VICIDIAL administration header # -# Copyright (C) 2012 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 # # CHANGES @@ -37,6 +37,10 @@ # 111106-0939 - Changes for user group restrictions # 111116-0208 - Added ALT and ADDR3 in-group handle methods # 120402-2134 - Changed lead loader link to fourth gen +# 121116-1412 - Added QC functionality +# 121123-0911 - Added Call Times Holidays Inbound functionality +# 121214-2238 - Added email menus +# 130221-1830 - Added Level 8 disable add option # @@ -50,13 +54,14 @@ if($short_header) ?> <TD>   <A HREF="admin.php" ALT="Utilisateurs"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Utilisateurs</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10" ALT="Campagnes"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Campagnes</B></A>   </TD> + <?php include 'qc/QC_header_include02.php'; ?> <TD>   <A HREF="admin.php?ADD=100" ALT="Listes"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Listes</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000000" ALT="Scripts"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Scripts</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000000" ALT="Filtres"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Filtres</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000" ALT="Inbound"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Inbound</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=100000" ALT="Groupes d'utilisateurs"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Groupes d'utilisateurs</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000" ALT="Agents distants"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Agents distants</B></A>   </TD> - <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Admin</B></A>   </TD> + <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B> Administrateur </B></A>   </TD> <?php } else @@ -110,6 +115,7 @@ if ($hh=='admin') if ($hh=='reports') {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} +include('qc/QC_header_include01.php'); echo "\n"; echo ""; $field_check=explode($delimiter, $buffer); flush(); -} else if ($form_action=="update_template") { + } +else if ($form_action=="update_template") + { echo "Hi"; -} else { + } +else + { + if ( (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) or (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$sample_template_file_name)) ) + { + echo "ERROR: Invalid File Name: $LF_orig $sample_template_file_name\n"; + exit; + } # echo "** $form_action"; die; $fields_stmt = "SELECT list_id, vendor_lead_code, source_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, rank, owner from vicidial_list limit 1"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/list_download.php b/agc_2-X/trunk/LANG_www/vicidial_fr/list_download.php index ea3cd2fe..e009bcd7 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/list_download.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/list_download.php @@ -4,7 +4,7 @@ # downloads the entire contents of a vicidial list ID to a flat text file # that is tab delimited # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,13 @@ # 100924-1609 - Added ALL-LISTS option for downloading everything # 100929-1919 - Fixed ALL-LISTS download option to include custom fields # 101004-2108 - Added generic custom column headers for custom fields +# 120713-2110 - Added extended_vl_fields option +# 120907-1217 - Raised extended fields up to 99 +# 130414-0228 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -91,6 +87,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$list_id, $group_id, $download_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -112,6 +137,16 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL exit; } +if (file_exists('options.php')) + {require('options.php');} +$extended_vl_fields_SQL=''; +$extended_vl_fields_HEADER=''; +if ($extended_vl_fields > 0) + { + $extended_vl_fields_SQL = ',q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31,q32,q33,q34,q35,q36,q37,q38,q39,q40,q41,q42,q43,q44,q45,q46,q47,q48,q49,q50,q51,q52,q53,q54,q55,q56,q57,q58,q59,q60,q61,q62,q63,q64,q65,q66,q67,q68,q69,q70,q71,q72,q73,q74,q75,q76,q77,q78,q79,q80,q81,q82,q83,q84,q85,q86,q87,q88,q89,q90,q91,q92,q93,q94,q95,q96,q97,q98,q99'; + $extended_vl_fields_HEADER = "\tq01\tq02\tq03\tq04\tq05\tq06\tq07\tq08\tq09\tq10\tq11\tq12\tq13\tq14\tq15\tq16\tq17\tq18\tq19\tq20\tq21\tq22\tq23\tq24\tq25\tq26\tq27\tq28\tq29\tq30\tq31\tq32\tq33\tq34\tq35\tq36\tq37\tq38\tq39\tq40\tq41\tq42\tq43\tq44\tq45\tq46\tq47\tq48\tq49\tq50\tq51\tq52\tq53\tq54\tq55\tq56\tq57\tq58\tq59\tq60\tq61\tq62\tq63\tq64\tq65\tq66\tq67\tq68\tq69\tq70\tq71\tq72\tq73\tq74\tq75\tq76\tq77\tq78\tq79\tq80\tq81\tq82\tq83\tq84\tq85\tq86\tq87\tq88\tq89\tq90\tq91\tq92\tq93\tq94\tq95\tq96\tq97\tq98\tq99"; + } + $LOGallowed_campaignsSQL=''; if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) { @@ -304,13 +339,13 @@ else { $TXTfilename = "LIST_$list_id$US$FILE_TIME.txt"; $list_id_header=''; - $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id='$list_id';"; + $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id='$list_id';"; if ($list_id=='ALL-LISTS') { $list_id_header="list_id\t"; - $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id > 0;"; + $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id > 0;"; } - $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner"; + $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner$extended_vl_fields_HEADER"; $header_columns=''; } @@ -342,16 +377,21 @@ while ($i < $leads_to_print) else { $row[29] = preg_replace("/\n|\r/",'!N',$row[29]); + $extended_vl_fields_DATA=''; if ($list_id=='ALL-LISTS') { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[33]\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]$extended_vl_fields_DATA"; $export_list_id[$i] = $row[0]; $export_lead_id[$i] = $row[1]; } else { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]\t$row[132]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]$extended_vl_fields_DATA"; $export_list_id[$i] = $list_id; $export_lead_id[$i] = $row[0]; } @@ -480,14 +520,6 @@ if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') ) } -### LOG INSERTION Admin Log Table ### -$SQL_log = "$stmt|$stmtA|"; -$SQL_log = ereg_replace(';','',$SQL_log); -$SQL_log = addslashes($SQL_log); -$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; -if ($DB) {echo "|$stmt|\n";} -$rslt=mysql_query($stmt, $link); - echo "$header_row$header_columns\r\n"; @@ -499,6 +531,33 @@ while ($i < $leads_to_print) $i++; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +### LOG INSERTION Admin Log Table ### +$SQL_log = "$stmt|$stmtA|"; +$SQL_log = ereg_replace(';','',$SQL_log); +$SQL_log = addslashes($SQL_log); +$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/non_agent_api.php b/agc_2-X/trunk/LANG_www/vicidial_fr/non_agent_api.php index a4a8d34e..a59b4ffe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/non_agent_api.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/non_agent_api.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed as an API(Application Programming Interface) to allow # other programs to interact with all non-agent-screen VICIDIAL functions @@ -65,10 +65,20 @@ # 120213-1613 - Added optional logging of all non-admin.php requests, enabled in options.php # 120315-1537 - Added filter for single-quotes and backslashes on custom field data # 120326-1317 - Added agent_stats_export function +# 120810-0859 - Added add_group_alias function, altered agent_stats_export function +# 120831-1529 - Added vicidial_dial_log outbound call logging +# 120912-2042 - Added user_group_status and in_group_status functions +# 120913-1255 - Added update_log_entry function +# 121116-1938 - Added state call time restrictions to add_lead hopper insert function +# 121125-2210 - Added Other Campaign DNC option and list expiration date option +# 130328-0949 - Added update_phone_number option to update_lead function, issue #653 +# 130405-1539 - Added agent_status function +# 130414-0311 - Added report logging for blind_monitor function +# 130420-1938 - Added NANPA prefix validation and timezone options # -$version = '2.4-43'; -$build = '120326-1317'; +$version = '2.6-53'; +$build = '130420-1938'; $api_url_log = 0; $startMS = microtime(); @@ -88,6 +98,8 @@ if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["update_phone_number"])) {$update_phone_number=$_GET["update_phone_number"];} + elseif (isset($_POST["update_phone_number"])) {$update_phone_number=$_POST["update_phone_number"];} if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} @@ -298,6 +310,26 @@ if (isset($_GET["datetime_end"])) {$datetime_end=$_GET["datetime_end"];} elseif (isset($_POST["datetime_end"])) {$datetime_end=$_POST["datetime_end"];} if (isset($_GET["time_format"])) {$time_format=$_GET["time_format"];} elseif (isset($_POST["time_format"])) {$time_format=$_POST["time_format"];} +if (isset($_GET["group_alias_id"])) {$group_alias_id=$_GET["group_alias_id"];} + elseif (isset($_POST["group_alias_id"])) {$group_alias_id=$_POST["group_alias_id"];} +if (isset($_GET["group_alias_name"])) {$group_alias_name=$_GET["group_alias_name"];} + elseif (isset($_POST["group_alias_name"])) {$group_alias_name=$_POST["group_alias_name"];} +if (isset($_GET["caller_id_number"])) {$caller_id_number=$_GET["caller_id_number"];} + elseif (isset($_POST["caller_id_number"])) {$caller_id_number=$_POST["caller_id_number"];} +if (isset($_GET["caller_id_name"])) {$caller_id_name=$_GET["caller_id_name"];} + elseif (isset($_POST["caller_id_name"])) {$caller_id_name=$_POST["caller_id_name"];} +if (isset($_GET["user_groups"])) {$user_groups=$_GET["user_groups"];} + elseif (isset($_POST["user_groups"])) {$user_groups=$_POST["user_groups"];} +if (isset($_GET["in_groups"])) {$in_groups=$_GET["in_groups"];} + elseif (isset($_POST["in_groups"])) {$in_groups=$_POST["in_groups"];} +if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} + elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_GET["nanpa_ac_prefix_check"];} + elseif (isset($_POST["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_POST["nanpa_ac_prefix_check"];} header ("Content-type: text/html; charset=utf-8"); @@ -327,6 +359,7 @@ if ($non_latin < 1) $format = ereg_replace("[^0-9a-zA-Z]","",$format); $list_id = ereg_replace("[^0-9]","",$list_id); $phone_code = ereg_replace("[^0-9]","",$phone_code); + $update_phone_number=ereg_replace("[^A-Z]","",$update_phone_number); $phone_number = ereg_replace("[^0-9]","",$phone_number); $vendor_lead_code = ereg_replace(";","",$vendor_lead_code); $vendor_lead_code = ereg_replace("\+"," ",$vendor_lead_code); @@ -442,6 +475,16 @@ if ($non_latin < 1) $datetime_start = ereg_replace("[^- \+\:\_0-9]","",$datetime_start); $datetime_end = ereg_replace("[^- \+\:\_0-9]","",$datetime_end); $time_format = ereg_replace("[^A-Z]","",$time_format); + $group_alias_id = ereg_replace("[^\_0-9a-zA-Z]","",$group_alias_id); + $group_alias_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$group_alias_name); + $caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); + $caller_id_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$caller_id_name); + $user_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$user_groups); + $in_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$in_groups); + $call_id = ereg_replace("[^0-9a-zA-Z]","",$call_id); + $group = ereg_replace("[^-\|\_0-9a-zA-Z]","",$group); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $nanpa_ac_prefix_check = ereg_replace("[^A-Z]","",$nanpa_ac_prefix_check); } else { @@ -451,6 +494,7 @@ else } $USarea = substr($phone_number, 0, 3); +$USprefix = substr($phone_number, 3, 3); if (strlen($hopper_priority)<1) {$hopper_priority=0;} if ($hopper_priority < -99) {$hopper_priority=-99;} if ($hopper_priority > 99) {$hopper_priority=99;} @@ -535,7 +579,7 @@ if ($function == 'version') ################################################################################ if ($function == 'sounds_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; if ($DB>0) {echo "DEBUG: sounds_list query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -556,10 +600,11 @@ if ($function == 'sounds_list') if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} $admDIR = "$HTTPprotocol$server_name:$server_port"; + $admin_web_dir=''; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### - $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory FROM system_settings;"; + $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory,admin_web_directory FROM system_settings;"; $rslt=mysql_query($stmt, $link); $ss_conf_ct = mysql_num_rows($rslt); if ($ss_conf_ct > 0) @@ -569,6 +614,9 @@ if ($function == 'sounds_list') $sounds_central_control_active = $row[1]; $sounds_web_server = $row[2]; $sounds_web_directory = $row[3]; + $admin_web_directory = $row[4]; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} } ##### END SETTINGS LOOKUP ##### ########################################### @@ -631,7 +679,7 @@ if ($function == 'sounds_list') if (eregi('tab',$format)) {echo "$k\t$file_names[$m]\t$file_dates[$m]\t$file_sizes[$m]\t$file_epoch[$m]\n";} if (eregi('link',$format)) - {echo "$file_names[$m]
    \n";} + {echo "$file_names[$m]
    \n";} if (eregi('selectframe',$format)) { if ($sf < 1) @@ -674,7 +722,7 @@ if ($function == 'sounds_list') echo "
    $file_names[$m]$file_dates[$m]$file_sizes[$m]PLAY
    PLAY
    \n"; + echo ""; +//SELECT campaign_id,campaign_name from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name"; +// echo $stmt="SELECT conf_exten,server_ip,extension from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + + echo "
    VICIDIAL QUALITY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    CAMPAIGN IDCAMPAIGN NAMEQC STATUSESMODIFIER
    $row[0] $row[1] $row[2]MODIFIER
    \n"; +} +###################### +# ADD=881 VIEW one qc campaign +###################### +if (($ADD==881) && ($qc_auth=='1')) { + echo " + + + 1) { + ?> +> + + +> + + +> + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include01.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include01.php new file mode 100644 index 00000000..4cbe0593 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include01.php @@ -0,0 +1,16 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include02.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include02.php new file mode 100644 index 00000000..360f14a6 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include02.php @@ -0,0 +1,17 @@ + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_status_codes_include.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_status_codes_include.php new file mode 100644 index 00000000..2620f31f --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_status_codes_include.php @@ -0,0 +1,140 @@ +"; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    QC CODE ÉTAT PAS AJOUTÉS- il existe déjà un code de statut qc dans le système avec ce nom: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    QC CODE ÉTAT PAS AJOUTÉS- Veuillez retourner en arrière et vérifier les données que vous avez saisies\n"; + echo "
    code doit être compris entre 1 et 8 caractères\n"; + echo "
    nom de code doit être compris entre 2 et 30 caractères\n"; + } + else + { + echo "
    QC ÉTAT CODE AJOUTEE:$code_name - $code\n"; + if (isset($_POST["qc_category"])) {$qc_category=$_POST["qc_category"];} + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) values('$code','$code_name','$qc_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111111; + } + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) + { + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + if ( ($SSadmin_modify_rafraîchir > 1) and ($modify_rafraîchir_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=341111111111111"; + $modify_footer_rafraîchir=1; + } + echo "
    \n"; + echo ""; + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' and campaign_id='$campaign_id' limit 1"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + $o++; + } + $qc_status_list=substr($row[2],0,strlen($row[2])-2); + + echo "
    $campaign_id - {$row[1]} - Contrôle de la qualité Queue
    QC statuses: $qc_status_list\n"; + + $qc_statuses=explode(' ',$qc_status_list); + echo "
    \n"; + foreach ( $qc_statuses as $qc_status ) { + $stmt="SELECT lead_id,first_name,last_name,modify_date,user from vicidial_list inner join vicidial_lists on vicidial_list.list_id=vicidial_lists.list_id where campaign_id='$campaign_id' and status='$qc_status' order by status, modify_date"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + if($o==0){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + $lead_name=trim($row[1].' '.$row[2]); + $lead_nameENC=urlencode($lead_name); + if (strlen($lead_name)<1) $lead_name='No Name'; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + } + echo "
    $qc_status ($vicidialconf_to_print)LEAD IDNOMLast ModifiedUtilisateurID
      $row[0]$lead_name $row[3]$row[4]
    \n"; +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include02.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include02.php new file mode 100644 index 00000000..4d299294 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_include02.php @@ -0,0 +1,34 @@ + 1 and active='Y' and qc_enabled='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$qc_auth=$row[0]; +//Not "qc_" as it will interfere with ADD=4A storage of modified user. +if ($qc_auth=='1') { + $qcuser_level=$row[1]; + $qcpass=$row[2]; + $qcfinish=$row[3]; + $qccommit=$row[4]; +} +//Modifiermenuing to allow qc users into the system (if they have no permission otherwise) +//Copied Rapports-Only user setup for QC-Only user (Poundteam QC setup) +$qc_only_user=0; +if ( ($qc_auth > 0) and ($auth < 1) ) + { + if ($ADD != '881'){ + $ADD=100000000000000; + } + $qc_only_user=1; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_modify_lead_include.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_modify_lead_include.php new file mode 100644 index 00000000..2541cf49 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_modify_lead_include.php @@ -0,0 +1,20 @@ + 0) + { + echo "

    Click here to QC Modifierthis lead\n"; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_variables.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_variables.php new file mode 100644 index 00000000..f99255fb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_admin_variables.php @@ -0,0 +1,15 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Login ou mot de passe invalide: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Ville'; +$label_state = 'State'; +$label_province = 'Province'; +$label_postal_code = 'Code Postal'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sexe'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Commentaires'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} +include('QC_call_client_include.php'); +$qc_user_logged_in=is_user_logged_in($PHP_AUTH_USER); +if ($qc_user_logged_in===true){ + echo "Call Lead"; +} else { + echo "$qc_user_logged_in"; +} +echo " Refresh"; + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_call_client_include.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_call_client_include.php new file mode 100644 index 00000000..02ea1866 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_call_client_include.php @@ -0,0 +1,45 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include.php new file mode 100644 index 00000000..86a4b965 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/QC_header_include.php @@ -0,0 +1,42 @@ + + + +
    > + SIZE=> Contrôle de la qualité +
      + > Show QC Campagnes +
      + > Enter QC Queue +
      + > ModifierQC Codes +
      Contrôle de la qualité  
    "; + $alts_output .= ""; + $alts_output .= ""; + $alts_output .= "\n"; + $alts_output .= "\n"; + $alts_output .= "\n"; + } + + } + else + { + echo "ECHEC de la vérification de la fiche pour l'id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + ##### grab vicidial_log records ##### + $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + if($DB) echo __LINE__."
    \n"; + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= ""; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select agent_log_id,user,server_ip,event_time,lead_id,campaign_id,pause_epoch,pause_sec,wait_epoch,wait_sec,talk_epoch,talk_sec,dispo_epoch,dispo_sec,status,user_group,comments,sub_status from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_qc_agent_log records ##### + //Differentiate between View and Mod + $stmt="select * from vicidial_qc_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by qc_agent_log_id desc limit 100;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo "$stmt
    \n"; + $y=0; + $qc_agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_assoc($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + if (strlen($row['save_epoch'])=='0'){ //VIEW ONLY record + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } else { // CHANGE record + $detailtooltip=str_replace("\n", " ", $row['details']); // tool tip line break and both work in IE, but not firefox. + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } + } + + ##### grab vicidial_closer_log records ##### + $stmt="select closecallid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,queue_seconds,user_group,xfercallid,term_reason,uniqueid,agent_only from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$lead_id = $row[0];} + $dispo = $row[3]; + $tsr = $row[4]; + $vendor_id = $row[5]; + $list_id = $row[7]; + $gmt_offset_now = $row[8]; + $phone_code = $row[10]; + $phone_number = $row[11]; + $title = $row[12]; + $first_name = $row[13]; + $middle_initial = $row[14]; + $last_name = $row[15]; + $address1 = $row[16]; + $address2 = $row[17]; + $address3 = $row[18]; + $city = $row[19]; + $state = $row[20]; + $province = $row[21]; + $postal_code = $row[22]; + $country_code = $row[23]; + $gender = $row[24]; + $date_of_birth = $row[25]; + $alt_phone = $row[26]; + $email = $row[27]; + $security = $row[28]; + $comments = $row[29]; + $called_count = $row[30]; + $last_local_call_time = $row[31]; + $rank = $row[32]; + $owner = $row[33]; + $entry_list_id = $row[34]; + + if($DB) { + echo __LINE__."\n"; + } + echo "
    Informations sur l'appel: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "VICIDIAL QC ÉTAT DANS CE SYSTEME DE CODES:  $NWB#vicidial_qc_status_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
    STATUS CODEDESCRIPTIONQC CATÉGORIEMODIFY/DELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    $rowx[2]         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "SUPPRIMER\n"; + } + else + { + echo "SUPPRIMER\n"; + } + echo "
    \n"; + + echo "
    ADD NEW QC Code de statut
    \n"; + echo "\n"; + echo "Etat:   \n"; + echo "Description: \n"; + echo "QC Catégorie :
    \n"; + + echo "

    \n"; + + } + else + { + echo "Vous n'avez pas la permission de voir cette page\n"; + exit; + } + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/audit_comments.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/audit_comments.php new file mode 100644 index 00000000..72489568 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentaires2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentaires3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentaires4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentairesERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditCommentaires5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditCommentaires:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditCommentaires',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditCommentaires $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditCommentaires UtilisateurID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UtilisateurID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditCommentaires Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_api.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_api.php new file mode 100644 index 00000000..3110188b --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_api.php @@ -0,0 +1,627 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$ingroup_choices = ereg_replace("\+"," ",$ingroup_choices); +$query_string = ereg_replace("'|\"|\\\\|;","",$query_string); + +if ($non_latin < 1) + { + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $agent_user=ereg_replace("[^0-9a-zA-Z]","",$agent_user); + $function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); + $value = ereg_replace("[^-\_0-9a-zA-Z]","",$value); + $vendor_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vendor_id); + $focus = ereg_replace("[^-\_0-9a-zA-Z]","",$focus); + $preview = ereg_replace("[^-\_0-9a-zA-Z]","",$preview); + $notes = ereg_replace("\+"," ",$notes); + $notes = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$notes); + $phone_code = ereg_replace("[^0-9X]","",$phone_code); + $search = ereg_replace("[^-\_0-9a-zA-Z]","",$search); + $group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); + $dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); + $source = ereg_replace("[^0-9a-zA-Z]","",$source); + $format = ereg_replace("[^0-9a-zA-Z]","",$format); + $vtiger_callback = ereg_replace("[^A-Z]","",$vtiger_callback); + $blended = ereg_replace("[^A-Z]","",$blended); + $ingroup_choices = ereg_replace("[^ -\_0-9a-zA-Z]","",$ingroup_choices); + $set_as_default = ereg_replace("[^A-Z]","",$set_as_default); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $address1 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address1); + $address2 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address2); + $address3 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address3); + $alt_phone = ereg_replace("[^ -\_0-9a-zA-Z]","",$alt_phone); + $city = ereg_replace("[^ -\_0-9a-zA-Z]","",$city); + $comments = ereg_replace("[^ -\_0-9a-zA-Z]","",$comments); + $country_code = ereg_replace("[^A-Z]","",$country_code); + $date_of_birth = ereg_replace("[^ -\_0-9]","",$date_of_birth); + $email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); + $first_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$first_name); + $gender = ereg_replace("[^A-Z]","",$gender); + $gmt_offset_now = ereg_replace("[^ \.-\_0-9]","",$gmt_offset_now); + $last_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$last_name); + $lead_id = ereg_replace("[^0-9]","",$lead_id); + $middle_initial = ereg_replace("[^ -\_0-9a-zA-Z]","",$middle_initial); + $province = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$province); + $security_phrase = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$security_phrase); + $source_id = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$source_id); + $state = ereg_replace("[^ -\_0-9a-zA-Z]","",$state); + $title = ereg_replace("[^ -\_0-9a-zA-Z]","",$title); + $vendor_lead_code = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$vendor_lead_code); + $rank = ereg_replace("[^-0-9]","",$rank); + $owner = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$owner); + $dial_override = ereg_replace("[^A-Z]","",$dial_override); + $consultative = ereg_replace("[^A-Z]","",$consultative); + } +else + { + $user = ereg_replace("'|\"|\\\\|;","",$user); + $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $source = ereg_replace("'|\"|\\\\|;","",$source); + $agent_user = ereg_replace("'|\"|\\\\|;","",$agent_user); + $alt_user = ereg_replace("'|\"|\\\\|;","",$alt_user); + } + +### date and fixed variables +$epoch = date("U"); +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$api_script = 'agent'; +$api_logging = 1; +if ($consultative != 'YES') {$consultative='NO';} + + +################################################################################ +### BEGIN - version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "VERSION: $version|CONSTRUCTION: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } +################################################################################ +### END - version +################################################################################ + + + + + +################################################################################ +### BEGIN - user validation section (most functions run through this first) +################################################################################ + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + $result = 'ERROR'; + $result_reason = "Login ou mot de passe invalide"; + echo "$result: $result_reason: |$user|$pass|$auth|\n"; + $data = "$user|$pass|$auth"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from system_settings where vdc_agent_api_active='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + $result = 'ERROR'; + $result_reason = "System API NOT ACTIVE"; + echo "$result: $result_reason\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + # do nothing for now + } + } + } + } + +if ($format=='debug') + { + $DB=1; + echo "\n"; + echo "\n"; + echo "";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_dial function set"; + $data = "$phone_code|$search|$preview|$focus|$vendor_id|$epoch|$dial_prefix|$group_alias|$caller_id_number"; + echo "$result: Dispo in Agent Screen FIRST.\n"; + // echo "$result: $result_reason - $value|$agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not allowed to place manual dial calls"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not paused"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + +// external_dial +################################################################################ +### END - external_dial +################################################################################ + + + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + + +##### FUNCTIONS ##### + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) + { + if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } + return 1; + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_modify_lead.php b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_modify_lead.php new file mode 100644 index 00000000..465c116f --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/qc/qc_modify_lead.php @@ -0,0 +1,1294 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Login ou mot de passe invalide: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads,user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + $LOGuser_group =$row[2]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Ville'; +$label_state = 'State'; +$label_province = 'Province'; +$label_postal_code = 'Code Postal'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sexe'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Commentaires'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} + + +//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + +$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; +$rslt=mysql_query($stmt, $link); +if (mysql_num_rows ($rslt) < '1' ){ + if($DB) { echo "$stmt\n"; } + exit(); + } +$row=mysql_fetch_assoc($rslt); +$original_record=$row; +$campaign_id =$row['campaign_id']; +$campaign_name =$row['campaign_name']; +$phone_number =$row['phone_number']; +$phone_code =$row['phone_code']; +$lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); +$scheduled_callback =$row['scheduled_callback']; + +?> + + + +QC ModifierLead: <?php echo "$lead_id - ".urldecode($lead_name).urldecode(" (Campagne: $campaign_id - $campaign_name)"); ?> + + + + + +QC CAMPAIGN $campaign_id: Lead $lead_id - ".urldecode($lead_name)."
    \n"; +//end_call is set by submit button to denote "save", without it this is a VIEW, with it this is a SAVE +if ($end_call > 0) { + if($DB) { echo __LINE__."\n"; } + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',title='" . mysql_real_escape_string($title) . "',first_name='" . mysql_real_escape_string($first_name) . "',middle_initial='" . mysql_real_escape_string($middle_initial) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',rank='" . mysql_real_escape_string($rank) . "',owner='" . mysql_real_escape_string($owner) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + //STATUS just changed, re-capture all data for client! + //Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + $stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; + if($DB) { echo "$stmt\n"; } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_assoc($rslt); + //QUALITY CONTROL CHANGE LOG BEGIN - CHANGE VERSION (VIEW VERSION IS BELOW, WHICH CREATES THE RECORD, THIS ONE MERELY MODIFIES THE EXISTING RECORD) + $new_record=$row; + //if status has changed, the join query above will have the "status" field of "vicidial_list" overwritten by the status field of "vicidial_statuses" ... which will be EMPTY if there is no matching status to the new QC status chosen. This will cause the changelog to be incorrect. + if ( strlen($new_record['status']) == '0' ) { + $new_record['status']=$new_record['code']; + } + + if($original_record != $new_record) { + //Information changed: Find out what and record it, first disable "view" logging + $qcchange='Y'; + $qcchangelist=''; + $qcchangecounter=0; + foreach($original_record as $key=>$value){ + //only list the changes in the first 35 fiels, those are from the vicidial_list table (the rest are from joined tables, and the changes cascade) + if(($new_record[$key]!=$value)&&($qcchangecounter<=35)) $qcchangelist.="----$key----\n$value => $new_record[$key]\n"; + $qcchangecounter++; + } + ### insert a NEW record to the vicidial_closer_log table + $qcchangelist=mysql_real_escape_string($qcchangelist); + $view_epoch = ereg_replace("[^0-9]","",$_POST['viewtime']); + $elapsed_seconds=$STARTtime-$view_epoch; + + $stmt="UPDATE vicidial_qc_agent_log set save_datetime='$NOW_TIME',save_epoch='$STARTtime',elapsed_seconds='$elapsed_seconds',old_status='{$original_record['status']}',new_status='{$new_record['status']}',details='$qcchangelist' + where view_epoch='$view_epoch' and lead_id='$lead_id'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL CHANGE LOG END + $original_sales_rep=$row['user']; + $campaign_id =$row['campaign_id']; + $campaign_name =$row['campaign_name']; + $lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); + $scheduled_callback =$row['scheduled_callback']; + + echo "
    Informations modifiées

    \n"; + echo "Go back to re-modify this QC lead


    \n"; + echo "
    Proceed to QC CAMPAIGN $campaign_id Queue

    Callback Information:\n"; + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if($DB) { + echo __LINE__."\n"; + } + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='ANYONE',status='ACTIVE',user='$PHP_AUTH_USER',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + //This entry creates the callback + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='USERONLY',status='ACTIVE',user='$original_sales_rep',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + $debug1=$stmt; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + if($DB) echo __LINE__."\n"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + } else { + echo "\n"; + //Not a "Submit" result, viewing the record (possibly with URL options such as those below which modify callback status but not record data) + if ($CBchangeUSERtoANY == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an ANYONE callback for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to ANYONE
    \n"; + $qcchange='Y'; + } + if ($CBchangeUSERtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to a different USERONLY callback record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeANYtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an USERONLY callback for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeDATE == 'YES') { + if($DB) echo __LINE__."\n"; + ### change date/time of vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set callback_time='" . mysql_real_escape_string($appointment_date) . " " . mysql_real_escape_string($appointment_time) . "',comments='" . mysql_real_escape_string($comments) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to $appointment_date $appointment_time
    \n"; + $qcchange='Y'; + } + //QUALITY CONTROL LOGGING BEGIN - VIEW ONLY + //If no changes have been made, record "view" of this record. + if ($qcchange != 'Y') { + if($DB) echo __LINE__."\n QCCHANGE != Y"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_qc_agent_log (qc_user,qc_user_group,qc_user_ip,lead_user,web_server_ip,view_datetime,view_epoch,lead_id,list_id,campaign_id,processed) + values('" . mysql_real_escape_string($PHP_AUTH_USER) . "','$LOGuser_group','{$_SERVER['REMOTE_ADDR']}','{$original_record['user']}','{$_SERVER['SERVER_ADDR']}','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($original_record['list_id']) . "','" . mysql_real_escape_string($campaign_id) . "','N')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL LOGGING END + if($DB) echo __LINE__."\n"; + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + if($DB) echo __LINE__."\n"; + ##### grab vicidial_list_alt_phones records ##### + $stmt="select phone_code,phone_number,alt_phone_note,alt_phone_count,active from vicidial_list_alt_phones where lead_id='" . mysql_real_escape_string($lead_id) . "' order by alt_phone_count limit 500;"; + $rslt=mysql_query($stmt, $link); + $alts_to_print = mysql_num_rows($rslt); + + $c=0; + $alts_output = ''; + while ($alts_to_print > $c) + { + if($DB) { + echo __LINE__."\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $c)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $c++; + $alts_output .= "
    $c$row[0] $row[1] $row[2] $row[3] $row[4]
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]   $row[10]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y{$row['view_datetime']}View Only - No changes{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}  
    $y{$row['view_datetime']}{$row['old_status']}{$row['new_status']}{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}{$row['elapsed_seconds']} DETAILS
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $stmt="SELECT user_id, timestamp, list_id, campaign_id, comment from vicidial_comments where lead_id='$lead_id' order by timestamp"; + $rslt=mysql_query($stmt, $link); + $row_count = mysql_num_rows($rslt); + $o=0; + $comments=false; + while ($row_count > $o) + { + if (!$comments) { + echo "\n"; + $comments=true; + } + $rowx=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + if ($comments) { + echo "\n"; + } + echo "\n"; + +// Section Modified for QC Functionality By PoundTeam +// echo "\n"; +// echo "\n"; +// echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    $label_vendor_lead_code: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     ID de la liste: $list_id     Called Count: $called_count
    $label_title:   \n"; + echo "$label_first_name:
    $label_middle_initial:   \n"; + echo " $label_last_name:
    $label_address1 :
    $label_address2 :
    $label_address3 :
    $label_city :
    $label_state:   \n"; + echo " $label_postal_code:
    $label_province :
    Pays :
    $label_phone_number :
    $label_phone_code :
    $label_alt_phone :
    $label_email :
    $label_security_phrase :
    Rank :
    Owner :
    $label_comments :
    Comment History
    $rowx[0] :
    $rowx[1]
    ID de la liste: $rowx[2]; ID de la campagne: $rowx[3]
    $rowx[4]

    QC Result: (with $list_campaign statuses)
    Modifiervicidial log
    Modifieragent log
    Modifiercloser log
    Disable QC log entry (this feature is not active yet)
    \n"; + echo "


    \n"; + + echo "
    \n"; + echo "Callback Détails:
    \n"; + //Added scheduled_callback regular statuses option + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') || $scheduled_callback=='Y' ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id,lead_id,list_id,campaign_id,status,entry_time,callback_time,modify_date,user,recipient,comments,user_group from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UtilisateurID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UtilisateurID: \n"; + echo "

    \n"; + } + + $appointment_datetimeARRAY = explode(" ",$rowx[6]); + $appointment_date = $appointment_datetimeARRAY[0]; + $appointment_timeARRAY = explode(":",$appointment_datetimeARRAY[1]); + $appointment_hour = $appointment_timeARRAY[0]; + $appointment_min = $appointment_timeARRAY[1]; + + + ?> + +
    +
    Change Scheduled Callback Date:
    + + + + + + + + + + + + + +
    + > + + + + +
    CallBack Date/Time: + + +     + + : + + +
    + Commentaires: + + +
    + + + + +
    +
    + + No Callback records found
    \n"; + } + + } + else + { + if($DB) { + echo __LINE__."\n"; + } + //Modifed text to allow for other than CBHOLD via custom statuses with scheduled callback chosen + echo "
    If you want to change this lead to a scheduled callback, first change the Disposition to CBHOLD or similar, then submit and you will be able to set the callback date and time.
    \n"; + } + echo "
    \n"; + + echo "

    \n"; + + echo "
    \n"; + + if ($c > 0) + { + if($DB) { + echo __LINE__."\n"; + } + echo "EXTENSION SUPPLEANT DE NUMEROS DE TELEPHONE POUR CE PLOMB:\n"; + echo "\n"; + echo "\n"; + + echo "$alts_output\n"; + + echo "
    # ALT PHONE ALT NOTE ALT COUNT ACTIVE
    \n"; + echo "

    \n"; + } + + + + ### iframe for custom fields display/editing + if ($custom_fields_enabled > 0) + { + $CLlist_id = $list_id; + if (strlen($entry_list_id) > 2) + {$CLlist_id = $entry_list_id;} + $stmt="MONTRER TABLES LIKE \"custom_$CLlist_id\";"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $tablecount_to_print = mysql_num_rows($rslt); + if ($tablecount_to_print > 0) + { + $stmt="SELECT count(*) from custom_$CLlist_id where lead_id='$lead_id';"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $fieldscount_to_print = mysql_num_rows($rslt); + if ($fieldscount_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $custom_records_count = $rowx[0]; + + echo "CHAMPS SUR MESURE POUR CE FIL:
    \n"; + echo "\n"; + echo "

    "; + } + } + } + + + echo "APPELS VERS CETTE FICHE:\n"; + echo "\n"; + echo "\n"; + + echo "$call_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAGNE LIST LEAD HANGUP REASON PHONE
    \n"; + echo "

    \n"; + + echo "CLOSER RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$closer_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAGNE LIST LEAD WAIT HANGUP REASON
    \n"; + echo "

    \n"; + + + echo "AGENT LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$agent_log\n"; + echo "
    # DATE/TIME CAMPAIGN TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; + echo "

    \n"; + echo "QUALITY CONTROL LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + echo "$qc_agent_log\n"; + echo "
    # DATE/TIME OLD STATUSNEW STATUSQC USERAGENTCAMPAIGNLISTELAPSED 
    \n"; + echo "

    \n"; + + echo "RECORDINGS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + $stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if ($DB) {echo "$logs_to_print|$stmt|\n";} + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if ( (eregi("ftp",$location)) or (eregi("http",$location)) ) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + + echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]


    \n"; + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 9 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $admin_display=$row[0]; + if ($admin_display > 0) + { + echo "Click here to see Lead Modifierchanges to this lead\n"; + } + + echo "\n"; + } + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \ntemps d'exécution du script: $RUNtime seconds
    "; + + +?> + + + + + +original_record:
    "; + print_r($original_record); + echo "
    new_record:
    "; + print_r($new_record); + echo "scheduled_callback:
    "; + print_r($scheduled_callback); + echo "debug1:
    "; + print_r($debug1); + echo "Post:
    "; + print_r($_POST); + echo "qcchangelist:
    "; + print_r($qcchangelist); + echo "
    "; +} +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/realtime_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/realtime_report.php index 766f48e7..ffe23461 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/realtime_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/realtime_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -20,10 +20,14 @@ # 110516-2128 - IE fix # 110526-1807 - Added webphone_auto_answer option # 120223-1917 - Added multi-user-group options +# 121129-2131 - Fixed Choose link position +# 130414-0247 - Added report logging # -$version = '2.4-9'; -$build = '120223-1917'; +$startMS = microtime(); + +$version = '2.6-11'; +$build = '130414-0247'; header ("Content-type: text/html; charset=utf-8"); @@ -112,15 +116,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $webphone_width = '460'; $webphone_height = '500'; $webphone_left = '600'; @@ -269,6 +264,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$groups[0]|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + if ($auth) { $office_no=strtoupper($PHP_AUTH_USER); @@ -1400,9 +1424,9 @@ echo "\n-->\n $stmt = "select count(*) from vicidial_campaigns where active='Y' and campaign_allow_inbound='Y' $group_SQLand;"; $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - $campaign_allow_inbound = $row[0]; +if ($DB) {echo "$stmt\n";} +$row=mysql_fetch_row($rslt); +$campaign_allow_inbound = $row[0]; echo "\n"; echo "$report_name: $group\n"; @@ -1437,12 +1461,12 @@ echo "\n"; #echo "\n"; echo "Real-Time Report                                                                               \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo "Rapport Choisissez Options d-affichage"; echo "
    \n"; echo "
    \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo ""; echo "
    \n"; @@ -1517,6 +1541,24 @@ echo "\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/send_CID_call.php b/agc_2-X/trunk/LANG_www/vicidial_fr/send_CID_call.php index 8549f6a3..521faf42 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/send_CID_call.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/send_CID_call.php @@ -3,11 +3,13 @@ # # Send calls with custom callerID numbers from web form # -# Copyright (C) 2009 Matt Florell LICENSE: GPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: GPLv2 # # CHANGES # # 90714-1355 - First Build +# 120831-1527 - Added vicidial_dial_log logging +# 130414-0039 - Added admin logging # require("dbconnect.php"); @@ -55,6 +57,7 @@ $auth=$row[0]; $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); +$ip = getenv("REMOTE_ADDR"); ?> @@ -123,6 +126,17 @@ else if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='TESTCIDCALL098765432',lead_id='0',server_ip='$server_ip',call_date='$NOW_TIME',extension='91$receiver',channel='Local/91$sender$Local_end',timeout='$Local_dial_timeout',outbound_cid='\"$cid_number\" <$cid_number>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='CIDSEND', event_type='OTHER', record_id='$PHP_AUTH_USER', event_code='ADMIN SEND CID CALL', event_sql=\"$SQL_log\", event_notes='Server: $server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Call sent from $sender to $receiver using CIDnumber: $cid_number"; } diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_report.php b/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_report.php index e94e93b3..27e580dd 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -18,8 +18,11 @@ # 110703-1830 - Added download option # 111104-1314 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0150 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); ##### Pull values from posted form variables ##### @@ -73,15 +76,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -106,6 +100,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -530,13 +553,31 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_status.php b/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_status.php index fc23b397..7436303f 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/timeclock_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,10 +15,13 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1833 - Added download option # 111104-1315 - Added user_group restrictions for selecting in-groups +# 130414-0152 - Added report logging # #header ("Content-type: text/html; charset=utf-8"); +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +67,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -113,6 +107,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,26 @@ if (strlen($user_group) < 1) echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -467,10 +510,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { header ("Content-type: text/html; charset=utf-8"); echo "$HEADER"; @@ -478,6 +519,24 @@ if ($file_download > 0) echo "$MAIN"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); exit; @@ -598,7 +657,25 @@ $MAIN.="
    \n"; $MAIN.="\n"; $MAIN.="\n"; - +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/user_stats.php b/agc_2-X/trunk/LANG_www/vicidial_fr/user_stats.php index 4a3ef6c9..4ff89df4 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/user_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/user_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -34,8 +34,12 @@ # 111103-1050 - Added admin_hide_phone_data and admin_hide_lead_data options # 111106-1105 - Added user_group restrictions # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 121222-2152 - Added email log display +# 130124-1740 - Added option to display first and last name of lead +# 130414-0146 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -44,9 +48,15 @@ require("functions.php"); $report_name = 'Statistiques utilisateur'; $db_source = 'M'; +$firstlastname_display_user_stats=0; +if (file_exists('options.php')) + { + require('options.php'); + } + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -59,19 +69,11 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $user_territories_active = $row[4]; $webroot_writable = $row[5]; + $allow_emails = $row[6]; } ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; @@ -130,6 +132,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -641,12 +672,27 @@ if ($did < 1) ##### vicidial agent outbound calls for this time period ##### $MAIN.="OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)     [TÉLÉCHARGER]\n"; - $MAIN.="
    \n"; - $MAIN.="\n"; + $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNE GROUP LIST LEAD HANGUP REASON
    \n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } + else + { + $MAIN.="\n"; + } $CSV_text5.="\"OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; - $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + if ($firstlastname_display_user_stats > 0) + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n";} + else + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n";} $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + if ($firstlastname_display_user_stats > 0) + { + $stmt="select uniqueid,vlog.lead_id,vlog.list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,vlog.status,vlog.phone_code,vlog.phone_number,vlog.user,vlog.comments,processed,user_group,term_reason,alt_dial,first_name,last_name from vicidial_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + if ($DB) {$MAIN.="outbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -687,27 +733,108 @@ if ($did < 1) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } $MAIN.="\n"; - $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[17] $row[18]\",\"$row[15]\"\n"; + } + else + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + } } $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNE GROUP LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNE GROUP LIST LEAD HANGUP REASON
    $row[14] $row[2] $row[1] $row[17] $row[18] $row[15]


    \n"; } + ##### vicidial agent outbound emails for this time period ##### + + if ($allow_emails>0) + { + $MAIN.="OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)     [TÉLÉCHARGER]\n"; + $MAIN.="\n"; + $MAIN.="\n"; + $CSV_text5.="\"OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; + $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"USER\",\"CAMPAIGN\",\"EMAIL TO\",\"ATTACHMENT\",\"LEAD\",\"MESSAGE\"\n"; + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where user='" . mysql_real_escape_string($user) . "' and email_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and email_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by email_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + + $CSV_text5.="\"\",\"$u\",\"$row[3]\",\"$row[4]\",\"$row[7]\",\"$row[5]\",\"$row[8]\",\"$row[2]\",\"$row[6]\"\n"; + } + + + $MAIN.="
    # DATE/TIME USER CAMPAGNE EMAIL TO ATTACHMENTS LEAD
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]   $row[2]
      MESSAGE: $row[6]


    \n"; + } + ##### vicidial agent inbound calls for this time period ##### $MAIN.="INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)     [TÉLÉCHARGER]\n"; $MAIN.="\n"; -$MAIN.="\n"; +if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } +else + { + $MAIN.="\n"; + } $CSV_text6.="\"INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; -$CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; +if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n"; + } +else + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + } $stmt="select call_date,length_in_sec,status,phone_number,campaign_id,queue_seconds,list_id,lead_id,term_reason from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; if ($did > 0) { $stmt="select start_time,length_in_sec,0,caller_code,0,0,0,extension,0 from call_log where channel_group='DID_INBOUND' and number_dialed='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by start_time desc limit 10000;"; } +else + { + if ($firstlastname_display_user_stats > 0) + { + $stmt="select call_date,length_in_sec,vlog.status,vlog.phone_number,campaign_id,queue_seconds,vlog.list_id,vlog.lead_id,term_reason,first_name,last_name from vicidial_closer_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + } +if ($DB) {$MAIN.="inbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -768,8 +895,17 @@ while ($logs_to_print > $u) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + {$MAIN.="\n";} $MAIN.="\n"; - $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[9] $row[10]\",\"$row[8]\"\n"; + } + else + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + } } $MAIN.=""; @@ -793,6 +929,7 @@ if ($did < 1) $CSV_text7.="\"\",\"#\",\"DATE/TIME\",\"PAUSE\",\"WAIT\",\"TALK\",\"DISPO\",\"DEAD\",\"CUSTOMER\",\"STATUS\",\"LEAD\",\"CAMPAIGN\",\"PAUSE CODE\"\n"; $stmt="select event_time,lead_id,campaign_id,pause_sec,wait_sec,talk_sec,dispo_sec,dead_sec,status,sub_status,user_group from vicidial_agent_log where user='" . mysql_real_escape_string($user) . "' and event_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and ( (pause_sec > 0) or (wait_sec > 0) or (talk_sec > 0) or (dispo_sec > 0) ) order by event_time desc limit 10000;"; + if ($DB) {$MAIN.="agent activity|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -1177,8 +1314,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1186,9 +1321,29 @@ else echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/user_status.php b/agc_2-X/trunk/LANG_www/vicidial_fr/user_status.php index 73fc4130..aef6e872 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/user_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/user_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,10 +20,15 @@ # 110224-2350 - Small QM logout fix # 110420-0344 - Added DEAD/PARK agent statuses # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0252 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); +$report_name='Utilisateur Status'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -95,6 +100,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } else { + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $stage, $group|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + if($auth>0) { $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; @@ -486,7 +511,26 @@ if ($stage == "log_agent_out") { echo "Agent $user is not logged in
    \n"; } - + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -652,6 +696,25 @@ if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($mod echo "$VDdisplayMESSAGE\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -664,7 +727,7 @@ if ($agents_to_print > 0) echo "       GROUP: $user_group
    \n"; echo "
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNE WAIT (S) AGENT (S) LIST LEAD HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNE WAIT (S) AGENT (S) LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNE WAIT (S) AGENT (S) LIST LEAD HANGUP REASON
    $AGENTseconds $row[6] $row[7] $row[9] $row[10] $row[8]
    "; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -768,6 +831,26 @@ echo "|$stage|$group|";   ">Liste des territoires - 0) { ?> - diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/voice_lab.php b/agc_2-X/trunk/LANG_www/vicidial_fr/voice_lab.php index 2eaaf88c..18c238aa 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/voice_lab.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/voice_lab.php @@ -4,7 +4,7 @@ # This script is designed to broadcast a recorded message or allow a person to # speak to all agents logged into a VICIDIAL campaign. # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES @@ -13,8 +13,13 @@ # 70115-1246 - Added ability to define an exten to play # 90508-0644 - Changed to PHP long tags # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0045 - Added report logging # +$startMS = microtime(); + +$report_name='Voice Lab'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -52,24 +57,24 @@ $local_DEF = 'Local/'; $local_AMP = '@'; $ext_context = 'demo'; - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; $fp = fopen ("./project_auth_entries.txt", "a"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); - if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } - else +else { if($auth>0) { @@ -94,6 +99,26 @@ $browser = getenv("HTTP_USER_AGENT"); $full_name = $row[0]; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + ##### get server listing for dynamic pulldown $stmt="SELECT server_ip,server_description from servers order by server_ip"; @@ -307,6 +332,25 @@ if ($KILL_VOICE_LAB > 1) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_demo.php b/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_demo.php index 81c3bc8f..48a594da 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_demo.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_demo.php @@ -62,6 +62,9 @@ echo "   \n"; echo "\n"; +echo "
    Agent Logged in at server:   $Aserver_ip
    Agent Logged in at serveur:   $Aserver_ip
    in session:   $Asession_id
    from phone:   $Aextension
    Agent is in campaign:   $Acampaign
      ?action=ADD_TERRITORY">Ajouter Territoire   ?action=ADD_USER_TERRITORY">Ajouter un utilisateur Territoire   ?action=CHANGE_TERRITORY_OWNER">Change Vtiger Territoire Owner
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
  • \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_languages.php b/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_languages.php index e00e310e..d94ba3e1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_languages.php +++ b/agc_2-X/trunk/LANG_www/vicidial_fr/welcome_languages.php @@ -62,6 +62,9 @@ echo "  
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
    \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSER_service_level.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSER_service_level.php index 9abe7d9c..b4432b38 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSER_service_level.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSER_service_level.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,11 @@ # 110703-1756 - Added download option # 111103-2300 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0104 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -69,15 +72,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -99,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -924,7 +947,7 @@ while ($k <= 22) $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; -$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in seconds) | | CALLS HANDLED | | |\n"; +$ASCII_text.="| TIME | AVG HOLD TIME (sec) | (in secondi) | | CALLS HANDLED | | |\n"; $ASCII_text.="| 15 MIN INT |$hold_scale| AVG | MAX | |$call_scale| DROPS | TOTAL |\n"; $ASCII_text.="+-------------+-----------------------+-------+-------+ +-----------------------+-------+-------+\n"; @@ -1280,10 +1303,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { echo "$HEADER"; @@ -1293,6 +1314,26 @@ if ($file_download > 0) } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERstats.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERstats.php index f1e354b8..0969a4e5 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERstats.php @@ -1,10 +1,9 @@ LICENSE: AGPLv2 -# -# CHANGES +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # +# CHANGES: # 60619-1714 - Added variable filtering to eliminate SQL injection attack threat # - Added required user/pass to gain access to this page # 60905-1326 - Added queue time stats @@ -35,8 +34,13 @@ # 111103-0632 - Added MAXCAL as a drop status # 111103-2003 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 120730-0724 - Small fix for HTML output +# 130124-1719 - Added email report support +# 130414-1429 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -57,6 +61,8 @@ if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} if (isset($_GET["DID"])) {$DID=$_GET["DID"];} elseif (isset($_POST["DID"])) {$DID=$_POST["DID"];} +if (isset($_GET["EMAIL"])) {$EMAIL=$_GET["EMAIL"];} + elseif (isset($_POST["EMAIL"])) {$EMAIL=$_POST["EMAIL"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} @@ -92,15 +98,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); @@ -185,9 +182,16 @@ if (!isset($group)) {$group = '';} if (!isset($query_date)) {$query_date = $NOW_DATE;} if (!isset($end_date)) {$end_date = $NOW_DATE;} -$stmt="select group_id,group_name,8 from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='PHONE' $LOGadmin_viewable_groupsSQL order by group_id;"; if ($DID=='Y') - {$stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;";} + { + $stmt="select did_pattern,did_description,did_id from vicidial_inbound_dids $whereLOGadmin_viewable_groupsSQL order by did_pattern;"; + } +if ($EMAIL=='Y') + { + $stmt="select email_account_id,email_account_name,email_account_id from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + } $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $groups_to_print = mysql_num_rows($rslt); @@ -231,6 +235,37 @@ else } if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $DID, $EMAIL, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&DID=".$DID."&EMAIL=".$EMAIL."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); @@ -286,6 +321,7 @@ $MAIN.="
    \n"; $MAIN.="\n"; +$MAIN.="\n"; $MAIN.="Date:
    \n"; $MAIN.=""; @@ -314,7 +350,9 @@ $MAIN.="// o_cal.a_tpl.weekstart = 1; // Lunedi week start\n"; $MAIN.="\n"; $MAIN.="
    \n"; -if ($DID=='Y') +if ($EMAIL=='Y') + {$MAIN.="Email Accts: \n";} +else if ($DID=='Y') {$MAIN.="Inbound DIDs: \n";} else {$MAIN.="Gruppi Inbound: \n";} @@ -372,6 +410,8 @@ $MAIN.="
    \n\n";
     if ($groups_to_print < 1)
     	{
     	$MAIN.="\n\n";
    +	if ($EMAIL=='Y')
    +		{$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK INVIA\n";}
     	if ($DID=='Y')
     		{$MAIN.="PLEASE SELECT A DID AND DATE RANGE ABOVE AND CLICK INVIA\n";}
     	else
    @@ -402,12 +442,18 @@ if ($shift == 'ALL')
     $query_date_BEGIN = "$query_date $time_BEGIN";   
     $query_date_END = "$end_date $time_END";
     
    +if ($EMAIL=='Y') 
    +	{
    +	$MAIN.="Inbound Email Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    +	$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    +	}
     
     
    -$MAIN.="Inbound Call Stats: $group_string          $NOW_TIME        DOWNLOAD\n";
    -
    -$CSV_text1.="\"Inbound Call Stats:\",\"$group_string\",\"$NOW_TIME\"\n";
    -
     
     if ($DID=='Y')
     	{
    @@ -452,7 +498,14 @@ if ($group_ct > 1)
     
     	$CSV_text1.="\n\"MULTI-GROUP BREAKDOWN:\"\n";
     
    -	if ($DID=='Y')
    +	if ($EMAIL=='Y')
    +		{
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$ASCII_text.="| EMAIL                | EMAILS  | DROPS   | DROP %  | IVR     |\n";
    +		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
    +		$CSV_text1.="\"EMAIL\",\"CALLS\",\"DROPS\",\"DROP %\",\"IVR\"\n";
    +		}
    +	else if ($DID=='Y')
     		{
     		$ASCII_text.="+----------------------+---------+---------+---------+---------+\n";
     		$ASCII_text.="| DID                  | CALLS   | DROPS   | DROP %  | IVR     |\n";
    @@ -655,18 +708,34 @@ else
     	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
     	}
     
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails taken in to this In-Gruppo:        $TOTALcalls\n";
    +	$MAIN.="Average Email Length for all Emails:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Emails:                               $RISPOSTAEDcalls  $RISPOSTAEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Emails:        $average_answer_seconds seconds\n";
    +	$MAIN.="Emails taken into the IVR for this In-Gruppo:   $IVRcalls\n";
     
    -$MAIN.="Totale chiamate a prendere in questo gruppo:        $TOTALcalls\n";
    -$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    -$MAIN.="Answered Calls:                               $RISPOSTAEDcalls  $RISPOSTAEDpercent%\n";
    -$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    -$MAIN.="Calls taken into the IVR for this In-Gruppo:   $IVRcalls\n";
    +	$CSV_text1.="\"Total Emails taken in to this In-Group:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Email Length for all Emails:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Emails:\",\"$RISPOSTAEDcalls\",\"$RISPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Emails:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Emails taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Totale chiamate a prendere in questo gruppo:        $TOTALcalls\n";
    +	$MAIN.="Average Call Length for all Calls:            $average_call_seconds seconds\n";
    +	$MAIN.="Answered Calls:                               $RISPOSTAEDcalls  $RISPOSTAEDpercent%\n";
    +	$MAIN.="Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    +	$MAIN.="Calls taken into the IVR for this In-Gruppo:   $IVRcalls\n";
     
    -$CSV_text1.="\"Totale chiamate a prendere in questo gruppo:\",\"$TOTALcalls\"\n";
    -$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    -$CSV_text1.="\"Answered Calls:\",\"$RISPOSTAEDcalls\",\"$RISPOSTAEDpercent%\"\n";
    -$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    -$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	$CSV_text1.="\"Totale chiamate a prendere in questo gruppo:\",\"$TOTALcalls\"\n";
    +	$CSV_text1.="\"Average Call Length for all Calls:\",\"$average_call_seconds seconds\"\n";
    +	$CSV_text1.="\"Answered Calls:\",\"$RISPOSTAEDcalls\",\"$RISPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average queue time for Answered Calls:\",\"$average_answer_seconds seconds\"\n";
    +	$CSV_text1.="\"Calls taken into the IVR for this In-Group:\",\"$IVRcalls\"\n";
    +	}
     
     $MAIN.="\n";
     $MAIN.="---------- ABBATTUTE\n";
    @@ -709,12 +778,22 @@ else
     	$DROP_RISPOSTAEDpercent = round($DROP_RISPOSTAEDpercent, 0);
     	}
     
    -$MAIN.="Totale Chiamate ABBATTUTE: $DROPcalls  $DROPpercent%               drop/answered: $DROP_RISPOSTAEDpercent%\n";
    -$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total DROP Emails:                             $DROPcalls  $DROPpercent%               drop/answered: $DROP_RISPOSTAEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Emails:             $average_hold_seconds seconds\n";
     
    -$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RISPOSTAEDpercent%\"\n";
    -$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	$CSV_text1.="\"Total DROP Emails:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RISPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Emails:\",\"$average_hold_seconds seconds\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="Totale Chiamate ABBATTUTE: $DROPcalls  $DROPpercent%               drop/answered: $DROP_RISPOSTAEDpercent%\n";
    +	$MAIN.="Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
     
    +	$CSV_text1.="\"Total DROP Calls:\",\"$DROPcalls\",\"$DROPpercent%\",\"drop/answered:\",\"$DROP_RISPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"Average hold time for DROP Calls:\",\"$average_hold_seconds seconds\"\n";
    +	}
     
     if (strlen($group_SQL)>3)
     	{
    @@ -750,14 +829,29 @@ if (strlen($group_SQL)>3)
     			}
     		}
     	}
    -$MAIN.="\n";
    -$MAIN.="---------- CUSTOM INDICATORS\n";
    -$MAIN.="GDE (Answered/Llamadas totales tomadas in to this In-Group):  $RISPOSTAEDpercent%\n";
    -$MAIN.="ACR (Dropped/Answered):                                $DROP_RISPOSTAEDpercent%\n";
     
    -$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    -$CSV_text1.="\"GDE (Answered/Llamadas totales tomadas in to this In-Group):\",\"$RISPOSTAEDpercent%\"\n";
    -$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RISPOSTAEDpercent%\"\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Total emails taken in to this In-Group):  $RISPOSTAEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_RISPOSTAEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Total emails taken in to this In-Group):\",\"$RISPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RISPOSTAEDpercent%\"\n";
    +	}
    +else
    +	{
    +	$MAIN.="\n";
    +	$MAIN.="---------- CUSTOM INDICATORS\n";
    +	$MAIN.="GDE (Answered/Llamadas totales tomadas in to this In-Group):  $RISPOSTAEDpercent%\n";
    +	$MAIN.="ACR (Dropped/Answered):                                $DROP_RISPOSTAEDpercent%\n";
    +
    +	$CSV_text1.="\n\"CUSTOM INDICATORS\"\n";
    +	$CSV_text1.="\"GDE (Answered/Llamadas totales tomadas in to this In-Group):\",\"$RISPOSTAEDpercent%\"\n";
    +	$CSV_text1.="\"ACR (Dropped/Answered):\",\"$DROP_RISPOSTAEDpercent%\"\n";
    +	}
     
     if ($DID!='Y')
     	{
    @@ -848,15 +942,34 @@ else
     	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
     	}
     
    -$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    -$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    -$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
    +if ($EMAIL=='Y')
    +	{
    +	$MAIN.="Total Emails That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue emails:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all emails:        $average_total_queue_seconds seconds\n";
     
    -$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    -$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    -$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Total Emails That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue emails:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all emails:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
    +else 
    +	{
    +	$MAIN.="Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +	$MAIN.="Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    +	$MAIN.="Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
     
    +	$CSV_text1.="\"Total Calls That entered Queue:\",\"$QUEUEcalls\",\"$QUEUEpercent%\"\n";
    +	$CSV_text1.="\"Average QUEUE Length for queue calls:\",\"$average_queue_seconds seconds\"\n";
    +	$CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_seconds seconds\"\n";
    +	}
     
    +if ($EMAIL=='Y') {
    +	$rpt_type_verbiage='EMAIL';
    +	$rpt_type_verbiages='EMAILS';
    +} else {
    +	$rpt_type_verbiage='CALL ';
    +	$rpt_type_verbiages='CALLS ';
    +}
     
     ##############################
     #########  CALL HOLD TIME BREAKDOWN IN SECONDS
    @@ -864,12 +977,12 @@ $CSV_text1.="\"Average QUEUE Length across all calls:\",\"$average_total_queue_s
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- INVITO HOLD TIME RIPARTIZIONE IN SECONDI       DOWNLOAD\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS       DOWNLOAD\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"INVITO HOLD TIME RIPARTIZIONE IN SECONDI\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage HOLD TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     
    @@ -1009,12 +1122,12 @@ else
     $BDdropCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="---------- $rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL DROP TIME BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage DROP TIME BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
    @@ -1154,12 +1267,12 @@ else
     $BDansweredCALLS = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="           CALL RISPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
    +$ASCII_text.="           $rpt_type_verbiage RISPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
     $ASCII_text.="          +-------------------------------------------------------------------------------------------+------------+\n";
     $ASCII_text.="          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
     $ASCII_text.="----------+-------------------------------------------------------------------------------------------+------------+\n";
     
    -$CSV_text2.="\n\"CALL RISPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
    +$CSV_text2.="\n\"$rpt_type_verbiage RISPOSTAED TIME AND PERCENT BREAKDOWN IN SECONDS\"\n";
     $CSV_text2.="\"\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n";
     
     $stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE','TIMEOT','AFTHRS','NANQUE','INBND','MAXCAL') group by queue_seconds;";
    @@ -1442,13 +1555,13 @@ else
     $TOTALcalls = 0;
     
     $ASCII_text="\n";
    -$ASCII_text.="---------- INVITO hangup MOTIVO STATS       DOWNLOAD\n";
    +$ASCII_text.="---------- $rpt_type_verbiage HANGUP REASON STATS       DOWNLOAD\n";
     $ASCII_text.="+----------------------+------------+\n";
    -$ASCII_text.="| HANGUP REASON        | CALLS      |\n";
    +$ASCII_text.="| HANGUP REASON        | $rpt_type_verbiages      |\n";
     $ASCII_text.="+----------------------+------------+\n";
     
    -$CSV_text3.="\n\"INVITO hangup MOTIVO STATS\"\n";
    -$CSV_text3.="\"HANGUP REASON\",\"CALLS\"\n";
    +$CSV_text3.="\n\"$rpt_type_verbiage HANGUP REASON STATS\"\n";
    +$CSV_text3.="\"HANGUP REASON\",\"$rpt_type_verbiages\"\n";
     
     $stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason order by term_reason;";
     if ($DID=='Y')
    @@ -1486,6 +1599,7 @@ $CSV_text3.="\"TOTAL:\",\"$TOTALcalls\"\n";
     
     if ($report_display_type=="HTML") 
     	{
    +	$ct_ary=array();
     	$rslt=mysql_query($stmt, $link);
     	$high_ct=0; $i=0;
     	while ($row=mysql_fetch_row($rslt)) {
    @@ -1495,11 +1609,11 @@ if ($report_display_type=="HTML")
     		$i++;
     	}
     	$GRAPH_text="
    \n"; - $GRAPH_text.="\n"; - $GRAPH_text.=" \n"; + $GRAPH_text.="
    INVITO hangup MOTIVO STATS
    \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; - $GRAPH_text.=" \n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; for ($i=0; $iTOTALE CHIAMATE:\n"; + $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.=" \n"; $GRAPH_text.="
    $rpt_type_verbiage HANGUP REASON STATS
    REASON CALLS $rpt_type_verbiages
    TOTAL ".$rpt_type_verbiage.":".trim($TOTALcalls)."
    \n"; @@ -1527,17 +1641,17 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL STATUS STATS DOWNLOAD\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; -$ASCII_text.="| STATUS | DESCRIZIONE | CATEGORIA | CALLS | TOTAL TIME | AVG TIME |CALLS/HOUR|\n"; -$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+----------+\n"; +$ASCII_text.="---------- $rpt_type_verbiage STATUS STATS DOWNLOAD\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; +$ASCII_text.="| STATUS | DESCRIZIONE | CATEGORIA | $rpt_type_verbiages | TOTAL TIME | AVG TIME |$rpt_type_verbiages/HOUR|\n"; +$ASCII_text.="+--------+----------------------+----------------------+------------+------------+----------+-----------+\n"; $GRAPH="

    "; $GRAPH.=""; $GRAPH.="
    CALLSTOTAL TIMEAVG TIMECALLS/HR

     


    "; -$CSV_text4.="\n\"CALL STATUS STATS\"\n"; -$CSV_text4.="\"STATUS\",\"DESCRIZIONE\",\"CATEGORIA\",\"CALLS\",\"TOTAL TIME\",\"AVG TIME\",\"CALLS/HOUR\"\n"; +$CSV_text4.="\n\"$rpt_type_verbiage STATUS STATS\"\n"; +$CSV_text4.="\"STATUS\",\"DESCRIZIONE\",\"CATEGORIA\",\"$rpt_type_verbiages\",\"TOTAL TIME\",\"AVG TIME\",\"$rpt_type_verbiages/HOUR\"\n"; @@ -1710,11 +1824,11 @@ else $ASCII_text="\n"; $ASCII_text.="---------- CUSTOM STATUS CATEGORIA STATS
    DOWNLOAD\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; -$ASCII_text.="| CATEGORIA | CALLS | DESCRIZIONE |\n"; +$ASCII_text.="| CATEGORIA | $rpt_type_verbiages | DESCRIZIONE |\n"; $ASCII_text.="+----------------------+------------+--------------------------------+\n"; $CSV_text5.="\n\"CUSTOM STATUS CATEGORIA STATS\"\n"; -$CSV_text5.="\"CATEGORIA\",\"CALLS\",\"DESCRIZIONE\"\n"; +$CSV_text5.="\"CATEGORIA\",\"$rpt_type_verbiages\",\"DESCRIZIONE\"\n"; $TOTCATcalls=0; $r=0; @@ -1744,7 +1858,7 @@ $CSV_text5.="\"TOTAL\",\"$TOTCATcalls\"\n"; if ($report_display_type=="HTML") { - $ct_ary=""; + $ct_ary=array(); $r=0; $i=0; $high_ct=0; while ($r < $statcats_to_print) @@ -1794,12 +1908,12 @@ else $TOTALcalls = 0; $ASCII_text="\n"; -$ASCII_text.="---------- CALL INITIAL QUEUE POSITION BREAKDOWN DOWNLOAD\n"; +$ASCII_text.="---------- $rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN DOWNLOAD\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; $ASCII_text.="| 1 2 3 4 5 6 7 8 9 10 15 20 25 +25 | TOTAL |\n"; $ASCII_text.="+-------------------------------------------------------------------------------------+------------+\n"; -$CSV_text6.="\n\"CALL INITIAL QUEUE POSITION BREAKDOWN\"\n"; +$CSV_text6.="\n\"$rpt_type_verbiage INITIAL QUEUE POSITION BREAKDOWN\"\n"; $CSV_text6.="\"\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"15\",\"20\",\"25\",\"+25\",\"TOTAL\"\n"; @@ -1938,11 +2052,11 @@ $TOTavg=0; $ASCII_text="\n"; $ASCII_text.="---------- STATISTICHE OPERATORE DOWNLOAD\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; -$ASCII_text.="| AGENT | CALLS | TIME H:M:S |AVERAGE |\n"; +$ASCII_text.="| AGENT | $rpt_type_verbiages | TIME H:M:S |AVERAGE |\n"; $ASCII_text.="+--------------------------+------------+------------+--------+\n"; $CSV_text7.="\n\"AGENT STATS\"\n"; -$CSV_text7.="\"AGENT\",\"CALLS\",\"TIME H:M:S\",\"AVERAGE\"\n"; +$CSV_text7.="\"AGENT\",\"$rpt_type_verbiages\",\"TIME H:M:S\",\"AVERAGE\"\n"; $max_calls=1; @@ -1953,7 +2067,7 @@ $GRAPH="

    CALLS"; $GRAPH.="
    TIME H:M:SAVERAGE

     


    "; $graph_header=""; -$CALLS_graph=$graph_header.""; +$CALLS_graph=$graph_header.""; $TIMEHMS_graph=$graph_header.""; $AVERAGE_graph=$graph_header.""; @@ -2173,7 +2287,7 @@ else } $ASCII_text.="\n"; -$ASCII_text.="GRAFICO AD INCREMENTO DI 15 MINUTI DEL TOTALE DELLE CHIAMATE TAKEN INTO THIS IN-GROUP\n"; +$ASCII_text.="GRAPH IN 15 MINUTE INCREMENTS OF TOTAL $rpt_type_verbiages TAKEN INTO THIS IN-GROUP\n"; $k=1; @@ -2347,12 +2461,12 @@ else ##### Answered wait time breakdown $MAIN.="\n"; -$MAIN.="---------- CALL RISPOSTAED TIME BREAKDOWN IN SECONDS DOWNLOAD\n"; +$MAIN.="---------- $rpt_type_verbiage RISPOSTAED TIME BREAKDOWN IN SECONDS DOWNLOAD\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; $MAIN.="| HOUR | 0 5 10 15 20 25 30 35 40 45 50 55 60 90 +90 | TOTAL |\n"; $MAIN.="+------+-------------------------------------------------------------------------------------------+------------+\n"; -$CSV_text8.="\n\"CALL RISPOSTAED TIME BREAKDOWN IN SECONDS\"\n"; +$CSV_text8.="\n\"$rpt_type_verbiage RISPOSTAED TIME BREAKDOWN IN SECONDS\"\n"; $CSV_text8.="\"HOUR\",\"0\",\"5\",\"10\",\"15\",\"20\",\"25\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"90\",\"+90\",\"TOTAL\"\n"; $ZZ = '00'; @@ -2464,7 +2578,6 @@ if ($file_download>0) { echo "$CSV_text"; - exit; } else { echo $HEADER; echo $JS_text; @@ -2474,6 +2587,27 @@ if ($file_download>0) { } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERsummary_hourly.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERsummary_hourly.php index 6f3073c6..dba29736 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERsummary_hourly.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_CLOSERsummary_hourly.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1806 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0107 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -124,6 +118,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -938,6 +961,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -961,10 +1003,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { if ($report_display_type=="HTML") @@ -998,5 +1038,24 @@ if ($file_download > 0) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_DIDstats.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_DIDstats.php index 9da0e79c..2dc8e8c0 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_DIDstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_DIDstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1809 - Added download option # 111104-1133 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0113 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -67,15 +70,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -189,6 +183,36 @@ else if (strlen($group_SQL)<3) {$group_SQL="''";} +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$AMP='&'; +$QM='?'; +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='".$LOGfull_url."?DB=".$DB."&file_download=".$file_download."&query_date=".$query_date."&end_date=".$end_date."&shift=".$shift."&report_display_type=".$report_display_type."$groupQS';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } $HEADER.="\n"; $HEADER.="\n"; @@ -1070,6 +1094,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { echo $HEADER; @@ -1079,5 +1122,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRfilter.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRfilter.php index 499bc259..d44fa6fe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRfilter.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRfilter.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -9,8 +9,13 @@ # 90310-2054 - Admin header # 90508-0644 - Changed to PHP long tags # 120113-2022 - Added new columns for sent to queue and agent +# 130414-0257 - Added report logging # +$startMS = microtime(); + +$report_name='IVR Filter Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -88,6 +93,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$campaign[0], $query_date, $end_date|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -494,8 +519,6 @@ if ($file_download == 0 || !$file_download) { flush(); echo "$CSV_text"; - - exit; # $CSV_report=fopen("AST_pause_code_breakdown.csv", "w"); # fwrite($CSV_report, $CSV_header); @@ -503,4 +526,26 @@ if ($file_download == 0 || !$file_download) { # fwrite($CSV_report, $CSV_total); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRstats.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRstats.php index 85b14cb2..b1b28396 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_IVRstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 81026-2026 - First build @@ -20,8 +20,11 @@ # 110703-1850 - Added download option # 111103-2315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130114-0115 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -79,15 +82,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -109,6 +103,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -1001,6 +1024,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1013,6 +1055,25 @@ else echo $MAIN; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_LISTS_campaign_stats.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_LISTS_campaign_stats.php index ae5a2356..ccaedd24 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_LISTS_campaign_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_LISTS_campaign_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This is a list inventory report, not a calling report. This report will show # statistics for all of the lists in the selected campaigns @@ -10,8 +10,13 @@ # 100916-0928 - First build # 110703-1815 - Added download option # 120224-0910 - Added HTML display option with bar graphs +# 120524-1754 - Fixed status categories issue +# 130221-1928 - small change to remove nested SQL query +# 130414-0127 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -58,15 +63,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -88,6 +84,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -178,9 +203,18 @@ else $group_SQL = "where campaign_id IN($group_SQL)"; } +# Get lists to query to avoid using a nested query +$lists_id_str=""; +$list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; +$list_rslt=mysql_query($list_stmt, $link); +while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; +} +$lists_id_str=substr($lists_id_str,0,-1); + $stmt="select vsc_id,vsc_name from vicidial_status_categories;"; $rslt=mysql_query($stmt, $link); -if ($DB) {$MAIN.="$stmt\n";} +if ($DB) {echo "$stmt\n";} $statcats_to_print = mysql_num_rows($rslt); $i=0; while ($i < $statcats_to_print) @@ -188,13 +222,27 @@ while ($i < $statcats_to_print) $row=mysql_fetch_row($rslt); $vsc_id[$i] = $row[0]; $vsc_name[$i] = $row[1]; - $vsc_count[$i] = 0; + + $category_statuses=""; + $status_stmt="select distinct status from vicidial_statuses where category='$row[0]' UNION select distinct status from vicidial_campaign_statuses where category='$row[0]' $group_SQLand"; + if ($DB) {echo "$status_stmt\n";} + $status_rslt=mysql_query($status_stmt, $link); + while ($status_row=mysql_fetch_row($status_rslt)) + { + $category_statuses.="'$status_row[0]',"; + } + $category_statuses=substr($category_statuses, 0, -1); + + $category_stmt="select count(*) from vicidial_list where status in ($category_statuses) and list_id IN($lists_id_str)"; + if ($DB) {echo "$category_stmt\n";} + $category_rslt=mysql_query($category_stmt, $link); + $category_row=mysql_fetch_row($category_rslt); + $vsc_count[$i] = $category_row[0]; $i++; } - ### BEGIN gather all statuses that are in status flags ### $human_answered_statuses=''; $sale_statuses=''; @@ -348,7 +396,15 @@ else $GRAPH.="\n"; $GRAPH.="\n"; - $stmt="select count(*),list_id from vicidial_list where list_id IN( SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand) group by list_id;"; + $lists_id_str=""; + $list_stmt="SELECT list_id from vicidial_lists where active IN('Y','N') $group_SQLand"; + $list_rslt=mysql_query($list_stmt, $link); + while ($lrow=mysql_fetch_row($list_rslt)) { + $lists_id_str.="'$lrow[0]',"; + } + $lists_id_str=substr($lists_id_str,0,-1); + + $stmt="select count(*),list_id from vicidial_list where list_id IN($lists_id_str) group by list_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $listids_to_print = mysql_num_rows($rslt); @@ -949,7 +1005,6 @@ else echo "$CSV_text"; - exit; } else { $JS_onload.="}\n"; $JS_text.=$JS_onload; @@ -962,5 +1017,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_LIST_UPDATEstats.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_LIST_UPDATEstats.php index b21d5527..75551ccb 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_LIST_UPDATEstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_LIST_UPDATEstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -10,8 +10,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0201 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -54,15 +57,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -84,6 +78,35 @@ if ( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,24 @@ $RUNtime = ($ENDtime - $STARTtime); echo "
    AGENT STATS
    AGENTCALLS
    $rpt_type_verbiages
    TIME H:M:S
    AVERAGE
    LEADS

    \nRun Time: $RUNtime seconds|$db_source\n"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_OUTBOUNDsummary_interval.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_OUTBOUNDsummary_interval.php index 659a49d0..e842fd40 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_OUTBOUNDsummary_interval.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_OUTBOUNDsummary_interval.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 110703-1825 - Added download option # 111104-1205 - Added user_group and calltime restrictions # 120224-0910 - Added HTML display option with bar graphs +# 130414-0119 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -82,15 +85,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} @@ -132,6 +126,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $LOGallowed_campaignsSQL=''; $whereLOGallowed_campaignsSQL=''; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_call_times from vicidial_user_groups where user_group='$user_group';"; @@ -1452,6 +1475,25 @@ else $ASCII_text.="INBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$inbound_rate = \$$inbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1521,6 +1563,25 @@ else echo "$CSV_text"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } else { $JS_onload.="}\n"; @@ -1555,6 +1616,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_VDADstats.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_VDADstats.php index 0d1836ce..b79ddaec 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_VDADstats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_VDADstats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 60619-1718 - Added variable filtering to eliminate SQL injection attack threat @@ -32,8 +32,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 101207-1634 - Changed limits on seconds to 65000 from 36000 in vicidial_agent_log # 120224-0910 - Added HTML display option with bar graphs +# 130414-0117 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); require("dbconnect.php"); @@ -103,15 +106,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - ##### SERVER CARRIER LOGGING LOOKUP ##### $stmt = "SELECT count(*) FROM servers where carrier_logging_active='Y' and max_vicidial_trunks > 0;"; $rslt=mysql_query($stmt, $link); @@ -144,6 +138,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -580,7 +603,7 @@ else $OUToutput .= "Total Umani Rispostaed calls for this Campagna: $CIcalls\n"; - $OUToutput .= "Average Call Length for all HA in seconds: $average_ci_seconds Total Time: $CIsec\n"; + $OUToutput .= "Average Call Length for all HA in secondi: $average_ci_seconds Total Time: $CIsec\n"; $OUToutput .= "\n"; @@ -1557,6 +1580,25 @@ else echo "OUTBOUND $query_date to $end_date,   $rawTOTtalk_min minutes at \$$outbound_rate = \$$outbound_cost\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -1792,6 +1834,25 @@ else $JS_text.="\n"; echo $JS_text; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php index bdd8070f..98372a6e 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,13 @@ # 111103-1207 - Added admin_hide_phone_data and admin_hide_lead_data options # 120210-1218 - Added vendor_lead_code to output # 120221-0059 - Added User Group restriction settings +# 130414-0159 - Added report logging # +$startMS = microtime(); + +$report_name='Coda Chiamate Report'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -49,6 +54,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -226,6 +251,24 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_ingrouplist.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_ingrouplist.php index 4c7cc32e..231d9738 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_ingrouplist.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_VICIDIAL_ingrouplist.php @@ -3,12 +3,17 @@ # # shows the agents logged into vicidial and set to take calls from in-group # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 100320-2102 - First Build +# 130414-0222 - Added report logging # +$startMS = microtime(); + +$report_name='In-Group Utente List'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -40,6 +45,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); @@ -205,6 +230,25 @@ else } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_admin_template_maker.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_admin_template_maker.php index 8495e53b..62e1f713 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_admin_template_maker.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_admin_template_maker.php @@ -5,6 +5,7 @@ # # CHANGES # 120402-2132 - First Build +# 120529-1427 - Filename filter fix # require("dbconnect.php"); @@ -193,6 +194,8 @@ $NWE = "')\">\"AIUTO\"
    Campagnas:
    "; echo "

    \n"; +echo "
    \n"; +echo "Show parks-holds
    "; echo "Visualizzare as:
    "; echo "\n

    "; -echo "\n"; +echo "$NWB#agent_time_detail$NWE\n"; echo "
            "; echo "          \n"; @@ -1206,6 +1418,25 @@ while ($m < $k) echo "\n"; ##### END horizontal yellow transparent bar graph overlay on top of agent stats +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_time_sheet.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_time_sheet.php index 112f0aea..bd93df07 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_time_sheet.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_time_sheet.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1848 - Added download option # 111104-1308 - Added user_group restrictions for selecting in-groups +# 130414-0148 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -42,14 +45,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; @@ -93,6 +88,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -416,16 +440,33 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { header ("Content-type: text/html; charset=utf-8"); echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_timeclock_detail.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_timeclock_detail.php index 5e8a99f5..48601fd9 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_timeclock_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_agent_timeclock_detail.php @@ -3,7 +3,7 @@ # # Pulls all timeclock records for an agent # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # 90602-2244 - First build @@ -13,8 +13,10 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 111104-1315 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0154 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -67,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -100,6 +93,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -319,9 +341,6 @@ else $query_date_BEGIN = "$query_date"; $query_date_END = "$end_date"; - if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";} - else {$ugSQL='';} - if ($file_download < 1) { echo "Utente Time-Clock Dettagliata $NOW_TIME\n"; @@ -685,6 +704,25 @@ if ($file_download > 0) echo "$file_output"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -819,6 +857,25 @@ $ENDtime = date("U"); $RUNtime = ($ENDtime - $STARTtime); echo "$RUNtime|$db_source\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_campaign_status_list_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_campaign_status_list_report.php index 9ac4f201..3f708502 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_campaign_status_list_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_campaign_status_list_report.php @@ -4,14 +4,19 @@ # This report is designed to show the breakdown by list_id of the calls and # their statuses for all lists within a campaign for a set time period # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # # 110815-2138 - First build # 120224-0910 - Added HTML display option with bar graphs +# 130414-0129 - Added report logging +# 130425-2113 - Added status flag summaries and other formatting cleanup +# 130425-2353 - Fixed bug with subtracting unsigned columns in SQL # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace("/[^0-9a-zA-Z]/","",$PHP_AUTH_PW); @@ -97,6 +93,36 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) echo "Utentename/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -138,7 +164,7 @@ while($i < $group_ct) $i++; } -$stmt="select campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; +$stmt="SELECT campaign_id from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_query($stmt, $link); if ($DB) {$HTML_text.="$stmt\n";} $campaigns_to_print = mysql_num_rows($rslt); @@ -276,17 +302,25 @@ $JS_onload="onload = function() {\n"; while($i < $group_ct) { - $stmt="select distinct status, status_name from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION select distinct status, status_name from vicidial_statuses order by status, status_name"; + $stmt="SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_campaign_statuses where campaign_id='$group[$i]' UNION SELECT status, status_name, human_answered, sale, dnc, customer_contact, not_interested, unworkable, scheduled_callback, completed from vicidial_statuses order by status, status_name"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $status_ary[$row[0]]=" - $row[1]"; + $status_ary[$row[0]] = " - $row[1]"; + $HA_ary[$row[0]] = $row[2]; + $SALE_ary[$row[0]] = $row[3]; + $DNC_ary[$row[0]] = $row[4]; + $CC_ary[$row[0]] = $row[5]; + $NI_ary[$row[0]] = $row[6]; + $UW_ary[$row[0]] = $row[7]; + $SC_ary[$row[0]] = $row[8]; + $COMP_ary[$row[0]] = $row[9]; } $ASCII_text.="CAMPAGNA: $group[$i]\n"; $GRAPH.="CAMPAGNA: $group[$i]\n"; $CSV_text.="\"CAMPAGNA: $group[$i]\"\n"; - $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; + $stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$group[$i]'"; $rslt=mysql_query($stmt, $link); if (mysql_num_rows($rslt)>0) { @@ -303,20 +337,30 @@ while($i < $group_ct) } } - $stmt="select distinct list_id, list_name from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; + $stmt="SELECT distinct list_id, list_name, active from vicidial_lists where campaign_id='$group[$i]' order by list_id, list_name asc"; $rslt=mysql_query($stmt, $link); while ($row=mysql_fetch_row($rslt)) { - $list_id=$row[0]; $list_name=$row[1]; + $list_id=$row[0]; $list_name=$row[1]; $list_active=$row[2]; + $HA_count=0; + $SALE_count=0; + $DNC_count=0; + $CC_count=0; + $NI_count=0; + $UW_count=0; + $SC_count=0; + $COMP_count=0; + $dispo_ary=""; $ASCII_text.="ID Lista #$list_id: $list_name\n"; $GRAPH.="ID Lista #$list_id: $list_name\n"; $CSV_text.="\"ID Lista #$list_id: $list_name\"\n"; - # $stat_stmt="select vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; - #$stat_stmt="select val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; - $stat_stmt="select vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION select vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, (vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + # $stat_stmt="SELECT vs.status_name, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl, vicidial_statuses vs where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.list_id and vl.list_id='$list_id' and val.status=vs.status group by vs.status_name order by vs.status_name"; + #$stat_stmt="SELECT val.status, count(*), sum(pause_sec), sum(wait_sec), sum(talk_sec), sum(dispo_sec), sum(dead_sec) from vicidial_agent_log val, vicidial_list vl where val.event_time>='$query_date' and val.event_time<='$end_date' and val.campaign_id='$group[$i]' and val.lead_id=vl.lead_id and vl.list_id='$list_id' group by val.status order by val.status"; + $stat_stmt="SELECT vicidial_log.status, vicidial_log.uniqueid, vicidial_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_log LEFT OUTER JOIN vicidial_agent_log on vicidial_log.lead_id=vicidial_agent_log.lead_id and vicidial_log.uniqueid=vicidial_agent_log.uniqueid where vicidial_log.call_date>='$query_date' and vicidial_log.call_date<='$end_date' and vicidial_log.list_id='$list_id' UNION SELECT vicidial_closer_log.status, vicidial_closer_log.uniqueid, vicidial_closer_log.length_in_sec as duration, cast(vicidial_agent_log.talk_sec-vicidial_agent_log.dead_sec as signed) as handle_time from vicidial_closer_log LEFT OUTER JOIN vicidial_agent_log on vicidial_closer_log.lead_id=vicidial_agent_log.lead_id and vicidial_closer_log.uniqueid=vicidial_agent_log.uniqueid where call_date>='$query_date' and call_date<='$end_date' and list_id='$list_id' order by status"; + if ($DB) {$HTML_text.="|$stat_stmt|\n";} # $ASCII_text.=$stat_stmt."\n"; $stat_rslt=mysql_query($stat_stmt, $link); if (mysql_num_rows($stat_rslt)>0) @@ -336,9 +380,9 @@ while($i < $group_ct) $max_duration=1; $max_handletime=1; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| DISPOSITION | CALLS | DURATION | HANDLE TIME |\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"DISPOSITION\",\"CALLS\",\"DURATION\",\"HANDLE TIME\"\n"; while ($stat_row=mysql_fetch_row($stat_rslt)) { @@ -353,14 +397,22 @@ while($i < $group_ct) $total_calls++; $total_duration+=$stat_row[2]; $total_handle_time+=$stat_row[3]; + if ($HA_ary[$stat_row[0]]=="Y") {$HA_count++;} + if ($SALE_ary[$stat_row[0]]=="Y") {$SALE_count++;} + if ($DNC_ary[$stat_row[0]]=="Y") {$DNC_count++;} + if ($CC_ary[$stat_row[0]]=="Y") {$CC_count++;} + if ($NI_ary[$stat_row[0]]=="Y") {$NI_count++;} + if ($UW_ary[$stat_row[0]]=="Y") {$UW_count++;} + if ($SC_ary[$stat_row[0]]=="Y") {$SC_count++;} + if ($COMP_ary[$stat_row[0]]=="Y") {$COMP_count++;} } $d=0; while (list($key, $val)=each($dispo_ary)) { - $ASCII_text.="| ".sprintf("%-35s", $key.$status_ary[$key]); - $ASCII_text.=" | ".sprintf("%5s", $val[0]); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($val[1], 'H')); + $ASCII_text.="| ".sprintf("%-40s", $key.$status_ary[$key]); + $ASCII_text.=" | ".sprintf("%6s", $val[0]); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($val[1], 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($val[2], 'H'))." |\n"; $CSV_text.="\"".$key.$status_ary[$key]."\",\"$val[0]\",\"".sec_convert($val[1], 'H')."\",\"".sec_convert($val[2], 'H')."\"\n"; @@ -373,20 +425,61 @@ while($i < $group_ct) $graph_stats[$d][3]=$val[2]; $d++; } - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; - $ASCII_text.="| TOTALI:"; - $ASCII_text.=" | ".sprintf("%5s", $total_calls); - $ASCII_text.=" | ".sprintf("%9s", sec_convert($total_duration, 'H')); + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; + $ASCII_text.="| TOTALI:"; + $ASCII_text.=" | ".sprintf("%6s", $total_calls); + $ASCII_text.=" | ".sprintf("%10s", sec_convert($total_duration, 'H')); $ASCII_text.=" | ".sprintf("%11s", sec_convert($total_handle_time, 'H'))." |\n"; - $ASCII_text.="+-------------------------------------+-------+-----------+-------------+\n"; + $ASCII_text.="+------------------------------------------+--------+------------+-------------+\n"; $CSV_text.="\"TOTALI:\",\"$total_calls\",\"".sec_convert($total_duration, 'H')."\",\"".sec_convert($total_handle_time, 'H')."\"\n\n"; - for ($d=0; $d6) {$HA_percent = substr("$HA_percent", 0, -1);} + $SALE_percent = sprintf("%6.2f", 100*($SALE_count/$total_calls)); while(strlen($SALE_percent)>6) {$SALE_percent = substr("$SALE_percent", 0, -1);} + $DNC_percent = sprintf("%6.2f", 100*($DNC_count/$total_calls)); while(strlen($DNC_percent)>6) {$DNC_percent = substr("$DNC_percent", 0, -1);} + $CC_percent = sprintf("%6.2f", 100*($CC_count/$total_calls)); while(strlen($CC_percent)>6) {$CC_percent = substr("$CC_percent", 0, -1);} + $NI_percent = sprintf("%6.2f", 100*($NI_count/$total_calls)); while(strlen($NI_percent)>6) {$NI_percent = substr("$NI_percent", 0, -1);} + $UW_percent = sprintf("%6.2f", 100*($UW_count/$total_calls)); while(strlen($UW_percent)>6) {$UW_percent = substr("$UW_percent", 0, -1);} + $SC_percent = sprintf("%6.2f", 100*($SC_count/$total_calls)); while(strlen($SC_percent)>6) {$SC_percent = substr("$SC_percent", 0, -1);} + $COMP_percent = sprintf("%6.2f", 100*($COMP_count/$total_calls)); while(strlen($COMP_percent)>6) {$COMP_percent = substr("$COMP_percent", 0, -1);} + + $HA_count = sprintf("%9s", "$HA_count"); while(strlen($HA_count)>9) {$HA_count = substr("$HA_count", 0, -1);} + $SALE_count = sprintf("%9s", "$SALE_count"); while(strlen($SALE_count)>9) {$SALE_count = substr("$SALE_count", 0, -1);} + $DNC_count = sprintf("%9s", "$DNC_count"); while(strlen($DNC_count)>9) {$DNC_count = substr("$DNC_count", 0, -1);} + $CC_count = sprintf("%9s", "$CC_count"); while(strlen($CC_count)>9) {$CC_count = substr("$CC_count", 0, -1);} + $NI_count = sprintf("%9s", "$NI_count"); while(strlen($NI_count)>9) {$NI_count = substr("$NI_count", 0, -1);} + $UW_count = sprintf("%9s", "$UW_count"); while(strlen($UW_count)>9) {$UW_count = substr("$UW_count", 0, -1);} + $SC_count = sprintf("%9s", "$SC_count"); while(strlen($SC_count)>9) {$SC_count = substr("$SC_count", 0, -1);} + $COMP_count = sprintf("%9s", "$COMP_count"); while(strlen($COMP_count)>9) {$COMP_count = substr("$COMP_count", 0, -1);} + + if ($list_active=='Y') {$list_active = 'ACTIVE ';} else {$list_active = 'INACTIVE';} + $header_list_id = "$list_id - $list_name"; + $header_list_id = sprintf("%-51s", $header_list_id); while(strlen($header_list_id)>51) {$header_list_id = substr("$header_list_id", 0, -1);} + $header_list_count = sprintf("%10s", $total_calls); while(strlen($header_list_count)>10) {$header_list_count = substr("$header_list_count", 0, -1);} + $ASCII_text .= "\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| $header_list_id $list_active |\n"; + $ASCII_text .= "| TOTALE CHIAMATE: $header_list_count |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + $ASCII_text .= "| STATUS FLAGS BREAKDOWN: (and % of total leads in the list) |\n"; + $ASCII_text .= "| Risposta Umana: $HA_count $HA_percent% |\n"; + $ASCII_text .= "| Sale: $SALE_count $SALE_percent% |\n"; + $ASCII_text .= "| DNC: $DNC_count $DNC_percent% |\n"; + $ASCII_text .= "| Customer Contact: $CC_count $CC_percent% |\n"; + $ASCII_text .= "| Not Interested: $NI_count $NI_percent% |\n"; + $ASCII_text .= "| Unworkable: $UW_count $UW_percent% |\n"; + $ASCII_text .= "| Scheduled callbk: $SC_count $SC_percent% |\n"; + $ASCII_text .= "| Completed: $COMP_count $COMP_percent% |\n"; + $ASCII_text .= "+--------------------------------------------------------------+\n"; + + + for ($d=0; $d".$graph_stats[$d][1]."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][2], 'H')."
    ".$graph_stats[$d][0]."".sec_convert($graph_stats[$d][3], 'H')."
    TOTAL:".trim($total_calls)."
    "; $DURATION_graph.="
    TOTAL:".sec_convert($total_duration, 'H')."
    "; $HANDLETIME_graph.="
    TOTAL:".sec_convert($total_handle_time, 'H')."
    "; @@ -415,7 +508,6 @@ while($i < $group_ct) } $ASCII_text.="\n"; $GRAPH.="\n"; - } $i++; $ASCII_text.="\n\n"; @@ -456,8 +548,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -468,4 +558,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_carrier_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_carrier_log_report.php index dc539f44..841d97cc 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_carrier_log_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_carrier_log_report.php @@ -1,26 +1,31 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120210-2202 - First build +# 130413-2213 - Added SIP codes summary and fields, and report logging +# 130418-1048 - Changed how server list is generated # +$startMS = microtime(); require("dbconnect.php"); +$report_name='Carrier registro per i rapporti'; + $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} -if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} +if (isset($_GET["query_date_D"])) {$query_date_D=$_GET["query_date_D"];} elseif (isset($_POST["query_date_D"])) {$query_date_D=$_POST["query_date_D"];} -if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} +if (isset($_GET["query_date_T"])) {$query_date_T=$_GET["query_date_T"];} elseif (isset($_POST["query_date_T"])) {$query_date_T=$_POST["query_date_T"];} -if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} - elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -54,14 +59,7 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } +$NOW_DATE = date("Y-m-d"); $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} @@ -84,10 +82,39 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} -$NOW_DATE = date("Y-m-d"); if (!isset($query_date)) {$query_date = $NOW_DATE;} $server_ip_string='|'; @@ -99,7 +126,7 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="select server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -223,7 +250,29 @@ if ($INVIA && $server_ip_ct>0) { } $MAIN.="+--------------+-------------+---------+\n"; $MAIN.="| TOTAL | ".sprintf("%-8s", $total_count)."|\n"; - $MAIN.="+--------------+-------------+---------+\n\n\n"; + $MAIN.="+--------------+-------------+---------+\n\n"; + + $stmt="select sip_hangup_cause,sip_hangup_reason,count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL group by sip_hangup_cause,sip_hangup_reason order by sip_hangup_cause,sip_hangup_reason"; + $rslt=mysql_query($stmt, $link); + $MAIN.="
    \n";
    +		if ($DB) {$MAIN.=$stmt."\n";}
    +		if (mysql_num_rows($rslt)>0) {
    +			$MAIN.="--- SIP ERROR REASON BREAKDOWN FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="| SIP CODE | SIP HANGUP REASON              |  COUNT  |\n";
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$total_count=0;
    +			while ($row=mysql_fetch_array($rslt)) {
    +				$MAIN.="| ".sprintf("%8s", $row["sip_hangup_cause"])." ";
    +				$MAIN.="| ".sprintf("%-31s", $row["sip_hangup_reason"]);
    +				$MAIN.="| ".sprintf("%-8s", $row["ct"]);
    +				$MAIN.="|\n";
    +				$total_count+=$row["ct"];
    +			}
    +			$MAIN.="+----------+--------------------------------+---------+\n";
    +			$MAIN.="|                                     TOTAL | ".sprintf("%-8s", $total_count)."|\n";
    +			$MAIN.="+-------------------------------------------+---------+\n\n\n";
    +		}
     
     		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
    @@ -233,10 +282,10 @@ if ($INVIA && $server_ip_ct>0) {
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
     		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVER IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RISPOSTAED TIME | PHONE NUMBER |\n";
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    -		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVER IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"RISPOSTAED TIME\",\"PHONE NUMBER\"\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVER IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RISPOSTAED TIME | SIP CODE | SIP HANGUP REASON              | PHONE NUMBER |\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
    +		$CSV_text="\"UNIQUE ID\",\"CALL DATE\",\"SERVER IP\",\"LEAD ID\",\"HANGUP CAUSE\",\"DIAL STATUS\",\"CHANNEL\",\"DIAL TIME\",\"RISPOSTAED TIME\",\"SIP CODE\",\"SIP HANGUP REASON\",\"PHONE NUMBER\"\n";
     
     		for ($i=1; $i<=mysql_num_rows($rpt_rslt); $i++) {
     			$row=mysql_fetch_array($rpt_rslt);
    @@ -255,7 +304,7 @@ if ($INVIA && $server_ip_ct>0) {
     				$phone_number=$row["phone_number"];
     			}
     
    -			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$phone_number\"\n";
    +			$CSV_text.="\"$row[uniqueid]\",\"$row[call_date]\",\"$row[server_ip]\",\"$row[lead_id]\",\"$row[hangup_cause]\",\"$row[dialstatus]\",\"$row[channel]\",\"$row[dial_time]\",\"$row[answered_time]\",\"$row[sip_hangup_cause]\",\"$row[sip_hangup_reason]\",\"$phone_number\"\n";
     			if ($i>=$lower_limit && $i<=$upper_limit) {
     				if (strlen($row["channel"])>37) {$row["channel"]=substr($row["channel"],0,37)."...";}
     				$carrier_rpt.="| ".sprintf("%-21s", $row["uniqueid"]); 
    @@ -267,10 +316,12 @@ if ($INVIA && $server_ip_ct>0) {
     				$carrier_rpt.="| ".sprintf("%-41s", $row["channel"]); 
     				$carrier_rpt.="| ".sprintf("%-10s", $row["dial_time"]); 
     				$carrier_rpt.="| ".sprintf("%-14s", $row["answered_time"]); 
    +				$carrier_rpt.="| ".sprintf("%8s", $row["sip_hangup_cause"])." "; 
    +				$carrier_rpt.="| ".sprintf("%-31s", $row["sip_hangup_reason"]); 
     				$carrier_rpt.="| ".sprintf("%-13s", $phone_number)."|\n"; 
     			}
     		}
    -		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    +		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+----------+--------------------------------+--------------+\n";
     
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
    @@ -315,11 +366,31 @@ if ($INVIA && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_dialer_inventory_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_dialer_inventory_report.php
    index eb1f28b0..aa8cafeb 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_dialer_inventory_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_dialer_inventory_report.php
    @@ -1,7 +1,7 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Joe Johnson     LICENSE: AGPLv2
     #                     Matt Florell 
     #
     # NOTES:
    @@ -14,8 +14,11 @@
     # 111106-1327 - Reformatting, other minor changes
     # 111230-1145 - Debugging additions and more minor changes
     # 120221-2237 - Added totals, list options, other small changes
    +# 130414-0131 - Added report logging
     #
     
    +$startMS = microtime();
    +
     error_reporting(0);
     
     require("dbconnect.php");
    @@ -77,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	#$HTML_header.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
     if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -107,6 +101,34 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	#$HTML_header.="\n";
    +	}
     
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$HTML_header.="|$stmt|\n";}
    @@ -882,8 +904,6 @@ if ($file_download>0)
     	flush();
     
     	echo "$CSV_text";
    -
    -	exit;
     	} 
     else 
     	{
    @@ -894,6 +914,27 @@ else
     	echo $HTML_text;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
     
     
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_display.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_display.php
    new file mode 100644
    index 00000000..c5a8dfca
    --- /dev/null
    +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_display.php
    @@ -0,0 +1,86 @@
    +    LICENSE: AGPLv2
    +#
    +# This page displays emails from the log
    +#
    +# changes:
    +# 130221-2124 - First build
    +#
    +
    +require("dbconnect.php");
    +require("functions.php");
    +
    +if (isset($_GET["DB"]))				{$DB=$_GET["DB"];}
    +	elseif (isset($_POST["DB"]))	{$DB=$_POST["DB"];}
    +if (isset($_GET["email_row_id"]))	{$email_row_id=$_GET["email_row_id"];}
    +	elseif (isset($_POST["email_row_id"]))	{$email_row_id=$_POST["email_row_id"];}
    +if (isset($_GET["email_log_id"]))	{$email_log_id=$_GET["email_log_id"];}
    +	elseif (isset($_POST["email_log_id"]))	{$email_log_id=$_POST["email_log_id"];}
    +
    +header ("Content-type: text/html; charset=utf-8");
    +header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    +header ("Pragma: no-cache");                          // HTTP/1.0
    +
    +#############################################
    +##### START SYSTEM_SETTINGS LOOKUP #####
    +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$qm_conf_ct = mysql_num_rows($rslt);
    +if ($qm_conf_ct > 0)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$non_latin =							$row[0];
    +	$timeclock_end_of_day =					$row[1];
    +	$agentonly_callback_campaign_lock =		$row[2];
    +	$custom_fields_enabled =				$row[3];
    +	$allow_emails =				$row[4];
    +	}
    +##### END SETTINGS LOOKUP #####
    +###########################################
    +
    +if ($allow_emails<1) 
    +	{
    +	echo "Your system does not have the email setting enabled\n";
    +	exit;
    +	}
    +
    +if ($non_latin < 1)
    +	{
    +	$user=ereg_replace("[^-_0-9a-zA-Z]","",$user);
    +	$pass=ereg_replace("[^-_0-9a-zA-Z]","",$pass);
    +	}
    +else
    +	{
    +	$user = ereg_replace("'|\"|\\\\|;","",$user);
    +	$pass = ereg_replace("'|\"|\\\\|;","",$pass);
    +	}
    +
    +if ($email_log_id) {
    +	$stmt="select * from vicidial_email_log where email_log_id='$email_log_id'";
    +	$rslt=mysql_query($stmt, $link);
    +} else if ($email_row_id) {
    +	$stmt="select * from vicidial_email_list where email_row_id='$email_row_id'";
    +	$rslt=mysql_query($stmt, $link);
    +}
    +	
    +if (mysql_num_rows($rslt)>0) {
    +	$row=mysql_fetch_array($rslt);
    +	$row["message"]=preg_replace('/\r|\n/', "
    ", $row["message"]); + $EMAIL_form="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="\n"; + $EMAIL_form.="
    Date sent:$row[email_date]
    Message:$row[message]
    "; +} +?> + + + +VICIDIAL email frame + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_report.php new file mode 100644 index 00000000..5dcab8f1 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_email_log_report.php @@ -0,0 +1,559 @@ + LICENSE: AGPLv2 +# +# report of emails handled by the system +# +# CHANGELOG: +# 130221-2117 - First build +# 130414-0132 - Added report logging +# + +$startMS = microtime(); + +$version = '2.6-2'; +$build = '130414-0132'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["user_group_filter"])) {$user_group_filter=$_GET["user_group_filter"];} + elseif (isset($_POST["user_group_filter"])) {$user_group_filter=$_POST["user_group_filter"];} +if (isset($_GET["email_type"])) {$email_type=$_GET["email_type"];} + elseif (isset($_POST["email_type"])) {$email_type=$_POST["email_type"];} +if (isset($_GET["date_type"])) {$date_type=$_GET["date_type"];} + elseif (isset($_POST["date_type"])) {$date_type=$_POST["date_type"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} + + +$report_name = 'Email Log Report'; +$db_source = 'M'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,email_enabled FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $slave_db_server = $row[2]; + $reports_use_slave_db = $row[3]; + $email_enabled = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {$MAIN.="$stmt\n";} +$gmt_conf_ct = mysql_num_rows($rslt); +$dst = date("I"); +if ($gmt_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + $epoch_offset = (($local_gmt + $dst) * 3600); + } + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level='7' and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$reports_only_user=$row[0]; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Utentename/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + +$stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGuser_group = $row[0]; + +$stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; +if ($DB) {$MAIN.="|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$LOGallowed_campaigns = $row[0]; +$LOGallowed_reports = $row[1]; +$LOGadmin_viewable_groups = $row[2]; +$LOGadmin_viewable_call_times = $row[3]; + +if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL REPORT/",$LOGallowed_reports)) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Non sei autorizzato a visualizzare questa relazione: |$PHP_AUTH_USER|$report_name|\n"; + exit; + } + +$LOGadmin_viewable_groupsSQL=''; +$whereLOGadmin_viewable_groupsSQL=''; +if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id,group_name,8 from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; +$rslt=mysql_query($stmt, $link); + +if ($DB) {$MAIN.="$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +$LISTgroups[$i]='---NONE---'; +$i++; +$groups_to_print++; +$groups_string='|'; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] = $row[0]; + $LISTgroup_names[$i] = $row[1]; + $LISTgroup_ids[$i] = $row[2]; + $groups_string .= "$LISTgroups[$i]|"; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + if ( (strlen($group[$i]) > 0) and (preg_match("/\|$group[$i]\|/",$groups_string)) ) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + } + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } +if (strlen($group_SQL)<3) {$group_SQL="''";} + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; + + +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="\n"; +$HEADER.="$report_name\n"; + +$short_header=1; + +#require("admin_header.php"); + +$MAIN.="
    "; + +if ($DB > 0) + { + $MAIN.="
    \n"; + $MAIN.="$group_ct|$group_string|$group_SQL\n"; + $MAIN.="
    \n"; + $MAIN.="$shift|$query_date|$end_date\n"; + $MAIN.="
    \n"; + } + +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="Date:
    \n"; +$MAIN.=""; + +$MAIN.="\n"; + +$MAIN.=" to "; + +$MAIN.="\n"; + +$MAIN.="
    Email groups:
    \n"; +$MAIN.="\n"; +$MAIN.="
    \n"; +$MAIN.="           "; +if ($DID!='Y') + { + $MAIN.="MODIFICA | "; + $MAIN.="IVR REPORT | \n"; + } +$MAIN.="REPORT | "; +$MAIN.="


    \n"; +$MAIN.="
    \n"; + + +$MAIN.="
    \n"; +$MAIN.="
    Select date criteria: 
    "; +if (!$date_type || $date_type=="email_date") {$emailed="checked"; $date_title="received";} +if ($date_type=="call_date") {$called="checked"; $date_title="viewed";} +if ($date_type=="date_answered") {$answrd="checked"; $date_title="answered";} +$rpt_title.="from $query_date_BEGIN to $query_date_END "; +$MAIN.="Date email received
    \n"; +$MAIN.="Date email viewed
    \n"; +$MAIN.="Date email answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="
    Select report type to display: 
    "; +if (!$email_type || $email_type=="received") {$rcvd="checked"; $date_type="email_date"; $email_title="received";} +if ($email_type=="viewed") {$view="checked"; $email_title="viewed";} +if ($email_type=="answered") {$answ="checked"; $email_title="answered";} +$MAIN.="Emails received
    \n"; +$MAIN.="Emails viewed
    \n"; +$MAIN.="Emails answered
    \n"; +$MAIN.="
    \n"; +$MAIN.="\n\n"; +$MAIN.="
    \n\n";
    +
    +if ($groups_to_print < 1)
    +	{
    +	$MAIN.="\n\n";
    +	$MAIN.="PLEASE SELECT AN EMAIL ACCOUNT AND DATE RANGE ABOVE AND CLICK INVIA\n";
    +	}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$end_date 23:59:59";
    +
    +$rpt_title="Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\n\n";
    +$MAIN.=$rpt_title;
    +$MAIN.="Email log results: $group_string          $NOW_TIME        DOWNLOAD\n";
    +$CSV_text1.="\"Showing emails $email_title that were $date_title from $query_date_BEGIN to $query_date_END\"\n\n";
    +
    +if ($email_type=="received") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +	#	$stmt="select vel.* from vicidial_email_list vel where $date_type>='$query_date_BEGIN' and $date_type<='$query_date_END' and group_id in ($group_SQL) order by $date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +	#	$stmt="select vel.*, vcl.call_date, from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status from vicidial_email_list vel where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="viewed") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE")." | DATE EMAIL VIEWED   | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date from vicidial_email_list vel, vicidial_closer_log vcl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) order by vel.$date_type asc";
    +		}
    +	}
    +else if ($email_type=="answered") 
    +	{
    +	$rpt_border="+---------------------+--------------------------------+----------------------+----------------------------------------------------+---------------------+---------------------+----------------------+----------------------------------------------------+------------+\n";
    +	$rpt_header="| DATE EMAIL RECEIVED | ".sprintf("%-30s", "ADDRESS FROM")." | ".sprintf("%-20s", "SENDER NAME")." | ".sprintf("%-50s", "MESSAGE (click to view full text)")." | DATE EMAIL VIEWED   | DATE EMAIL RISPOSTAED | ".sprintf("%-20s", "USER")." | ".sprintf("%-50s", "RESPONSE (click to view full text)")." | ".sprintf("%-10s", "STATUS")." |\n";
    +	$CSV_text1.="\"DATE EMAIL RECEIVED\",\"ADDRESS FROM\",\"SENDER NAME\",\"MESSAGE\",\"DATE EMAIL VIEWED\",\"DATE EMAIL RISPOSTAED\",\"USER\",\"RESPONSE\",\"STATUS\"\n";
    +	if ($date_type=="email_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		} 
    +	else if ($date_type=="call_date") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vcl.$date_type>='$query_date_BEGIN' and vcl.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vcl.$date_type asc";
    +		} 
    +	else if ($date_type=="date_answered") 
    +		{
    +		$stmt="select vel.email_row_id, vel.lead_id, vel.email_date, vel.email_from, vel.email_from_name, convert(vel.message using 'utf8') as message, vel.status, vcl.call_date, vl.email_date as date_response_sent, vl.email_log_id, vl.user as sending_user, vl.message as sent_message from vicidial_email_list vel, vicidial_closer_log vcl, vicidial_email_log vl where vel.$date_type>='$query_date_BEGIN' and vel.$date_type<='$query_date_END' and vcl.uniqueid=vel.uniqueid and vel.group_id in ($group_SQL) and vel.email_row_id=vl.email_row_id order by vel.$date_type asc";
    +		}
    +	}
    +#echo $stmt."\n";
    +$rslt=mysql_query($stmt, $link);
    +if (mysql_num_rows($rslt)>0) {
    +	$i=0;
    +	$rpt_str=$rpt_border;
    +	$rpt_str.=$rpt_header;
    +	$rpt_str.=$rpt_border;
    +
    +	while($row=mysql_fetch_array($rslt)) {
    +		$email_row_id=$row["email_row_id"];
    +		$email_log_id=$row["email_log_id"];
    +		$lead_id=$row["lead_id"];
    +		$email_date=$row["email_date"];
    +
    +		$email_from=$row["email_from"];
    +		if (mb_strlen($email_from,'UTF-8')>27) {$email_from=mb_substr($email_from,0,27,'UTF-8')."...";}
    +
    +		$sender_name=$row["email_from_name"];
    +		if (mb_strlen($sender_name,'UTF-8')>17) {$sender_name=mb_substr($sender_name,0,17,'UTF-8')."...";}
    +
    +		$message=preg_replace('/\r|\n/', '', strip_tags($row["message"]));	
    +		if (mb_strlen($message,'UTF-8')>47) {$message=mb_substr($message,0,47,'UTF-8')."...";}
    +
    +		$call_date=$row["call_date"];
    +		$date_answered=$row["date_response_sent"];
    +		
    +		$sent_message=preg_replace('/\r|\n/', ' ', strip_tags($row["sent_message"]));
    +		if (mb_strlen($sent_message,'UTF-8')>47) {$sent_message=mb_substr($sent_message,0,47,'UTF-8')."...";}
    +		
    +		$user=$row["sending_user"];
    +		$status=$row["status"];
    +
    +		if ($email_type=="received") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$status\"\n";
    +		} else if ($email_type=="viewed") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$status\"\n";
    +		} else if ($email_type=="answered") {
    +			$rpt_line="| $email_date | ".sprintf("%-30s", "$email_from")." | ".sprintf("%-20s", "$sender_name")." | ".sprintf("%-50s", "$message")." | $call_date | $date_answered | ".sprintf("%-20s", $user)." | ".sprintf("%-50s", "$sent_message")." | ".sprintf("%-10s", "$status")." |\n";
    +			$CSV_text1.="\"$email_date\",\"$email_from\",\"$sender_name\",\"$message\",\"$call_date\",\"$date_answered\",\"$user\",\"$sent_message\",\"$status\"\n";
    +		}
    +
    +		$rpt_str.=$rpt_line;
    +	}
    +	$rpt_str.=$rpt_border;
    +} else {
    +	$rpt_str="**NO RESULTS FOUND**\n\n";
    +}
    +	$MAIN.=$rpt_str;
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +$MAIN.="\nRun Time: $RUNtime seconds|$db_source\n";
    +$MAIN.="
    "; +$MAIN.="
    "; + +$MAIN.=""; + +if ($file_download>0) { + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AST_email_log_report_$US$FILE_TIME.csv"; + $CSV_var="CSV_text1"; + $CSV_text=preg_replace('/^\s+/', '', $$CSV_var); + $CSV_text=preg_replace('/ +\"/', '"', $CSV_text); + $CSV_text=preg_replace('/\" +/', '"', $CSV_text); + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text1"; + +} else { + echo $HEADER; + echo $JS_text; + require("admin_header.php"); + echo $MAIN; +} + +} + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_hangup_cause_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_hangup_cause_report.php index bfae6665..0349d82a 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_hangup_cause_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_hangup_cause_report.php @@ -1,12 +1,17 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # 120331-2301 - First build +# 130413-2348 - Added report logging +# 130419-2047 - Changed how menu lists are generated to speed up initial form load # +$startMS = microtime(); + +$report_name='Hangup Cause Report'; require("dbconnect.php"); @@ -23,6 +28,8 @@ if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} if (isset($_GET["hangup_cause"])) {$hangup_cause=$_GET["hangup_cause"];} elseif (isset($_POST["hangup_cause"])) {$hangup_cause=$_POST["hangup_cause"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} if (isset($_GET["lower_limit"])) {$lower_limit=$_GET["lower_limit"];} @@ -39,6 +46,8 @@ if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$START_TIME=date("U"); + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;"; @@ -56,15 +65,96 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) +##### Hangup Cause Dictionary ##### +$hangup_cause_dictionary = array( +0 => "Unspecified. No other cause codes applicable.", +1 => "Unallocated (unassigned) number.", +2 => "No route to specified transit network (national use).", +3 => "No route to destination.", +6 => "Channel unacceptable.", +7 => "Call awarded, being delivered in an established channel.", +16 => "Normal call clearing.", +17 => "Utente busy.", +18 => "No user responding.", +19 => "No answer from user (user alerted).", +20 => "Subscriber absent.", +21 => "Call rejected.", +22 => "Number changed.", +23 => "Redirection to new destination.", +25 => "Exchange routing error.", +27 => "Destination out of order.", +28 => "Invalid number format (address incomplete).", +29 => "Facilities rejected.", +30 => "Response to STATUS INQUIRY.", +31 => "Normal, unspecified.", +34 => "No circuit/channel available.", +38 => "Network out of order.", +41 => "Temporary failure.", +42 => "Switching equipment congestion.", +43 => "Access information discarded.", +44 => "Requested circuit/channel not available.", +50 => "Requested facility not subscribed.", +52 => "Outgoing calls barred.", +54 => "Incoming calls barred.", +57 => "Bearer capability not authorized.", +58 => "Bearer capability not presently available.", +63 => "Service or option not available, unspecified.", +65 => "Bearer capability not implemented.", +66 => "Channel type not implemented.", +69 => "Requested facility not implemented.", +79 => "Service or option not implemented, unspecified.", +81 => "Invalid call reference value.", +88 => "Incompatible destination.", +95 => "Invalid message, unspecified.", +96 => "Mandatory information element is missing.", +97 => "Message type non-existent or not implemented.", +98 => "Message not compatible with call state or message type non-existent or not implemented.", +99 => "Information element / parameter non-existent or not implemented.", +100 => "Invalid information element contents.", +101 => "Message not compatible with call state.", +102 => "Recovery on timer expiry.", +103 => "Parameter non-existent or not implemented - passed on (national use).", +111 => "Protocol error, unspecified.", +127 => "Interworking, unspecified." +); + +$master_hangup_cause_array=array(); +$i=0; +while (list($key, $val)=each($hangup_cause_dictionary)) { + $master_hangup_cause_array[$i]=$key; + $i++; +} +$hangup_causes_to_print=count($master_hangup_cause_array); +$master_dialstatus_array=array("RISPOSTA", "BUSY", "NORISPOSTA", "CANCEL", "CONGESTION", "CHANUNAVAIL", "DONTCALL", "TORTURE", "INVALIDARGS"); +$dialstatuses_to_print=count($master_dialstatus_array); + +/* +$hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); +$i=0; +while($i < $hangup_cause_ct) { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; + if (preg_match('/\-\-ALL\-\-/', $hangup_cause[$i])) + { + $hangup_cause=$master_hangup_cause_array; + break; + } + $i++; } +$j=0; +while($j < $dial_status_ct) + { + if (preg_match('/\-\-ALL\-\-/', $dial_status[$j])) + { + $dial_status=$master_dialstatus_array; + break; + } + $j++; + } +*/ + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} @@ -87,6 +177,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";} if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";} $NOW_DATE = date("Y-m-d"); @@ -101,7 +220,8 @@ while($i < $server_ip_ct) $i++; } -$server_stmt="select distinct s.server_ip, s.server_description from servers s, vicidial_carrier_log vcl where s.server_ip=vcl.server_ip order by server_ip asc"; +$server_stmt="SELECT server_ip,server_description from servers where active_asterisk_server='Y' order by server_ip asc"; +if ($DB) {echo "|$server_stmt|\n";} $server_rslt=mysql_query($server_stmt, $link); $servers_to_print=mysql_num_rows($server_rslt); $i=0; @@ -148,65 +268,102 @@ if (strlen($server_ip_SQL)<3) {$server_ip_SQL="";} ########### HANGUP CAUSES $hangup_cause_string='|'; $dialstatus_string='|'; -$hangup_and_dialstatus_string='|'; +#$hangup_and_dialstatus_string='|'; $hangup_cause_ct = count($hangup_cause); +$dial_status_ct = count($dial_status); $i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - $hangup_and_dialstatus_string .= "$hangup_cause[$i]|"; - $hangup_cause_string .= "$hangup_array[0]|"; - $dialstatus_string .= "$hangup_array[1]|"; + $hangup_cause_string .= "$hangup_cause[$i]|"; $i++; } -$hangupcause_stmt="select distinct hangup_cause, dialstatus from vicidial_carrier_log order by dialstatus, hangup_cause asc"; -$hangupcause_rslt=mysql_query($hangupcause_stmt, $link); -$causes_to_print=mysql_num_rows($hangupcause_rslt); -$i=0; -while ($i < $causes_to_print) +$j=0; +while($j < $dial_status_ct) { - $row=mysql_fetch_row($hangupcause_rslt); - $LISThangup_causes[$i] = $row[0]; - $LISTdialstatuses[$i] = $row[1]; - if (ereg("-ALL",$hangup_cause_string) ) + $dialstatus_string .= "$dial_status[$j]|"; + $j++; + } + +$i=0; $j=0; +$hangup_causes_string='|'; +$dialstatuses_string='|'; +while($i < $hangup_cause_ct) + { + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) ) { - $hangup_cause[$i] = $LISThangup_causes[$i]; - $dialstatus[$i] = $LISTdialstatuses[$i]; + $hangup_causes_string .= "$hangup_cause[$i]|"; + $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; } $i++; } -$i=0; -$hangup_causes_string='|'; -$hangup_cause_ct = count($hangup_cause); +while ($j < $dial_status_ct) + { + if ( (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + $dialstatuses_string .= "$dial_status[$j]|"; + $dial_statusQS .= "&dial_status[]=$dial_status[$j]"; + } + $j++; + } + +$i=0; while($i < $hangup_cause_ct) { - $hangup_array=explode("!", $hangup_cause[$i]); - if ( (strlen($hangup_array[0]) > 0) and (preg_match("/\|$hangup_array[0]\|/",$hangup_cause_string)) and (strlen($hangup_array[1]) > 0) and (preg_match("/\|$hangup_array[1]\|/",$dialstatus_string)) ) + $j=0; + while ($j < $dial_status_ct) { - $hangup_causes_string .= "$hangup_array[0]|"; - $hangup_cause_SQL .= "(hangup_cause='$hangup_array[0]' and dialstatus='$hangup_array[1]') OR"; - $hangup_causeQS .= "&hangup_cause[]=$hangup_cause[$i]"; + if ( (strlen($hangup_cause[$i]) > 0) and (preg_match("/\|$hangup_cause[$i]\|/",$hangup_cause_string)) and (strlen($dial_status[$j]) > 0) and (preg_match("/\|$dial_status[$j]\|/",$dialstatus_string)) ) + { + if ( ereg("--ALL--",$hangup_cause_string) ) {$HC_subclause="";} else {$HC_subclause="hangup_cause='$hangup_cause[$i]'";} + if ( ereg("--ALL--",$dialstatus_string) ) {$DS_subclause="";} else {$DS_subclause="dialstatus='$dial_status[$j]'";} + if ($HC_subclause=="" || $DS_subclause=="") {$conjunction="";} else {$conjunction=" and ";} + $hangup_cause_SQL .= "($HC_subclause$conjunction$DS_subclause) OR"; + $hangup_cause_SQL=preg_replace('/\(\) OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL .= "(hangup_cause='$hangup_cause[$i]' and dialstatus='$dial_status[$j]') OR"; + } + $j++; } $i++; } if ( (ereg("--ALL--",$hangup_cause_string) ) or ($hangup_cause_ct < 1) ) { - $hangup_cause_SQL = ""; +# $hangup_cause_SQL = ""; $HC_rpt_string="- ALL hangup causes "; if (ereg("--ALL--",$hangup_cause_string)) {$hangup_causeQS="&hangup_cause[]=--ALL--";} } else { - $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); - $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); - $hangup_cause_SQL = "and ($hangup_cause_SQL)"; - $hangup_and_dialstatus_string=preg_replace('/\!/', "-", $hangup_and_dialstatus_string); - $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_and_dialstatus_string, 1, -1)); +# $hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +# $hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +# $hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $hangup_causes_string=preg_replace('/\!/', "-", $hangup_causes_string); + $HC_rpt_string="AND hangup cause(s) ".preg_replace('/\|/', ", ", substr($hangup_causes_string, 1, -1)); } -if (strlen($hangup_cause_SQL)<3) {$hangup_cause_SQL="";} + +if ( (ereg("--ALL--",$dial_status_string) ) or ($dial_status_ct < 1) ) + { + $dial_status_SQL = ""; + $DS_rpt_string="- ALL dial statuses "; + if (ereg("--ALL--",$dial_status_string)) {$dial_statusQS="&dial_status[]=--ALL--";} + } +else + { + #$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); + #$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); + #$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + $dialstatuses_string=preg_replace('/\!/', "-", $dialstatuses_string); + $DS_rpt_string="AND dial status(es) ".preg_replace('/\|/', ", ", substr($dialstatuses_string, 1, -1)); + } + +$hangup_cause_SQL=preg_replace('/ OR$/', '', $hangup_cause_SQL); +$hangup_cause_SQL = eregi_replace(",$",'',$hangup_cause_SQL); +$hangup_cause_SQL = "and ($hangup_cause_SQL)"; + +if (strlen($hangup_cause_SQL)<7) {$hangup_cause_SQL="";} + ######################## $HEADER.="\n"; $HEADER.="\n"; @@ -267,22 +424,44 @@ while ($servers_to_print > $o) } $MAIN.="
    Hangup Cause/Dial Status:
    "; +$MAIN.="
    Hangup Cause:
    "; $MAIN.="
    Dial esito:
    "; +$MAIN.=""; +$MAIN.="
    "; @@ -292,7 +471,7 @@ $MAIN.="\n"; $MAIN.="

    \n"; $MAIN.="
    \n"; if ($INVIA && $server_ip_ct>0) { - $stmt="select hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; + $stmt="SELECT hangup_cause, dialstatus, count(*) as ct From vicidial_carrier_log where call_date>='$query_date $query_date_D' and call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL group by hangup_cause, dialstatus order by hangup_cause, dialstatus"; $rslt=mysql_query($stmt, $link); $MAIN.="
    \n";
     	if ($DB) {$MAIN.=$stmt."\n";}
    @@ -313,14 +492,14 @@ if ($INVIA && $server_ip_ct>0) {
     		$MAIN.="|                      TOTAL | ".sprintf("%-8s", $total_count)."|\n";
     		$MAIN.="+--------------+-------------+---------+\n\n\n";
     
    -		$rpt_stmt="select vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
    +		$rpt_stmt="SELECT vicidial_carrier_log.*, vicidial_log.phone_number from vicidial_carrier_log left join vicidial_log on vicidial_log.uniqueid=vicidial_carrier_log.uniqueid where vicidial_carrier_log.call_date>='$query_date $query_date_D' and vicidial_carrier_log.call_date<='$query_date $query_date_T' $server_ip_SQL $hangup_cause_SQL order by vicidial_carrier_log.call_date asc";
     		$rpt_rslt=mysql_query($rpt_stmt, $link);
     		if ($DB) {$MAIN.=$rpt_stmt."\n";}
     
     		if (!$lower_limit) {$lower_limit=1;}
     		if ($lower_limit+999>=mysql_num_rows($rpt_rslt)) {$upper_limit=($lower_limit+mysql_num_rows($rpt_rslt)%1000)-1;} else {$upper_limit=$lower_limit+999;}
     		
    -		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
    +		$MAIN.="--- CARRIER LOG RECORDS FOR $query_date, $query_date_D TO $query_date_T $server_rpt_string, $HC_rpt_string, $DS_rpt_string\n --- RECORDS #$lower_limit-$upper_limit               [DOWNLOAD]\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
     		$carrier_rpt.="| UNIQUE ID            | CALL DATE           | SERVER IP       | LEAD ID   | HANGUP CAUSE | DIAL STATUS | CHANNEL                                  | DIAL TIME | RISPOSTAED TIME | PHONE NUMBER |\n";
     		$carrier_rpt.="+----------------------+---------------------+-----------------+-----------+--------------+-------------+------------------------------------------+-----------+---------------+--------------+\n";
    @@ -331,7 +510,7 @@ if ($INVIA && $server_ip_ct>0) {
     			$phone_number=""; $phone_note="";
     
     			if (strlen($row["phone_number"])==0) {
    -				$stmt2="select phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
    +				$stmt2="SELECT phone_number, alt_phone, address3 from vicidial_list where lead_id='$row[lead_id]'";
     				$rslt2=mysql_query($stmt2, $link);
     				$channel=$row["channel"];
     				while ($row2=mysql_fetch_array($rslt2)) {
    @@ -363,14 +542,14 @@ if ($INVIA && $server_ip_ct>0) {
     		$carrier_rpt_hf="";
     		$ll=$lower_limit-1000;
     		if ($ll>=1) {
    -			$carrier_rpt_hf.="[<<< PREV 1000 records]";
    +			$carrier_rpt_hf.="[<<< PREV 1000 records]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%-23s", " ");
     		}
     		$carrier_rpt_hf.=sprintf("%-145s", " ");
     		if (($lower_limit+1000)=mysql_num_rows($rpt_rslt)) {$max_limit=mysql_num_rows($rpt_rslt)-$upper_limit;} else {$max_limit=1000;}
    -			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
    +			$carrier_rpt_hf.="[NEXT $max_limit records >>>]";
     		} else {
     			$carrier_rpt_hf.=sprintf("%23s", " ");
     		}
    @@ -403,11 +582,35 @@ if ($INVIA && $server_ip_ct>0) {
     
     		echo "$CSV_text";
     
    -		exit;
     	} else {
     		echo $HEADER;
     		require("admin_header.php");
     		echo $MAIN;
     	}
     
    +if ($db_source == 'S')
    +	{
    +	mysql_close($link);
    +	$use_slave_server=0;
    +	$db_source = 'M';
    +	require("dbconnect.php");
    +	}
    +
    +$endMS = microtime();
    +$startMSary = explode(" ",$startMS);
    +$endMSary = explode(" ",$endMS);
    +$runS = ($endMSary[0] - $startMSary[0]);
    +$runM = ($endMSary[1] - $startMSary[1]);
    +$TOTALrun = ($runS + $runM);
    +
    +$END_TIME=date("U");
    +
    +#print "Total run time: ".($END_TIME-$START_TIME);
    +
    +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +
    +exit;
    +
     ?>
    diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_inbound_daily_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_inbound_daily_report.php
    index 6a43bb27..efebb3f6 100644
    --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_inbound_daily_report.php
    +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_inbound_daily_report.php
    @@ -1,17 +1,30 @@
         LICENSE: AGPLv2
    +# Copyright (C) 2013  Matt Florell     LICENSE: AGPLv2
     #
     # CHANGES
     #
     # 111119-1234 - First build
     # 120118-2116 - Changed headers on CSV download
     # 120224-0910 - Added HTML display option with bar graphs
    +# 120601-2235 - Added group name to header, added status breakdown counts to page and CSV with option to display them
    +# 120611-2200 - Added ability to filter output by call time
    +# 120819-0118 - Formatting changes
    +# 121115-0621 - Changed to multi-select for in-group selection
    +# 130322-2008 - Added Unique Agents column
    +# 130414-0110 - Added report logging
     #
     
    +$startMS = microtime();
    +
     require("dbconnect.php");
     
    +if (file_exists('options.php'))
    +        {
    +        require('options.php');
    +        }
    +
     $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
     $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
     $PHP_SELF=$_SERVER['PHP_SELF'];
    @@ -27,6 +40,10 @@ if (isset($_GET["file_download"]))			{$file_download=$_GET["file_download"];}
     	elseif (isset($_POST["file_download"]))	{$file_download=$_POST["file_download"];}
     if (isset($_GET["hourly_breakdown"]))			{$hourly_breakdown=$_GET["hourly_breakdown"];}
     	elseif (isset($_POST["hourly_breakdown"]))	{$hourly_breakdown=$_POST["hourly_breakdown"];}
    +if (isset($_GET["show_disposition_statuses"]))			{$show_disposition_statuses=$_GET["show_disposition_statuses"];}
    +	elseif (isset($_POST["show_disposition_statuses"]))	{$show_disposition_statuses=$_POST["show_disposition_statuses"];}
    +if (isset($_GET["ignore_afterhours"]))			{$ignore_afterhours=$_GET["ignore_afterhours"];}
    +	elseif (isset($_POST["ignore_afterhours"]))	{$ignore_afterhours=$_POST["ignore_afterhours"];}
     if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
     	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
     if (isset($_GET["INVIA"]))				{$INVIA=$_GET["INVIA"];}
    @@ -44,6 +61,8 @@ if (strlen($shift)<2) {$shift='ALL';}
     $report_name = 'Inbound Daily Report';
     $db_source = 'M';
     
    +if ($ignore_afterhours=="checked") {$status_clause=" and status!='AFTHRS'";}
    +
     #############################################
     ##### START SYSTEM_SETTINGS LOOKUP #####
     $stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db FROM system_settings;";
    @@ -61,15 +80,6 @@ if ($qm_conf_ct > 0)
     ##### END SETTINGS LOOKUP #####
     ###########################################
     
    -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    -	{
    -	mysql_close($link);
    -	$use_slave_server=1;
    -	$db_source = 'S';
    -	require("dbconnect.php");
    -	$MAIN.="\n";
    -	}
    -
     $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    @@ -91,6 +101,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
         exit;
     	}
     
    +##### BEGIN log visit to the vicidial_report_log table #####
    +$LOGip = getenv("REMOTE_ADDR");
    +$LOGbrowser = getenv("HTTP_USER_AGENT");
    +$LOGscript_name = getenv("SCRIPT_NAME");
    +$LOGserver_name = getenv("SERVER_NAME");
    +$LOGserver_port = getenv("SERVER_PORT");
    +$LOGrequest_uri = getenv("REQUEST_URI");
    +$LOGhttp_referer = getenv("HTTP_REFERER");
    +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';}
    +  else {$HTTPprotocol = 'http://';}
    +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';}
    +else {$LOGserver_port = ":$LOGserver_port";}
    +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri";
    +
    +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';";
    +if ($DB) {echo "|$stmt|\n";}
    +$rslt=mysql_query($stmt, $link);
    +$report_log_id = mysql_insert_id($link);
    +##### END log visit to the vicidial_report_log table #####
    +
    +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) )
    +	{
    +	mysql_close($link);
    +	$use_slave_server=1;
    +	$db_source = 'S';
    +	require("dbconnect.php");
    +	$MAIN.="\n";
    +	}
    +
     $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';";
     if ($DB) {$MAIN.="|$stmt|\n";}
     $rslt=mysql_query($stmt, $link);
    @@ -124,14 +163,34 @@ if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewabl
     	$whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')";
     	}
     
    -$LOGadmin_viewable_call_timesSQL='';
    -$whereLOGadmin_viewable_call_timesSQL='';
    -if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +if ($IDR_calltime_available==1)
     	{
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    -	$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    -	$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    -	$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +	$LOGadmin_viewable_call_timesSQL='';
    +	$whereLOGadmin_viewable_call_timesSQL='';
    +	if ( (!eregi("--ALL--",$LOGadmin_viewable_call_times)) and (strlen($LOGadmin_viewable_call_times) > 3) )
    +		{
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ -/",'',$LOGadmin_viewable_call_times);
    +		$rawLOGadmin_viewable_call_timesSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_call_timesSQL);
    +		$LOGadmin_viewable_call_timesSQL = "and call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		$whereLOGadmin_viewable_call_timesSQL = "where call_time_id IN('---ALL---','$rawLOGadmin_viewable_call_timesSQL')";
    +		}
    +
    +	$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {$MAIN.="$stmt\n";}
    +	$times_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $times_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$call_times[$i] =		$row[0];
    +		$call_time_names[$i] =	$row[1];
    +		$i++;
    +		}
    +	}
    +else 
    +	{
    +	$shift="24hours";
     	}
     
     $NOW_DATE = date("Y-m-d");
    @@ -140,6 +199,25 @@ $STARTtime = date("U");
     if (!isset($group)) {$group = '';}
     if (!isset($query_date)) {$query_date = $NOW_DATE;}
     if (!isset($end_date)) {$end_date = $NOW_DATE;}
    +$groups_selected = count($group);
    +$group_name_str="";
    +$groups_selected_str="";
    +$groups_selected_URLstr="";
    +for ($i=0; $i<$groups_selected; $i++) 
    +	{
    +	$selected_group_URLstr.="&group[]=$group[$i]";
    +	if ($group[$i]=="--ALL--") 
    +		{
    +		$group=array("--ALL--");
    +		$groups_selected=1;
    +		$group_name_str.="-- ALL INGROUPS --";
    +		$all_selected="selected";
    +		}
    +	else 
    +		{
    +		$groups_selected_str.="'$group[$i]', ";
    +		}
    +	}
     
     $stmt="select group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;";
     $rslt=mysql_query($stmt, $link);
    @@ -153,6 +231,26 @@ while ($i < $groups_to_print)
     	$groups[$i] =		$row[0];
     	$group_names[$i] =	$row[1];
     	$groups_string .= "$groups[$i]|";
    +	for ($j=0; $j<$groups_selected; $j++) {
    +		if ($group[$j] && $groups[$i]==$group[$j]) {$group_name_str.="$groups[$i] - $group_names[$i], ";}
    +		if ($group[$j]=="--ALL--") {$groups_selected_str.="'$groups[$i]', ";}
    +	}
    +	$i++;
    +	}
    +
    +$groups_selected_str=preg_replace('/, $/', '', $groups_selected_str);
    +$group_name_str=preg_replace('/, $/', '', $group_name_str);
    +
    +$stmt="select call_time_id,call_time_name from vicidial_call_times $whereLOGadmin_viewable_call_timesSQL order by call_time_id;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {$MAIN.="$stmt\n";}
    +$times_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $times_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$call_times[$i] =		$row[0];
    +	$call_time_names[$i] =	$row[1];
     	$i++;
     	}
     
    @@ -166,11 +264,11 @@ $HEADER.="   .orange {color: black; background-color: #FFCC99}\n";
     $HEADER.="-->\n";
     $HEADER.=" \n";
     
    -if (!preg_match("/\|$group\|/i",$groups_string))
    -	{
    -	$HEADER.="\n";
    -	$group='';
    -	}
    +#if (!preg_match("/\|$group\|/i",$groups_string))
    +#	{
    +#	$HEADER.="\n";
    +#	$group='';
    +#	}
     
     $HEADER.="\n";
     $HEADER.="\n";
    @@ -183,9 +281,9 @@ $short_header=1;
     
     # require("admin_header.php");
     
    -$MAIN.="
    "; - $MAIN.="
    \n"; +$MAIN.="\n"; +$MAIN.="\n"; +$MAIN.="
    "; + $MAIN.=""; $MAIN.="\n"; -$MAIN.="\n"; +$MAIN.="\n"; $o=0; while ($groups_to_print > $o) { - if ($groups[$o] == $group) {$MAIN.="\n";} - else {$MAIN.="\n";} + $selected=""; + for ($i=0; $i<$groups_selected; $i++) { + echo "\n"; + if ($groups[$o] == $group[$i]) {$selected="selected";} + } + $MAIN.="\n"; $o++; } $MAIN.="\n"; @@ -225,26 +328,29 @@ $MAIN.="  "; $MAIN.="  "; -$MAIN.="\n"; -$MAIN.="\n"; -$MAIN.="           DOWNLOAD | MODIFICA | REPORT
    Show hourly results
    \n"; -$MAIN.="\n\n"; + +if ($IDR_calltime_available==1) + { + $MAIN.="\n"; + } + +$MAIN.="
    Show hourly results
    Show disposition statuses
    Ignore after-hours calls
    DOWNLOAD | MODIFICA | REPORT
    "; $MAIN.="
    \n\n";
     
     
    -if (!$group)
    +if ($groups_selected==0)
     	{
     	$MAIN.="\n\n";
     	$MAIN.="SELEZIONA UN GRUPPO IN-E DATE SOPRA e fare clic su Invia\n";
    @@ -256,94 +362,247 @@ if (!$group)
     else
     	{
     	### FOR SHIFTS IT IS BEST TO STICK TO 15-MINUTE INCREMENTS FOR START TIMES ###
    +	if ($shift && $shift!="ALL") {
    +		# call_time_id | call_time_name              | call_time_comments | ct_default_start | ct_default_stop | ct_sunday_start | ct_sunday_stop | ct_monday_start | ct_monday_stop | ct_tuesday_start | ct_tuesday_stop | ct_wednesday_start | ct_wednesday_stop | ct_thursday_start | ct_thursday_stop | ct_friday_start | ct_friday_stop | ct_saturday_start | ct_saturday_stop
    +		$big_shift_time_SQL_clause ="";
    +		$shift_stmt="select * from vicidial_call_times where call_time_id='$shift'";
    +		$shift_rslt=mysql_query($shift_stmt, $link);
    +		$shift_row=mysql_fetch_array($shift_rslt);
    +		$default_start_time=substr("0000".$shift_row["ct_default_start"], -4);
    +		$default_stop_time=substr("0000".$shift_row["ct_default_stop"], -4);
    +		$ct_default_start=substr($default_start_time,0,2).":".substr($default_start_time,2,2).":00";
    +		$ct_default_stop=substr($default_stop_time,0,2).":".substr($default_stop_time,2,2).":00";
     
    -	if ($shift == 'AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}   
    -		if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +		if ($shift_row["ct_sunday_start"]!=$shift_row["ct_sunday_stop"]) {
    +			$sunday_start_time=substr("0000".$shift_row["ct_sunday_start"], -4);
    +			$sunday_stop_time=substr("0000".$shift_row["ct_sunday_stop"], -4);
    +			$ct_sunday_start=substr($sunday_start_time,0,2).":".substr($sunday_start_time,2,2).":00";
    +			$ct_sunday_stop=substr($sunday_stop_time,0,2).":".substr($sunday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_sunday_start"]!="2400") {
    +			$ct_sunday_start=$ct_default_start;
    +			$ct_sunday_stop=$ct_default_stop;
    +		} else {
    +			$ct_sunday_start="00:00:00";
    +			$ct_sunday_stop=1;
     		}
    -	if ($shift == 'PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_sunday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_sunday_stop=$strow[0];
    +		$start_time_ary[0]=$ct_sunday_start;
    +		$stop_time_ary[0]=$ct_sunday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=0 and date_format(call_date, '%H:%i:%s')>='$ct_sunday_start' and date_format(call_date, '%H:%i:%s')<='$ct_sunday_stop') or ";
    +
    +		if ($shift_row["ct_monday_start"]!=$shift_row["ct_monday_stop"]) {
    +			$monday_start_time=substr("0000".$shift_row["ct_monday_start"], -4);
    +			$monday_stop_time=substr("0000".$shift_row["ct_monday_stop"], -4);
    +			$ct_monday_start=substr($monday_start_time,0,2).":".substr($monday_start_time,2,2).":00";
    +			$ct_monday_stop=substr($monday_stop_time,0,2).":".substr($monday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_monday_start"]!="2400") {
    +			$ct_monday_start=$ct_default_start;
    +			$ct_monday_stop=$ct_default_stop;
    +		} else {
    +			$ct_monday_start="00:00:00";
    +			$ct_monday_stop=1;
     		}
    -	if ($shift == 'ALL') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_monday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_monday_stop=$strow[0];
    +		$start_time_ary[1]=$ct_monday_start;
    +		$stop_time_ary[1]=$ct_monday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=1 and date_format(call_date, '%H:%i:%s')>='$ct_monday_start' and date_format(call_date, '%H:%i:%s')<='$ct_monday_stop') or ";
    +
    +		if ($shift_row["ct_tuesday_start"]!=$shift_row["ct_tuesday_stop"]) {
    +			$tuesday_start_time=substr("0000".$shift_row["ct_tuesday_start"], -4);
    +			$tuesday_stop_time=substr("0000".$shift_row["ct_tuesday_stop"], -4);
    +			$ct_tuesday_start=substr($tuesday_start_time,0,2).":".substr($tuesday_start_time,2,2).":00";
    +			$ct_tuesday_stop=substr($tuesday_stop_time,0,2).":".substr($tuesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_tuesday_start"]!="2400") {
    +			$ct_tuesday_start=$ct_default_start;
    +			$ct_tuesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_tuesday_start="00:00:00";
    +			$ct_tuesday_stop=1;
     		}
    -	if ($shift == 'DAYTIME') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_tuesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_tuesday_stop=$strow[0];
    +		$start_time_ary[2]=$ct_tuesday_start;
    +		$stop_time_ary[2]=$ct_tuesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=2 and date_format(call_date, '%H:%i:%s')>='$ct_tuesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_tuesday_stop') or ";
    +
    +		if ($shift_row["ct_wednesday_start"]!=$shift_row["ct_wednesday_stop"]) {
    +			$wednesday_start_time=substr("0000".$shift_row["ct_wednesday_start"], -4);
    +			$wednesday_stop_time=substr("0000".$shift_row["ct_wednesday_stop"], -4);
    +			$ct_wednesday_start=substr($wednesday_start_time,0,2).":".substr($wednesday_start_time,2,2).":00";
    +			$ct_wednesday_stop=substr($wednesday_stop_time,0,2).":".substr($wednesday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_wednesday_start"]!="2400") {
    +			$ct_wednesday_start=$ct_default_start;
    +			$ct_wednesday_stop=$ct_default_stop;
    +		} else {
    +			$ct_wednesday_start="00:00:00";
    +			$ct_wednesday_stop=1;
     		}
    -	if ($shift == '10AM-6PM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_wednesday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_wednesday_stop=$strow[0];
    +		$start_time_ary[3]=$ct_wednesday_start;
    +		$stop_time_ary[3]=$ct_wednesday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=3 and date_format(call_date, '%H:%i:%s')>='$ct_wednesday_start' and date_format(call_date, '%H:%i:%s')<='$ct_wednesday_stop') or ";
    +
    +		if ($shift_row["ct_thursday_start"]!=$shift_row["ct_thursday_stop"]) {
    +			$thursday_start_time=substr("0000".$shift_row["ct_thursday_start"], -4);
    +			$thursday_stop_time=substr("0000".$shift_row["ct_thursday_stop"], -4);
    +			$ct_thursday_start=substr($thursday_start_time,0,2).":".substr($thursday_start_time,2,2).":00";
    +			$ct_thursday_stop=substr($thursday_stop_time,0,2).":".substr($thursday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_thursday_start"]!="2400") {
    +			$ct_thursday_start=$ct_default_start;
    +			$ct_thursday_stop=$ct_default_stop;
    +		} else {
    +			$ct_thursday_start="00:00:00";
    +			$ct_thursday_stop=1;
     		}
    -	if ($shift == '9AM-1AM') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_thursday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_thursday_stop=$strow[0];
    +		$start_time_ary[4]=$ct_thursday_start;
    +		$stop_time_ary[4]=$ct_thursday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=4 and date_format(call_date, '%H:%i:%s')>='$ct_thursday_start' and date_format(call_date, '%H:%i:%s')<='$ct_thursday_stop') or ";
    +
    +		if ($shift_row["ct_friday_start"]!=$shift_row["ct_friday_stop"]) {
    +			$friday_start_time=substr("0000".$shift_row["ct_friday_start"], -4);
    +			$friday_stop_time=substr("0000".$shift_row["ct_friday_stop"], -4);
    +			$ct_friday_start=substr($friday_start_time,0,2).":".substr($friday_start_time,2,2).":00";
    +			$ct_friday_stop=substr($friday_stop_time,0,2).":".substr($friday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_friday_start"]!="2400") {
    +			$ct_friday_start=$ct_default_start;
    +			$ct_friday_stop=$ct_default_stop;
    +		} else {
    +			$ct_friday_start="00:00:00";
    +			$ct_friday_stop=1;
     		}
    -	if ($shift == '845-1745') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "17:44:59";}
    -		}
    -	if ($shift == '1745-100') 
    -		{
    -		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
    -		if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +		$stop_time_stmt="select TIMEDIFF('$ct_friday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_friday_stop=$strow[0];
    +		$start_time_ary[5]=$ct_friday_start;
    +		$stop_time_ary[5]=$ct_friday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=5 and date_format(call_date, '%H:%i:%s')>='$ct_friday_start' and date_format(call_date, '%H:%i:%s')<='$ct_friday_stop') or ";
    +
    +		if ($shift_row["ct_saturday_start"]!=$shift_row["ct_saturday_stop"]) {
    +			$saturday_start_time=substr("0000".$shift_row["ct_saturday_start"], -4);
    +			$saturday_stop_time=substr("0000".$shift_row["ct_saturday_stop"], -4);
    +			$ct_saturday_start=substr($saturday_start_time,0,2).":".substr($saturday_start_time,2,2).":00";
    +			$ct_saturday_stop=substr($saturday_stop_time,0,2).":".substr($saturday_stop_time,2,2).":00";
    +		} else if ($shift_row["ct_saturday_start"]!="2400") {
    +			$ct_saturday_start=$ct_default_start;
    +			$ct_saturday_stop=$ct_default_stop;
    +		} else {
    +			$ct_saturday_start="00:00:00";
    +			$ct_saturday_stop=1;
     		}
    +		$stop_time_stmt="select TIMEDIFF('$ct_saturday_stop', 1)";  # subtract one second - don't allow the actual final time - this can cause an extra row to print
    +		$stop_time_rslt=mysql_query($stop_time_stmt, $link);
    +		$strow=mysql_fetch_row($stop_time_rslt);
    +		$ct_saturday_stop=$strow[0];
    +		$start_time_ary[6]=$ct_saturday_start;
    +		$stop_time_ary[6]=$ct_saturday_stop;
    +		$big_shift_time_SQL_clause.="(date_format(call_date, '%w')=6 and date_format(call_date, '%H:%i:%s')>='$ct_saturday_start' and date_format(call_date, '%H:%i:%s')<='$ct_saturday_stop') or ";
     
    -	$time1 = strtotime($time_BEGIN);
    -	$time2 = strtotime($time_END)+1;
    +		$query_time_stmt="select date_format('$query_date', '%w'), date_format('$end_date', '%w')";
    +		$query_time_rslt=mysql_query($query_time_stmt, $link);
    +		$qrow=mysql_fetch_row($query_time_rslt);
    +		$time_BEGIN=$start_time_ary[$qrow[0]];
    +		$time_END=$stop_time_ary[$qrow[0]];
    +		#$time_BEGIN="00:00:00"; # Need this so the $SQepoch value can be tweaked per day (i.e. only adding the hours for the start time);
     
    -	$hpd = ceil(($time2 - $time1) / 3600);
    -	if ($hpd<0) {$hpd+=24;}
    +		$query_date_BEGIN = "$query_date ".$time_BEGIN;   
    +		$query_date_END = "$end_date ".$time_END;
    +		RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); # Only calling it here to get the DURATIONday, EQepoch, and intial SQepoch
    +		# Will be called repeatedly for each day
     
    +		$big_shift_time_SQL_clause=preg_replace('/\sor\s$/', '', $big_shift_time_SQL_clause);
    +		$big_shift_time_SQL_clause=" and ($big_shift_time_SQL_clause)";
    +		#echo $big_shift_time_SQL_clause;
    +		#print_r($start_time_ary); echo "
    "; + #print_r($stop_time_ary); echo "
    "; + } else { - $query_date_BEGIN = "$query_date $time_BEGIN"; - $query_date_END = "$end_date $time_END"; + if ($shift == 'ALL') + { + if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";} + if (strlen($time_END) < 6) {$time_END = "23:59:59";} + } - $SQdate_ARY = explode(' ',$query_date_BEGIN); - $SQday_ARY = explode('-',$SQdate_ARY[0]); - $SQtime_ARY = explode(':',$SQdate_ARY[1]); - $EQdate_ARY = explode(' ',$query_date_END); - $EQday_ARY = explode('-',$EQdate_ARY[0]); - $EQtime_ARY = explode(':',$EQdate_ARY[1]); + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; - $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); - $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); - - $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); - $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); - - $DURATIONsec = ($EQepoch - $SQepoch); - $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); - - if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) - { - $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); - $query_date_END = date("Y-m-d H:i:s", $EQepoch); - $DURATIONday++; - } + RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END); + } $MAIN.="Inbound Daily Report $NOW_TIME\n"; - $MAIN.="Selected in-gruppo: $group\n"; - $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END for $shift shift\n\n"; + $MAIN.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$MAIN.="Selected shift: $shift\n";} + $MAIN.="Time range $DURATIONday days: $query_date_BEGIN to $query_date_END"; + if ($shift && $IDR_calltime_available) {$MAIN.="for $shift shift";} + $MAIN.="\n\n"; #echo "Time range day sec: $SQsec - $EQsec Day range in epoch: $SQepoch - $EQepoch Start: $SQepochDAY\n"; $CSV_text.="\"Inbound Daily Report\",\"$NOW_TIME\"\n"; - $CSV_text.="Selected in-gruppo: $group\n"; - $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END for $shift shift\"\n\n"; + $CSV_text.="Selected in-groups: $group_name_str\n"; + if ($shift && $IDR_calltime_available) {$CSV_text.="Selected shift: $shift\n";} + $CSV_text.="\"Time range $DURATIONday days:\",\"$query_date_BEGIN to $query_date_END\""; + if ($shift && $IDR_calltime_available) {$CSV_text.="for $shift shift";} + $CSV_text.="\n\n"; - $d=0; $q=0; $hr=0; + if ($show_disposition_statuses) { + $dispo_stmt="select distinct status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ") $big_shift_time_SQL_clause order by status;"; + #echo $dispo_stmt."
    "; + $dispo_rslt=mysql_query($dispo_stmt, $link); + $dispo_str=""; + $s=0; + while($dispo_row=mysql_fetch_row($dispo_rslt)) { + $status_array[$s][0]="$dispo_row[0]"; + $status_array[$s][1]=""; + $dispo_str.="'$dispo_row[0]',"; + $stat_stmt="select distinct status, status_name from vicidial_statuses where status='$dispo_row[0]' UNION select distinct status, status_name from vicidial_campaign_statuses where status='$dispo_row[0]' order by status;"; + #echo $stat_stmt."
    "; + $stat_rslt=mysql_query($stat_stmt, $link); + while ($stat_row=mysql_fetch_array($stat_rslt)) { + $status_array[$s][1]=$stat_row["status_name"]; + } + $s++; + } + $dispo_str=substr($dispo_str,0,-1); + asort($status_array); + #print_r($status_array); +# if (strlen($dispo_str)>0) { +# } + } + + $d=0; $q=0; $hr=0; $shift_hrs=0; while ($d < $DURATIONday) { - $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) ); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600)); + + if ($shift && $shift!="ALL" && $RECALC==1) + { + # Need to get current day, hours for that day (hpd) + $current_dayofweek=date("w", $dSQepoch); + $time_BEGIN=$start_time_ary[$current_dayofweek]; + $time_END=$stop_time_ary[$current_dayofweek]; + HourDifference($time_BEGIN, $time_END); # new hpd + $query_date_BEGIN = "$query_date $time_BEGIN"; + $query_date_END = "$end_date $time_END"; + RecalculateEpochs($query_date_BEGIN, $query_date_END); + $dSQepoch = ($SQepoch + ($d * 86400) + ($hr * 3600) + ($shift_hrs * 3600) ); + #echo " --- NEW DAY: $query_date_BEGIN / $query_date_END ---
    "; + $RECALC=0; + } + if ($hourly_breakdown) { @@ -351,17 +610,17 @@ else } else { - $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600) ) ); + $dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) + ($hr * 3600)) ); if ($EQsec < $SQsec) { $dEQepoch = ($dEQepoch + 86400); } } + #echo "$dSQepoch - $dEQepoch, ".date("Y-m-d H:i:s", $dSQepoch)." - ".date("Y-m-d H:i:s", $dEQepoch).", ".date("D", $dSQepoch)." - $hpd hours - shift starts at $shift_hrs:00:00
    "; $daySTART[$q] = date("Y-m-d H:i:s", $dSQepoch); $dayEND[$q] = date("Y-m-d H:i:s", $dEQepoch); - # || $time_END<=date("H:i:s", $dEQepoch) if ($hr>=($hpd-1) || !$hourly_breakdown) { $d++; @@ -370,6 +629,7 @@ else { $dayEND[$q] = date("Y-m-d ", $dEQepoch).$time_END; } + $RECALC=1; } else { @@ -467,11 +727,12 @@ else ### GRAB ALL RECORDS WITHIN RANGE FROM THE DATABASE ### - $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';"; + $stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status,term_reason,call_date,user from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id in (" . $groups_selected_str . ");"; $rslt=mysql_query($stmt, $link); if ($DB) {$ASCII_text.="$stmt\n";} $records_to_grab = mysql_num_rows($rslt); $i=0; + $fTOTAL_agents=array(); if($hourly_breakdown) {$epoch_interval=3600;} else {$epoch_interval=86400;} while ($i < $records_to_grab) { @@ -492,7 +753,8 @@ else $st[$i] = $row[3]; $tr[$i] = $row[4]; $at[$i] = $row[5]; # Actual time - + if ($row[6]!="VDCL" && $row[6]!="") {$ag[$i] = $row[6];} # Utente + # $fTOTAL_agents["$row[6]"]++; # $ASCII_text.= "$qs[$i] | $dt[$i] - $row[1] | $ut[$i] | $ls[$i] | $st[$i] | $tr[$i] | $at[$i]\n"; $i++; @@ -529,12 +791,15 @@ else $totRISPOSTASdate=$MT; $totRISPOSTAS=0; + $totAGENTS=0; $totABANDONS=0; $totRISPOSTASsec=0; $totABANDONSsec=0; $totRISPOSTASspeed=0; + $totSTATUSES=array(); $FtotRISPOSTAS=0; + $FtotAGENTS=count(array_count_values($ag)); $FtotABANDONS=0; $FtotRISPOSTASsec=0; $FtotABANDONSsec=0; @@ -554,6 +819,7 @@ else $totRISPOSTASsecdate[$j]=0; $totRISPOSTASspeeddate[$j]=0; $i=0; + $agents_array=array(); while ($i < $records_to_grab) { if ( ($at[$i] >= $daySTART[$j]) and ($at[$i] <= $dayEND[$j]) ) @@ -565,6 +831,12 @@ else # $qrtCALLSsec[$j] = ($qrtCALLSsec[$j] + $ls[$i]); # $dtt = $dt[$i]; $totCALLSdate[$j]++; + # $totAGENTSdate[$j]=$ag[$i]; + if ($ag[$i]!="VDCL" && $ag[$i]!="") {$totAGENTSdate[$j][$ag[$i]]++;} + + $totSTATUSES[$st[$i]]++; + $totSTATUSESdate[$j][$st[$i]]++; + if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];} if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];} if (ereg('ABANDON|NOAGENT|QUEUETIMEOUT|AFTERHOURS|MAXCALLS', $tr[$i])) @@ -577,10 +849,12 @@ else else { $totRISPOSTASdate[$j]++; - $totRISPOSTASsecdate[$j]+=($ls[$i]-$qs[$i]-15); + if (($ls[$i]-$qs[$i]-15)>0) { ## Patch by Joe J - can cause negative time values if removed. + $totRISPOSTASsecdate[$j]+=($ls[$i]-$qs[$i]-15); + $FtotRISPOSTASsec+=($ls[$i]-$qs[$i]-15); + } $totRISPOSTASspeeddate[$j]+=$qs[$i]; $FtotRISPOSTAS++; - $FtotRISPOSTASsec+=($ls[$i]-$qs[$i]-15); $FtotRISPOSTASspeeddate+=$qs[$i]; } if (ereg('DROP',$st[$i])) @@ -626,14 +900,37 @@ else ################################################### ### TOTALI SUMMARY SECTION ### - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |\n"; - $ASCII_text.="| SHIFT | CALLS | CALLS | CALLS | ABANDON | ABANDON | RISPOSTA | TALK | TALK | WRAP | CALL |\n"; - $ASCII_text.="| DATE-TIME RANGE | OFFERED | RISPOSTAED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"TOTAL\",\"AVG\",\"AVG\",\"AVG\",\"TOTAL\",\"TOTAL\",\"TOTAL\"\n"; - $CSV_text.="\"\",\"CALLS\",\"CALLS\",\"CALLS\",\"ABANDON\",\"ABANDON\",\"RISPOSTA\",\"TALK\",\"TALK\",\"WRAP\",\"CALL\"\n"; - $CSV_text.="\"SHIFT DATE-TIME RANGE\",\"OFFERED\",\"RISPOSTAED\",\"ABANDONED\",\"PERCENT\",\"TIME\",\"SPEED\",\"TIME\",\"TIME\",\"TIME\",\"TIME\"\n"; + $MAINH="+-------------------------------------------+---------+----------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+"; + $MAIN1="| | TOTAL | TOTAL | TOTAL | TOTAL | TOTAL | AVG | AVG | AVG | TOTAL | TOTAL | TOTAL |"; + $MAIN2="| SHIFT | CALLS | CALLS | AGENTS | CALLS | ABANDON | ABANDON | RISPOSTA | TALK | TALK | WRAP | CALL |"; + $MAIN3="| DATE-TIME RANGE | OFFERED | RISPOSTAED | RISPOSTAED | ABANDONED | PERCENT | TIME | SPEED | TIME | TIME | TIME | TIME |"; + $CSV_text1=""; + $CSV_text2=""; + $CSV_text3=""; + + for ($s=0; $sTOTALE CHIAMATE OFFERED
    TOTALE CHIAMATE RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $MTD_GRAPH="

    TOTALE CHIAMATE OFFEREDTOTALE CHIAMATE RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $WTD_GRAPH="

    TOTALE CHIAMATE OFFEREDTOTALE CHIAMATE RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; - $QTD_GRAPH="

    TOTALE CHIAMATE OFFEREDTOTALE CHIAMATE RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $GRAPH="
    TOTALE CHIAMATE OFFEREDTOTALE CHIAMATE RISPOSTAEDTOTAL AGENTS RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $MTD_GRAPH="

    TOTALE CHIAMATE OFFEREDTOTALE CHIAMATE RISPOSTAEDTOTAL AGENTS RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $WTD_GRAPH="

    TOTALE CHIAMATE OFFEREDTOTALE CHIAMATE RISPOSTAEDTOTAL AGENTS RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; + $QTD_GRAPH="

    TOTALE CHIAMATE OFFEREDTOTALE CHIAMATE RISPOSTAEDTOTAL AGENTS RISPOSTAEDTOTALE CHIAMATE ABANDONEDTOTAL ABANDON PERCENTAVG ABANDON TIMEAVG RISPOSTA SPEEDAVG TALK TIMETOTAL TALK TIMETOTAL WRAP TIMETOTAL CALL TIME

     


    "; $graph_header=""; $OFFERED_graph=$graph_header.""; $RISPOSTAED_graph=$graph_header.""; + $AGENTS_graph=$graph_header.""; $ABANDONED_graph=$graph_header.""; $ABANDONPCT_graph=$graph_header.""; $AVGABANDONTIME_graph=$graph_header.""; @@ -703,24 +1005,30 @@ else $totCALLSwtd=0; $totRISPOSTASwtd=0; + $totAGENTSwtd=0; $AGENTS_wtd_array=array(); $totRISPOSTASsecwtd=0; $totRISPOSTASspeedwtd=0; $totABANDONSwtd=0; $totABANDONSsecwtd=0; + $totSTATUSESwtd=array(); $totCALLSmtd=0; $totRISPOSTASmtd=0; + $totAGENTSmtd=0; $AGENTS_mtd_array=array(); $totRISPOSTASsecmtd=0; $totRISPOSTASspeedmtd=0; $totABANDONSmtd=0; $totABANDONSsecmtd=0; + $totSTATUSESmtd=array(); $totCALLSqtd=0; $totRISPOSTASqtd=0; + $totAGENTSqtd=0; $AGENTS_qtd_array=array(); $totRISPOSTASsecqtd=0; $totRISPOSTASspeedqtd=0; $totABANDONSqtd=0; $totABANDONSsecqtd=0; + $totSTATUSESqtd=array(); $d=0; while ($d < $TOTintervals) @@ -767,16 +1075,8 @@ else $totCALLSavgDATE[$d] = 0; $totTIME_MS=' '; } - /* - $totCALLSavgDATE[$d] = sprintf("%6.0f", $totCALLSavgDATE[$d]); - $totDROPSavgDATE[$d] = sprintf("%7.2f", $totDROPSavgDATE[$d]); - $totQUEUEavgDATE[$d] = sprintf("%7.2f", $totQUEUEavgDATE[$d]); - $totQUEUEtotDATE[$d] = sprintf("%7.2f", $totQUEUEtotDATE[$d]); - $totDROPSpctDATE[$d] = sprintf("%6.2f", $totDROPSpctDATE[$d]); - $totQUEUEpctDATE[$d] = sprintf("%6.2f", $totQUEUEpctDATE[$d]); - $totDROPSdate[$d] = sprintf("%6s", $totDROPSdate[$d]); - $totQUEUEdate[$d] = sprintf("%6s", $totQUEUEdate[$d]); - */ $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + $totCALLSdate[$d] = sprintf("%7s", $totCALLSdate[$d]); + if ($totCALLSdate[$d]>0) { @@ -828,6 +1128,7 @@ else if (date("w", strtotime($daySTART[$d]))==0 && date("w", strtotime($daySTART[$d-1]))!=0 && $d>0) { # 2nd date/"w" check is for DST + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); @@ -869,12 +1170,16 @@ else $wtd_graph_stats[$wa][14]=($totRISPOSTASsecwtd+($totRISPOSTASwtd*15)); $wtd_graph_stats[$wa][15]=$totRISPOSTASsecwtd; $totRISPOSTAStotTIMEwtd = sprintf("%10s", floor(($totRISPOSTASsecwtd+($totRISPOSTASwtd*15))/3600).date(":i:s", mktime(0, 0, ($totRISPOSTASsecwtd+($totRISPOSTASwtd*15))))); + # $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totRISPOSTASwtd = sprintf("%8s", $totRISPOSTASwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totRISPOSTASwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totRISPOSTASwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -894,21 +1199,33 @@ else $wtd_graph_stats[$wa][8]=trim($totRISPOSTAStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totRISPOSTASwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totRISPOSTAStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wa++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totRISPOSTASwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRISPOSTASavgspeedTIMEwtd | $totRISPOSTASavgTIMEwtd | $totRISPOSTAStalkTIMEwtd | $totRISPOSTASwrapTIMEwtd | $totRISPOSTAStotTIMEwtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRISPOSTASwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRISPOSTASavgspeedTIMEwtd\",\"$totRISPOSTASavgTIMEwtd\",\"$totRISPOSTAStalkTIMEwtd\",\"$totRISPOSTASwrapTIMEwtd\",\"$totRISPOSTAStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totRISPOSTASwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRISPOSTASavgspeedTIMEwtd | $totRISPOSTASavgTIMEwtd | $totRISPOSTAStalkTIMEwtd | $totRISPOSTASwrapTIMEwtd | $totRISPOSTAStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRISPOSTASwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRISPOSTASavgspeedTIMEwtd\",\"$totRISPOSTASavgTIMEwtd\",\"$totRISPOSTAStalkTIMEwtd\",\"$totRISPOSTASwrapTIMEwtd\",\"$totRISPOSTAStotTIMEwtd\""; + for ($s=0; $s0 && date("d", strtotime($daySTART[$d-1]))!=1) { + if (date("d", strtotime($daySTART[$d]))==1 && $d>0 && date("d", strtotime($daySTART[$d-1]))!=1) + { + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); if ($totCALLSmtd>0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -950,6 +1267,8 @@ else $mtd_graph_stats[$ma][14]=($totRISPOSTASsecmtd+($totRISPOSTASmtd*15)); $mtd_graph_stats[$ma][15]=$totRISPOSTASsecmtd; $totRISPOSTAStotTIMEmtd = sprintf("%10s", floor(($totRISPOSTASsecmtd+($totRISPOSTASmtd*15))/3600).date(":i:s", mktime(0, 0, ($totRISPOSTASsecmtd+($totRISPOSTASmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totRISPOSTASmtd = sprintf("%8s", $totRISPOSTASmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); @@ -957,6 +1276,7 @@ else if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totRISPOSTASmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totRISPOSTASmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} if (round($totRISPOSTASsecmtd/$totRISPOSTASmtd)>$max_mtd_avgtalktime) {$max_mtd_avgtalktime=round($totRISPOSTASsecmtd/$totRISPOSTASmtd);} if (trim($totRISPOSTASsecmtd)>$max_mtd_totaltalktime) {$max_mtd_totaltalktime=trim($totRISPOSTASsecmtd);} @@ -974,21 +1294,32 @@ else $mtd_graph_stats[$ma][8]=trim($totRISPOSTAStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totRISPOSTASwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totRISPOSTAStotTIMEmtd); + $mtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $ma++; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| MTD | $totCALLSmtd | $totRISPOSTASmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRISPOSTASavgspeedTIMEmtd | $totRISPOSTASavgTIMEmtd | $totRISPOSTAStalkTIMEmtd | $totRISPOSTASwrapTIMEmtd | $totRISPOSTAStotTIMEmtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRISPOSTASmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRISPOSTASavgspeedTIMEmtd\",\"$totRISPOSTASavgTIMEmtd\",\"$totRISPOSTAStalkTIMEmtd\",\"$totRISPOSTASwrapTIMEmtd\",\"$totRISPOSTAStotTIMEmtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totRISPOSTASmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRISPOSTASavgspeedTIMEmtd | $totRISPOSTASavgTIMEmtd | $totRISPOSTAStalkTIMEmtd | $totRISPOSTASwrapTIMEmtd | $totRISPOSTAStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRISPOSTASmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRISPOSTASavgspeedTIMEmtd\",\"$totRISPOSTASavgTIMEmtd\",\"$totRISPOSTAStalkTIMEmtd\",\"$totRISPOSTASwrapTIMEmtd\",\"$totRISPOSTAStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1030,6 +1361,8 @@ else $qtd_graph_stats[$qa][14]=($totRISPOSTASsecqtd+($totRISPOSTASqtd*15)); $qtd_graph_stats[$qa][15]=$totRISPOSTASsecqtd; $totRISPOSTAStotTIMEqtd = sprintf("%10s", floor(($totRISPOSTASsecqtd+($totRISPOSTASqtd*15))/3600).date(":i:s", mktime(0, 0, ($totRISPOSTASsecqtd+($totRISPOSTASqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totRISPOSTASqtd = sprintf("%8s", $totRISPOSTASqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); @@ -1037,6 +1370,7 @@ else if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totRISPOSTASqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totRISPOSTASqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} + if (trim($totAGENTSqtd)>$max_qtd_answers) {$max_qtd_answered=trim($totAGENTSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} if (round($totRISPOSTASsecqtd/$totRISPOSTASqtd)>$max_qtd_avgtalktime) {$max_qtd_avgtalktime=round($totRISPOSTASsecqtd/$totRISPOSTASqtd);} if (trim($totRISPOSTASsecqtd)>$max_qtd_totaltalktime) {$max_qtd_totaltalktime=trim($totRISPOSTASsecqtd);} @@ -1067,20 +1401,40 @@ else $qtd_graph_stats[$qa][8]=trim($totRISPOSTAStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totRISPOSTASwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totRISPOSTAStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qa++; - $ASCII_text.="| QTD | $totCALLSqtd | $totRISPOSTASqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRISPOSTASavgspeedTIMEqtd | $totRISPOSTASavgTIMEqtd | $totRISPOSTAStalkTIMEqtd | $totRISPOSTASwrapTIMEqtd | $totRISPOSTAStotTIMEqtd |\n"; - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRISPOSTASqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRISPOSTASavgspeedTIMEqtd\",\"$totRISPOSTASavgTIMEqtd\",\"$totRISPOSTAStalkTIMEqtd\",\"$totRISPOSTASwrapTIMEqtd\",\"$totRISPOSTAStotTIMEqtd\"\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totRISPOSTASqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRISPOSTASavgspeedTIMEqtd | $totRISPOSTASavgTIMEqtd | $totRISPOSTAStalkTIMEqtd | $totRISPOSTASwrapTIMEqtd | $totRISPOSTAStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRISPOSTASqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRISPOSTASavgspeedTIMEqtd\",\"$totRISPOSTASavgTIMEqtd\",\"$totRISPOSTAStalkTIMEqtd\",\"$totRISPOSTASwrapTIMEqtd\",\"$totRISPOSTAStotTIMEqtd\""; + for ($s=0; $s$max_offered) {$max_offered=trim($totCALLSdate[$d]);} if (trim($totRISPOSTASdate[$d])>$max_answered) {$max_answered=trim($totRISPOSTASdate[$d]);} + if (trim($totAGENTSday)>$max_agents) {$max_agents=trim($totAGENTSday);} if (trim($totABANDONSdate[$d])>$max_abandoned) {$max_abandoned=trim($totABANDONSdate[$d]);} if (trim($totABANDONSpctDATE[$d])>$max_abandonpct) {$max_abandonpct=trim($totABANDONSpctDATE[$d]);} @@ -1119,9 +1474,19 @@ else $graph_stats[$d][8]=trim($totRISPOSTAStalkTIME[$d]); $graph_stats[$d][9]=trim($totRISPOSTASwrapTIME[$d]); $graph_stats[$d][10]=trim($totRISPOSTAStotTIME[$d]); + $graph_stats[$d][17]=trim($totAGENTSday); - $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totRISPOSTASdate[$d] | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totRISPOSTASavgspeedTIME[$d] | $totRISPOSTASavgTIME[$d] | $totRISPOSTAStalkTIME[$d] | $totRISPOSTASwrapTIME[$d] | $totRISPOSTAStotTIME[$d] |\n"; - $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totRISPOSTASdate[$d]\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totRISPOSTASavgspeedTIME[$d]\",\"$totRISPOSTASavgTIME[$d]\",\"$totRISPOSTAStalkTIME[$d]\",\"$totRISPOSTASwrapTIME[$d]\",\"$totRISPOSTAStotTIME[$d]\"\n"; + $ASCII_text.="| $daySTART[$d] - $dayEND[$d] | $totCALLSdate[$d] | $totRISPOSTASdate[$d] | $totAGENTSday | $totABANDONSdate[$d] | $totABANDONSpctDATE[$d]%| $totABANDONSavgTIME[$d] | $totRISPOSTASavgspeedTIME[$d] | $totRISPOSTASavgTIME[$d] | $totRISPOSTAStalkTIME[$d] | $totRISPOSTASwrapTIME[$d] | $totRISPOSTAStotTIME[$d] |"; + $CSV_text.="\"$daySTART[$d] - $dayEND[$d]\",\"$totCALLSdate[$d]\",\"$totRISPOSTASdate[$d]\",\"$totAGENTSday\",\"$totABANDONSdate[$d]\",\"$totABANDONSpctDATE[$d]%\",\"$totABANDONSavgTIME[$d]\",\"$totRISPOSTASavgspeedTIME[$d]\",\"$totRISPOSTASavgTIME[$d]\",\"$totRISPOSTAStalkTIME[$d]\",\"$totRISPOSTASwrapTIME[$d]\",\"$totRISPOSTAStotTIME[$d]\""; + for ($s=0; $s0) { - if ($totCALLSwtd>0) + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + if ($totCALLSwtd>0) { $totABANDONSpctwtd = sprintf("%7.2f", (100*$totABANDONSwtd/$totCALLSwtd)); } @@ -1251,12 +1617,15 @@ else $wtd_graph_stats[$wa][14]=($totRISPOSTASsecwtd+($totRISPOSTASwtd*15)); $wtd_graph_stats[$wa][15]=$totRISPOSTASsecwtd; $totRISPOSTAStotTIMEwtd = sprintf("%10s", floor(($totRISPOSTASsecwtd+($totRISPOSTASwtd*15))/3600).date(":i:s", mktime(0, 0, ($totRISPOSTASsecwtd+($totRISPOSTASwtd*15))))); + $totAGENTSwtd=count(array_count_values($AGENTS_wtd_array)); + $totAGENTSwtd = sprintf("%8s", $totAGENTSwtd); $totRISPOSTASwtd = sprintf("%8s", $totRISPOSTASwtd); $totABANDONSwtd = sprintf("%9s", $totABANDONSwtd); $totCALLSwtd = sprintf("%7s", $totCALLSwtd); if (trim($totCALLSwtd)>$max_wtd_offered) {$max_wtd_offered=trim($totCALLSwtd);} if (trim($totRISPOSTASwtd)>$max_wtd_answered) {$max_wtd_answered=trim($totRISPOSTASwtd);} + if (trim($totAGENTSwtd)>$max_wtd_agents) {$max_wtd_agents=trim($totAGENTSwtd);} if (trim($totABANDONSwtd)>$max_wtd_abandoned) {$max_wtd_abandoned=trim($totABANDONSwtd);} if (trim($totABANDONSpctwtd)>$max_wtd_abandonpct) {$max_wtd_abandonpct=trim($totABANDONSpctwtd);} @@ -1277,8 +1646,10 @@ else $wtd_graph_stats[$wa][8]=trim($totRISPOSTAStalkTIMEwtd); $wtd_graph_stats[$wa][9]=trim($totRISPOSTASwrapTIMEwtd); $wtd_graph_stats[$wa][10]=trim($totRISPOSTAStotTIMEwtd); + $wtd_graph_stats[$wa][17]=trim($totAGENTSwtd); $wtd_OFFERED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $OFFERED_graph); $wtd_RISPOSTAED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$RISPOSTAED_graph); + $wtd_AGENTS_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE', $AGENTS_graph); $wtd_ABANDONED_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONED_graph); $wtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$ABANDONPCT_graph); $wtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'WEEK-TO-DATE',$AVGABANDONTIME_graph); @@ -1291,6 +1662,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($wtd_graph_stats)) {$class=" last";} else {$class="";} $wtd_OFFERED_graph.=" "; $wtd_RISPOSTAED_graph.=" "; + $wtd_AGENTS_graph.=" "; $wtd_ABANDONED_graph.=" "; $wtd_ABANDONPCT_graph.=" "; $wtd_AVGABANDONTIME_graph.=" "; @@ -1301,11 +1673,19 @@ else $wtd_TOTALCALLTIME_graph.=" "; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| WTD | $totCALLSwtd | $totRISPOSTASwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRISPOSTASavgspeedTIMEwtd | $totRISPOSTASavgTIMEwtd | $totRISPOSTAStalkTIMEwtd | $totRISPOSTASwrapTIMEwtd | $totRISPOSTAStotTIMEwtd |\n"; - $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRISPOSTASwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRISPOSTASavgspeedTIMEwtd\",\"$totRISPOSTASavgTIMEwtd\",\"$totRISPOSTAStalkTIMEwtd\",\"$totRISPOSTASwrapTIMEwtd\",\"$totRISPOSTAStotTIMEwtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| WTD | $totCALLSwtd | $totRISPOSTASwtd | $totAGENTSwtd | $totABANDONSwtd | $totABANDONSpctwtd%| $totABANDONSavgTIMEwtd | $totRISPOSTASavgspeedTIMEwtd | $totRISPOSTASavgTIMEwtd | $totRISPOSTAStalkTIMEwtd | $totRISPOSTASwrapTIMEwtd | $totRISPOSTAStotTIMEwtd |"; + $CSV_text.="\"WTD\",\"$totCALLSwtd\",\"$totRISPOSTASwtd\",\"$totAGENTSwtd\",\"$totABANDONSwtd\",\"$totABANDONSpctwtd%\",\"$totABANDONSavgTIMEwtd\",\"$totRISPOSTASavgspeedTIMEwtd\",\"$totRISPOSTASavgTIMEwtd\",\"$totRISPOSTAStalkTIMEwtd\",\"$totRISPOSTASwrapTIMEwtd\",\"$totRISPOSTAStotTIMEwtd\""; + for ($s=0; $s0) { $totABANDONSpctmtd = sprintf("%7.2f", (100*$totABANDONSmtd/$totCALLSmtd)); @@ -1355,12 +1736,15 @@ else $mtd_graph_stats[$ma][14]=($totRISPOSTASsecmtd+($totRISPOSTASmtd*15)); $mtd_graph_stats[$ma][15]=$totRISPOSTASsecmtd; $totRISPOSTAStotTIMEmtd = sprintf("%10s", floor(($totRISPOSTASsecmtd+($totRISPOSTASmtd*15))/3600).date(":i:s", mktime(0, 0, ($totRISPOSTASsecmtd+($totRISPOSTASmtd*15))))); + $totAGENTSmtd=count(array_count_values($AGENTS_mtd_array)); + $totAGENTSmtd = sprintf("%8s", $totAGENTSmtd); $totRISPOSTASmtd = sprintf("%8s", $totRISPOSTASmtd); $totABANDONSmtd = sprintf("%9s", $totABANDONSmtd); $totCALLSmtd = sprintf("%7s", $totCALLSmtd); if (trim($totCALLSmtd)>$max_mtd_offered) {$max_mtd_offered=trim($totCALLSmtd);} if (trim($totRISPOSTASmtd)>$max_mtd_answered) {$max_mtd_answered=trim($totRISPOSTASmtd);} + if (trim($totAGENTSmtd)>$max_mtd_agents) {$max_mtd_agents=trim($totAGENTSmtd);} if (trim($totABANDONSmtd)>$max_mtd_abandoned) {$max_mtd_abandoned=trim($totABANDONSmtd);} if (trim($totABANDONSpctmtd)>$max_mtd_abandonpct) {$max_mtd_abandonpct=trim($totABANDONSpctmtd);} @@ -1381,8 +1765,10 @@ else $mtd_graph_stats[$ma][8]=trim($totRISPOSTAStalkTIMEmtd); $mtd_graph_stats[$ma][9]=trim($totRISPOSTASwrapTIMEmtd); $mtd_graph_stats[$ma][10]=trim($totRISPOSTAStotTIMEmtd); + $wtd_graph_stats[$ma][17]=trim($totAGENTSmtd); $mtd_OFFERED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$OFFERED_graph); $mtd_RISPOSTAED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$RISPOSTAED_graph); + $mtd_AGENTS_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE', $AGENTS_graph); $mtd_ABANDONED_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONED_graph); $mtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$ABANDONPCT_graph); $mtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'MONTH-TO-DATE',$AVGABANDONTIME_graph); @@ -1395,6 +1781,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($mtd_graph_stats)) {$class=" last";} else {$class="";} $mtd_OFFERED_graph.=" "; $mtd_RISPOSTAED_graph.=" "; + $mtd_AGENTS_graph.=" "; $mtd_ABANDONED_graph.=" "; $mtd_ABANDONPCT_graph.=" "; $mtd_AVGABANDONTIME_graph.=" "; @@ -1405,6 +1792,7 @@ else $mtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSmtd+=$mtd_graph_stats[$q][1]; $graph_totRISPOSTASmtd+=$mtd_graph_stats[$q][2]; + $graph_totAGENTSmtd+=$mtd_graph_stats[$q][17]; $graph_totABANDONSmtd+=$mtd_graph_stats[$q][3]; $graph_totABANDONSpctmtd+=$mtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEmtd+=$mtd_graph_stats[$q][5]; @@ -1414,12 +1802,20 @@ else $graph_totRISPOSTASwrapTIMEmtd+=$mtd_graph_stats[$q][9]; $graph_totRISPOSTAStotTIMEmtd+=$mtd_graph_stats[$q][10]; } + + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| MTD | $totCALLSmtd | $totRISPOSTASmtd | $totAGENTSmtd | $totABANDONSmtd | $totABANDONSpctmtd%| $totABANDONSavgTIMEmtd | $totRISPOSTASavgspeedTIMEmtd | $totRISPOSTASavgTIMEmtd | $totRISPOSTAStalkTIMEmtd | $totRISPOSTASwrapTIMEmtd | $totRISPOSTAStotTIMEmtd |"; + $CSV_text.="\"MTD\",\"$totCALLSmtd\",\"$totRISPOSTASmtd\",\"$totAGENTSmtd\",\"$totABANDONSmtd\",\"$totABANDONSpctmtd%\",\"$totABANDONSavgTIMEmtd\",\"$totRISPOSTASavgspeedTIMEmtd\",\"$totRISPOSTASavgTIMEmtd\",\"$totRISPOSTAStalkTIMEmtd\",\"$totRISPOSTASwrapTIMEmtd\",\"$totRISPOSTAStotTIMEmtd\""; + for ($s=0; $s0) { $totABANDONSpctqtd = sprintf("%7.2f", (100*$totABANDONSqtd/$totCALLSqtd)); @@ -1468,12 +1865,15 @@ else $qtd_graph_stats[$qa][14]=($totRISPOSTASsecqtd+($totRISPOSTASqtd*15)); $qtd_graph_stats[$qa][15]=$totRISPOSTASsecqtd; $totRISPOSTAStotTIMEqtd = sprintf("%10s", floor(($totRISPOSTASsecqtd+($totRISPOSTASqtd*15))/3600).date(":i:s", mktime(0, 0, ($totRISPOSTASsecqtd+($totRISPOSTASqtd*15))))); + $totAGENTSqtd=count(array_count_values($AGENTS_qtd_array)); + $totAGENTSqtd = sprintf("%8s", $totAGENTSqtd); $totRISPOSTASqtd = sprintf("%8s", $totRISPOSTASqtd); $totABANDONSqtd = sprintf("%9s", $totABANDONSqtd); $totCALLSqtd = sprintf("%7s", $totCALLSqtd); if (trim($totCALLSqtd)>$max_qtd_offered) {$max_qtd_offered=trim($totCALLSqtd);} if (trim($totRISPOSTASqtd)>$max_qtd_answered) {$max_qtd_answered=trim($totRISPOSTASqtd);} + if (trim($totAGENTSqtd)>$max_qtd_agents) {$max_qtd_agents=trim($totAGENTSqtd);} if (trim($totABANDONSqtd)>$max_qtd_abandoned) {$max_qtd_abandoned=trim($totABANDONSqtd);} if (trim($totABANDONSpctqtd)>$max_qtd_abandonpct) {$max_qtd_abandonpct=trim($totABANDONSpctqtd);} @@ -1507,8 +1907,10 @@ else $qtd_graph_stats[$qa][8]=trim($totRISPOSTAStalkTIMEqtd); $qtd_graph_stats[$qa][9]=trim($totRISPOSTASwrapTIMEqtd); $qtd_graph_stats[$qa][10]=trim($totRISPOSTAStotTIMEqtd); + $qtd_graph_stats[$qa][17]=trim($totAGENTSqtd); $qtd_OFFERED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$OFFERED_graph); $qtd_RISPOSTAED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$RISPOSTAED_graph); + $qtd_AGENTS_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AGENTS_graph); $qtd_ABANDONED_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONED_graph); $qtd_ABANDONPCT_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$ABANDONPCT_graph); $qtd_AVGABANDONTIME_graph=preg_replace('/DAILY/', 'QUARTER-TO-DATE',$AVGABANDONTIME_graph); @@ -1521,6 +1923,7 @@ else if ($q==0) {$class=" first";} else if (($q+1)==count($qtd_graph_stats)) {$class=" last";} else {$class="";} $qtd_OFFERED_graph.=" "; $qtd_RISPOSTAED_graph.=" "; + $qtd_AGENTS_graph.=" "; $qtd_ABANDONED_graph.=" "; $qtd_ABANDONPCT_graph.=" "; $qtd_AVGABANDONTIME_graph.=" "; @@ -1531,6 +1934,7 @@ else $qtd_TOTALCALLTIME_graph.=" "; $graph_totCALLSqtd+=$qtd_graph_stats[$q][1]; $graph_totRISPOSTASqtd+=$qtd_graph_stats[$q][2]; + $graph_totAGENTSqtd+=$qtd_graph_stats[$q][17]; $graph_totABANDONSqtd+=$qtd_graph_stats[$q][3]; $graph_totABANDONSpctqtd+=$qtd_graph_stats[$q][4]; $graph_totABANDONSavgTIMEqtd+=$qtd_graph_stats[$q][5]; @@ -1541,11 +1945,19 @@ else $graph_totRISPOSTAStotTIMEqtd+=$qtd_graph_stats[$q][10]; } - $ASCII_text.="+-------------------------------------------+---------+----------+-----------+---------+---------+--------+--------+------------+------------+------------+\n"; - $ASCII_text.="| QTD | $totCALLSqtd | $totRISPOSTASqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRISPOSTASavgspeedTIMEqtd | $totRISPOSTASavgTIMEqtd | $totRISPOSTAStalkTIMEqtd | $totRISPOSTASwrapTIMEqtd | $totRISPOSTAStotTIMEqtd |\n"; - $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRISPOSTASqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRISPOSTASavgspeedTIMEqtd\",\"$totRISPOSTASavgTIMEqtd\",\"$totRISPOSTAStalkTIMEqtd\",\"$totRISPOSTASwrapTIMEqtd\",\"$totRISPOSTAStotTIMEqtd\"\n"; + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| QTD | $totCALLSqtd | $totRISPOSTASqtd | $totAGENTSqtd | $totABANDONSqtd | $totABANDONSpctqtd%| $totABANDONSavgTIMEqtd | $totRISPOSTASavgspeedTIMEqtd | $totRISPOSTASavgTIMEqtd | $totRISPOSTAStalkTIMEqtd | $totRISPOSTASwrapTIMEqtd | $totRISPOSTAStotTIMEqtd |"; + $CSV_text.="\"QTD\",\"$totCALLSqtd\",\"$totRISPOSTASqtd\",\"$totAGENTSqtd\",\"$totABANDONSqtd\",\"$totABANDONSpctqtd%\",\"$totABANDONSavgTIMEqtd\",\"$totRISPOSTASavgspeedTIMEqtd\",\"$totRISPOSTASavgTIMEqtd\",\"$totRISPOSTAStalkTIMEqtd\",\"$totRISPOSTASwrapTIMEqtd\",\"$totRISPOSTAStotTIMEqtd\""; + for ($s=0; $s"; $RISPOSTAED_graph.=" "; + $AGENTS_graph.=" "; $ABANDONED_graph.=" "; $ABANDONPCT_graph.=" "; $AVGABANDONTIME_graph.=" "; @@ -1568,6 +1981,7 @@ else } $OFFERED_graph.="
    DAILY RPT - $query_date_BEGIN to $query_date_END
    DATE/TIME RANGETOTALE CHIAMATE OFFERED
    TOTALE CHIAMATE RISPOSTAED
    TOTAL AGENTS RISPOSTAED
    TOTALE CHIAMATE ABANDONED
    TOTAL ABANDON PERCENT
    AVG ABANDON TIME
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][1]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][2]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][17]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][3]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][4]."%
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][5]."
    ".$wtd_graph_stats[$q][0]."".$wtd_graph_stats[$q][10]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][1]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][2]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][17]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][3]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][4]."%
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][5]."
    ".$mtd_graph_stats[$q][0]."".$mtd_graph_stats[$q][10]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][1]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][2]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][17]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][3]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][4]."%
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][5]."
    ".$qtd_graph_stats[$q][0]."".$qtd_graph_stats[$q][10]."
    ".$graph_stats[$q][1]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][2]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][17]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][3]."
    ".$graph_stats[$q][0]."".$graph_stats[$q][4]."%
    ".$graph_stats[$q][0]."".$graph_stats[$q][5]."
    TOTAL:".trim($FtotCALLS)."
    "; $RISPOSTAED_graph.="
    TOTAL:".trim($FtotRISPOSTAS)."
    "; + $AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1580,6 +1994,7 @@ else $JS_text.="function DrawGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$OFFERED_graph\";\n"; $JS_text.=" var RISPOSTAED_graph=\"$RISPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$AVGABANDONTIME_graph\";\n"; @@ -1600,6 +2015,7 @@ else $JS_text.="}\n"; $wtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $wtd_RISPOSTAED_graph.="
    TOTAL:".trim($FtotRISPOSTAS)."
    "; + $wtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $wtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $wtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $wtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1612,6 +2028,7 @@ else $JS_text.="function DrawWTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$wtd_OFFERED_graph\";\n"; $JS_text.=" var RISPOSTAED_graph=\"$wtd_RISPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$wtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$wtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$wtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$wtd_AVGABANDONTIME_graph\";\n"; @@ -1632,6 +2049,7 @@ else $JS_text.="}\n"; $mtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $mtd_RISPOSTAED_graph.="
    TOTAL:".trim($FtotRISPOSTAS)."
    "; + $mtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $mtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $mtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $mtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1644,6 +2062,7 @@ else $JS_text.="function DrawMTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$mtd_OFFERED_graph\";\n"; $JS_text.=" var RISPOSTAED_graph=\"$mtd_RISPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$mtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$mtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$mtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$mtd_AVGABANDONTIME_graph\";\n"; @@ -1664,6 +2083,7 @@ else $JS_text.="}\n"; $qtd_OFFERED_graph.="
    TOTAL:".trim($FtotCALLS)."
    "; $qtd_RISPOSTAED_graph.="
    TOTAL:".trim($FtotRISPOSTAS)."
    "; + $qtd_AGENTS_graph.="
    TOTAL:".trim($FtotAGENTS)."
    "; $qtd_ABANDONED_graph.="
    TOTAL:".trim($FtotABANDONS)."
    "; $qtd_ABANDONPCT_graph.="
    TOTAL:".trim($FtotABANDONSpct)."%
    "; $qtd_AVGABANDONTIME_graph.="
    TOTAL:".trim($FtotABANDONSavgTIME)."
    "; @@ -1676,6 +2096,7 @@ else $JS_text.="function DrawQTDGraph(graph, th_id) {\n"; $JS_text.=" var OFFERED_graph=\"$qtd_OFFERED_graph\";\n"; $JS_text.=" var RISPOSTAED_graph=\"$qtd_RISPOSTAED_graph\";\n"; + $JS_text.=" var AGENTS_graph=\"$qtd_AGENTS_graph\";\n"; $JS_text.=" var ABANDONED_graph=\"$qtd_ABANDONED_graph\";\n"; $JS_text.=" var ABANDONPCT_graph=\"$qtd_ABANDONPCT_graph\";\n"; $JS_text.=" var AVGABANDONTIME_graph=\"$qtd_AVGABANDONTIME_graph\";\n"; @@ -1694,12 +2115,41 @@ else $JS_text.=" var graph_to_display=eval(graph+\"_graph\");\n"; $JS_text.=" document.getElementById('QTD_stats_graph').innerHTML=graph_to_display;\n"; $JS_text.="}\n"; + $FtotAGENTS = sprintf("%8s", $FtotAGENTS); + $ASCII_text.="$MAINH\n"; + $ASCII_text.="| TOTALI | $FtotCALLS | $FtotRISPOSTAS | $FtotAGENTS | $FtotABANDONS | $FtotABANDONSpct%| $FtotABANDONSavgTIME | $FtotRISPOSTASavgspeedTIME | $FtotRISPOSTASavgTIME | $FtotRISPOSTAStalkTIME | $FtotRISPOSTASwrapTIME | $FtotRISPOSTAStotTIME |"; + $CSV_text.="\"TOTALI\",\"$FtotCALLS\",\"$FtotRISPOSTAS\",\"$FtotAGENTS\",\"$FtotABANDONS\",\"$FtotABANDONSpct%\",\"$FtotABANDONSavgTIME\",\"$FtotRISPOSTASavgspeedTIME\",\"$FtotRISPOSTASavgTIME\",\"$FtotRISPOSTAStalkTIME\",\"$FtotRISPOSTASwrapTIME\",\"$FtotRISPOSTAStotTIME\""; + for ($s=0; $s 0) @@ -1777,18 +2228,139 @@ else flush(); echo "$CSV_text"; - - exit; } else { - echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; } } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + if ($file_download < 1) + {echo "\n";} + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + + + +function HourDifference($time_BEGIN, $time_END) { + global $hpd; + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} +} + +function RecalculateEpochs($query_date_BEGIN, $query_date_END) { + global $query_date_BEGIN, $query_date_END, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + #$EQdate_ARY = explode(' ',$query_date_END); + #$EQday_ARY = explode('-',$EQdate_ARY[0]); + #$EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + #$EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + #$EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); +} + +function RecalculateHPD($query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END) { + global $hpd, $query_date_BEGIN, $query_date_END, $time_BEGIN, $time_END; + global $DURATIONday, $SQepoch, $EQepoch, $SQepochDAY, $SQsec, $EQsec; + + $TB_array = explode(':',$time_BEGIN); + $TE_array = explode(':',$time_END); + $TBoffset=0; + $TEoffset=0; + + if ($TB_array[0]>24) { + while($TB_array[0]>24) { + $TB_array[0]--; + $TBoffset+=3600; + } + $time_BEGIN="$TB_array[0]:$TB_array[1]:$TB_array[2]"; + } + if ($TE_array[0]>24) { + while($TE_array[0]>24) { + $TE_array[0]--; + $TEoffset+=3600; + } + $time_END="$TE_array[0]:$TE_array[1]:$TE_array[2]"; + } + $time1 = strtotime($time_BEGIN)+$TBoffset; + $time2 = strtotime($time_END)+1+$TEoffset; + $hpd = ceil(($time2 - $time1) / 3600); + if ($hpd<0) {$hpd+=24;} + + $SQdate_ARY = explode(' ',$query_date_BEGIN); + $SQday_ARY = explode('-',$SQdate_ARY[0]); + $SQtime_ARY = explode(':',$SQdate_ARY[1]); + $EQdate_ARY = explode(' ',$query_date_END); + $EQday_ARY = explode('-',$EQdate_ARY[0]); + $EQtime_ARY = explode(':',$EQdate_ARY[1]); + + $SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); + $EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + + $SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) ); + $EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) ); + + if (!$DURATIONday) + { + $DURATIONsec = ($EQepoch - $SQepoch); + $DURATIONday = intval( ($DURATIONsec / 86400) + 1 ); + + if ( ($EQsec < $SQsec) and ($DURATIONday < 1) ) + { + $EQepoch = ($SQepochDAY + ($EQsec + 86400) ); + $query_date_END = date("Y-m-d H:i:s", $EQepoch); + $DURATIONday++; + } + } +} ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_server_performance.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_server_performance.php index 25ddf027..a49f703a 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_server_performance.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_server_performance.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -16,8 +16,11 @@ # 100712-1324 - Added system setting slave server option # 100802-2347 - Added User Group Allowed Reports option validation # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links +# 130414-0157 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -59,15 +62,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -88,6 +82,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -397,6 +420,24 @@ echo ""; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_team_performance_detail.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_team_performance_detail.php index 2d2d3acf..aae19789 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_team_performance_detail.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_team_performance_detail.php @@ -6,7 +6,7 @@ # QC statuses of QCFAIL, QCCANC and sales are defined by the Sale=Y status # flags being set on those statuses. # -# Copyright (C) 2012 Joe Johnson, Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Joe Johnson, Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,8 +15,11 @@ # 111104-1259 - Added user_group restrictions for selecting in-groups # 120224-1424 - Added new colums and PRECAL to System Time # 120307-1926 - Added additional statuses option and HTML display option +# 130414-0142 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); require("functions.php"); @@ -70,15 +73,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -###################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $HTML_text.="\n"; - } $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -104,6 +98,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $HTML_text.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$HTML_text.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -623,9 +646,9 @@ if ($INVIA=="INVIA") $j=0; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Agent Name | Agent ID | Calls | Leads | Contatti | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contatti Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Agent Name\",\"Agent ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contatti Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; while ($user_row=mysql_fetch_array($user_rslt)) { $j++; @@ -1080,7 +1103,7 @@ if ($INVIA=="INVIA") $ASCII_text.="--- CALL CENTER TOTAL\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; - $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contacts | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contacts Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; + $ASCII_text.="| Team Name | Team ID | Calls | Leads | Contatti | Contact Ratio | Nonpause Time | System Time | Talk Time | Sales | Sales per Working Hour | Sales to Leads Ratio | Sales to Contatti Ratio | Sales Per Hour | Incomplete Sales | Cancelled Sales | Callbacks | First Call Resolution | Average Sale Time | Average Contact Time |$HTMLstatusheader\n"; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; $ASCII_text.=$GROUP_text; $ASCII_text.="+------------------------------------------+------------+-------+-------+----------+---------------+---------------+-------------+-----------+-------+------------------------+----------------------+-------------------------+----------------+------------------+-----------------+-----------+-----------------------+-------------------+----------------------+$HTMLborderheader\n"; @@ -1186,7 +1209,7 @@ if ($INVIA=="INVIA") $ASCII_text.="\n"; $CSV_text.="\"\",\"CALL CENTER TOTAL\"\n"; - $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contacts Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; + $CSV_text.="\"\",\"Team Name\",\"Team ID\",\"Calls\",\"Leads\",\"Contacts\",\"Contact Ratio\",\"Nonpause Time\",\"System Time\",\"Talk Time\",\"Sales\",\"Sales per Working Hour\",\"Sales to Leads Ratio\",\"Sales to Contatti Ratio\",\"Sales Per Hour\",\"Incomplete Sales\",\"Cancelled Sales\",\"Callbacks\",\"First Call Resolution\",\"Average Sale Time\",\"Average Contact Time\"$CSVstatusheader\n"; $CSV_text.=$GROUP_CSV_text; $CSV_text.="\"\",\"\",\"TOTALI:\",\"$total_calls\",\"$total_leads\",\"$total_contacts\",\"$total_contact_ratio %\",\"".sec_convert($total_nonpause_time,'H')."\",\"".sec_convert($total_system_time,'H')."\",\"".sec_convert($total_talk_time,'H')."\",\"$total_sales\",\"$sales_per_working_hours\",\"$total_sales_ratio\",\"$total_sale_contact_ratio\",\"$total_sales_per_hour\",\"$total_inc_sales\",\"$total_cnc_sales\",\"$total_callbacks\",\"$total_stcall\",\"$total_average_sale_time\",\"$total_average_contact_time\"$CSV_status_text\n"; for ($d=0; $d0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1327,4 +1348,26 @@ else echo $HTML_text; flush(); } + +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/AST_timeonVDADall.php b/agc_2-X/trunk/LANG_www/vicidial_it/AST_timeonVDADall.php index 658fc2a9..996d244b 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/AST_timeonVDADall.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/AST_timeonVDADall.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -76,10 +76,14 @@ # 110314-1735 - Fixed another query that was causing load spikes on systems with millions of log entries # 111103-1220 - Added admin_hide_phone_data and admin_hide_lead_data options # 120223-1934 - Added user group options +# 120612-2150 - Added percentages to counts for carrier stats and TOTAL line to carrier display stats as well +# 121222-2151 - Added email status +# 130214-1323 - Added link to in-group selected users report for in-queue inbound calls +# 130424-1357 - Fixed issue with pause codes display # -$version = '2.4-67'; -$build = '120223-1934'; +$version = '2.6-70'; +$build = '130424-1357'; header ("Content-type: text/html; charset=utf-8"); @@ -1292,6 +1296,7 @@ if ($CARRIERstats > 0) $row=mysql_fetch_row($rslt); $TFhour_status[$ctp] = $row[0]; $TFhour_count[$ctp] = $row[1]; + $TFhour_total+=$row[1]; $dialstatuses .= "'$row[0]',"; $ctp++; } @@ -1320,6 +1325,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $SIXhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1338,6 +1344,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEhour_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1356,6 +1363,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FTminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1374,6 +1382,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $FIVEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1392,6 +1401,7 @@ if ($CARRIERstats > 0) while ($scar_to_print > $print_sctp) { $row=mysql_fetch_row($rslt); + $ONEminute_total+=$row[1]; $print_ctp=0; while ($print_ctp < $ctp) { @@ -1415,16 +1425,27 @@ if ($CARRIERstats > 0) $CARRIERstatsHTML .= "
         $TFhour_status[$print_ctp] $TFhour_count[$print_ctp] $SIXhour_count[$print_ctp] $ONEhour_count[$print_ctp] $FTminute_count[$print_ctp] $FIVEminute_count[$print_ctp] $ONEminute_count[$print_ctp]     $TFhour_status[$print_ctp] $TFhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($TFhour_count[$print_ctp]/$TFhour_total)))."% $SIXhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($SIXhour_count[$print_ctp]/$SIXhour_total)))."% $ONEhour_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEhour_count[$print_ctp]/$ONEhour_total)))."% $FTminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FTminute_count[$print_ctp]/$FTminute_total)))."% $FIVEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($FIVEminute_count[$print_ctp]/$FIVEminute_total)))."% $ONEminute_count[$print_ctp]  ".sprintf("%01.1f", (100*($ONEminute_count[$print_ctp]/$ONEminute_total)))."%
         TOTALI ".($TFhour_total+0)." ".($SIXhour_total+0)." ".($ONEhour_total+0)." ".($FTminute_total+0)." ".($FIVEminute_total+0)." ".($ONEminute_total+0)."
    Attivo: $NWB#vicidial_campaigns-active$NWE
    Parco della Musica-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Parco della Musica-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
    Orario Chiamate: $NWB#vicidial_campaigns-local_call_time$NWE
    Casella Vocale: $NWB#vicidial_campaigns-voicemail_ext$NWE
    ID Lista: (solo cifre)$NWB#vicidial_lists-list_id$NWE
    ID Lista: (solo cifre)$NWB#vicidial_lists-list_id$NWE
    Nome Lista: $NWB#vicidial_lists-list_name$NWE
    Descrizione Lista: $NWB#vicidial_lists-list_description$NWE
    \n"; echo ""; @@ -9439,6 +10029,9 @@ if ($ADD==121) if ($ADD==171) { + ### filter for Letters DIGITS and NEWLINES + $phone_numbers = ereg_replace("[^\n0-9a-zA-Z]","",$phone_numbers); + echo "\n"; + if ($SSallow_emails>0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; + echo "
    \n"; echo ""; @@ -9593,6 +10186,75 @@ if ($ADD==1111) if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} echo "
    Esegui all`avvio della telefonata: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Handling Gruppo: $NWB#vicidial_inbound_groups-group_handling$NWE
    \n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } + +###################### +# ADD=1811 display the ADD NEW EMAIL GROUP SCREEN +###################### + +if ($ADD==1811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW EMAIL GROUP
    \n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + # echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $eswHTML=''; $cfwHTML=''; + if ($SSenable_second_webform > 0) + {$eswHTML = '';} + if ($SScustom_fields_enabled > 0) + {$cfwHTML = '';} + echo "\n"; echo "\n"; echo "
    ID Gruppo: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    ID Gruppo: (senza spazi)$NWB#vicidial_inbound_groups-group_id$NWE
    Nome Gruppo: $NWB#vicidial_inbound_groups-group_name$NWE
    Colore Gruppo: $NWB#vicidial_inbound_groups-group_color$NWE
    Attivo: $NWB#vicidial_inbound_groups-active$NWE
    Admin Gruppo Utente: $NWB#vicidial_inbound_groups-user_group$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Casella Vocale: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Prossimo Agente Email:$NWB#vicidial_inbound_groups-next_agent_call$NWE
    Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Esegui all`avvio della telefonata: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    \n"; } @@ -9666,6 +10328,67 @@ if ($ADD==1211) } } +###################### +# ADD=1911 display the COPY EMAIL INBOUND GROUP SCREEN +###################### + +if ($ADD==1911) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $voi_count = "$row[0]"; + } + ##### END ID override optional section ##### + + echo "
    \n"; + echo ""; + + echo "
    Copia e-mail GRUPPO\n"; + echo "\n"; + echo "
    \n"; + if ($voi_count > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Email ID gruppo: Auto-Generated $NWB#vicidial_inbound_groups-group_id$NWE
    Email ID gruppo: (senza spazi)$NWB#vicidial_inbound_groups-group_id$NWE
    Email Nome gruppo: $NWB#vicidial_inbound_groups-group_name$NWE
    Fonte Email ID Gruppo: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } ###################### # ADD=1311 display the ADD NEW DID SCREEN @@ -10055,7 +10778,7 @@ if ($ADD==1111111) echo "
    Testo Script: "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -10262,6 +10986,53 @@ if ($ADD==1111111111) } +###################### +# ADD=1211111111 display the ADD NEW HOLIDAY SCREEN +###################### + +if ($ADD==1211111111) + { + if ($LOGmodify_call_times==1) + { + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -22671,7 +24244,7 @@ if ($ADD==34) $rslt=mysql_query($stmt, $link); } - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,display_leads_count,user_group,allow_emails,call_count_limit from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $dial_status_a = $row[3]; @@ -22709,6 +24282,8 @@ if ($ADD==34) $drop_lockout_time = $row[116]; $display_leads_count = $row[130]; $user_group = $row[131]; + $allow_emails = $row[132]; + $call_count_limit = $row[133]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -22837,6 +24412,11 @@ if ($ADD==34) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) + { + echo "\n"; + } + if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -23131,7 +24711,9 @@ if ($ADD==34) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $whereLOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -23141,7 +24723,7 @@ if ($ADD==34) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -23173,6 +24755,11 @@ if ($ADD==34) echo ""; echo ""; echo "\n"; @@ -23180,7 +24767,7 @@ if ($ADD==34) $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; + echo ""; + + echo "
    AGREGUE EL NUEVO TIEMPO DE LA LLAMADA DEL ESTADO\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    Vacanze ID: (senza spazi e punteggiatura)$NWB#vicidial_call_times-holiday_id$NWE
    Nome di festa: (breve descrizione della vacanza)$NWB#vicidial_call_times-holiday_name$NWE
    Vacanze Commenti: $NWB#vicidial_call_times-holiday_comments$NWE
    Vacanze Data: $NWB#vicidial_call_times-holiday_date$NWE\n"; + echo "
    Admin Gruppo Utente: $NWB#vicidial_call_times-user_group$NWE
    Opzioni giorno e l'ora appariranno una volta creata la definizione di vacanza
    \n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } + + ###################### # ADD=131111111 display the ADD NEW SHIFT SCREEN ###################### @@ -10873,289 +11644,295 @@ if ($ADD==11111111111111) if ($ADD=="2") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    UTENTE NON AGGIUNTO - Esiste gia` un utente nel sistema con questo numero utente\n";} else { - if (ereg('AUTOGENERA',$user)) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - $user = 'AUTOGENERA'; - } - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) - { - echo "
    UTENTE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    il nome e la password devono essere lunghi almeno 2 caratteri\n"; - echo "
    è necessario selezionare un gruppo di utenti\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    UTENTE NON AGGIUNTO - Esiste gia` un utente nel sistema con questo numero utente\n";} else { if (ereg('AUTOGENERA',$user)) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_group) < 2) or ( (strlen($user) > 20) and (!ereg('AUTOGENERA',$user)) ) ) + { + echo "
    UTENTE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    il nome e la password devono essere lunghi almeno 2 caratteri\n"; + echo "
    è necessario selezionare un gruppo di utenti\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; + echo "
    UTENTE AGGIUNTO: $user\n"; - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; $rslt=mysql_query($stmt, $link); - } - echo "
    UTENTE AGGIUNTO: $user\n"; - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Attivo'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Attivo'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### + ### END vtiger integration } - ### END vtiger integration } } - $ADD=3; } @@ -11165,292 +11942,299 @@ if ($ADD=="2") if ($ADD=="2A") { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_users where user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    UTENTE NON AGGIUNTO - Esiste gia` un utente nel sistema con questo numero utente\n";} else { - if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    UTENTE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    user id must be between 2 and 20 characters long\n"; - echo "
    il nome e la password devono essere lunghi almeno 2 caratteri\n"; - echo "\n"; + $row=mysql_fetch_row($rslt); + $user = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user' where id_table='vicidial_users' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    UTENTE NON AGGIUNTO - Esiste gia` un utente nel sistema con questo numero utente\n";} else { - if (ereg('AUTOGEN',$user)) + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 20) ) { - $new_user=0; - $auto_user_add_value=0; - while ($new_user < 2) + echo "
    UTENTE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    user id must be between 2 and 20 characters long\n"; + echo "
    il nome e la password devono essere lunghi almeno 2 caratteri\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGEN',$user)) { - if ($new_user < 1) + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) { - $stmt = "SELECT auto_user_add_value FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - $ss_auav_ct = mysql_num_rows($rslt); - if ($ss_auav_ct > 0) + if ($new_user < 1) { - $row=mysql_fetch_row($rslt); - $auto_user_add_value = $row[0]; + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); } - $new_user++; } - $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - { - $new_user++; - } - else - { - echo "\n"; - $auto_user_add_value = ($auto_user_add_value + 7); - } } - $user = $auto_user_add_value; - echo "
    user_id has been auto-generated: $user
    \n"; - - $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); - } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user=\"$source_user_id\";"; - $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='COPY', record_id='$user', event_code='ADMIN COPIA UTENTE', event_sql=\"$SQL_log\", event_notes='user: $user';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='COPY', record_id='$user', event_code='ADMIN COPIA UTENTE', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - $user_name = $user; - $user_password = $pass; - $last_name = $full_name; - $is_admin = 'off'; - $roleid = 'H5'; - $status = 'Attivo'; - $groupid = '1'; - if ($user_level >= 7) {$roleid = 'H3';} - if ($user_level >= 8) {$roleid = 'H4';} - if ($user_level >= 9) {$roleid = 'H2';} - if ($user_level >= 9) {$is_admin = 'on';} - $salt = substr($user_name, 0, 2); - $salt = '$1$' . $salt . '$'; - $encrypted_password = crypt($user_password, $salt); - ### search for role in ViciDial - $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $vvr_ct = mysql_num_rows($rslt); - if ($vvr_ct > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { $row=mysql_fetch_row($rslt); - $roleid = $row[0]; + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + if ($enable_vtiger_integration > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Attivo'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + ### search for role in ViciDial + $stmt = "SELECT vtiger_role FROM vtiger_vicidial_roles where user_level='$user_level';"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $groupid = $row[0]; - } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### - - ###################################### - ##### BEGIN Add/Update user info in Vtiger - $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $found_count = $row[0]; - - ### user exists in vtiger, update it - if ($found_count > 0) - { - $stmt="SELECT id from vtiger_users where user_name='$user_name';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $userid = $row[0]; - - $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; - $rslt=mysql_query($stmt, $linkV); - if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $usergroupcount = $row[0]; - - $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - if ($usergroupcount < 1) + $vvr_ct = mysql_num_rows($rslt); + if ($vvr_ct > 0) { - $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; - $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $roleid = $row[0]; + } + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} - $VD_groups_ct = mysql_num_rows($rslt); - $k=0; - $VD_groups_list=''; - while ($k < $VD_groups_ct) - { - $row=mysql_fetch_row($rslt); - $VD_groups_list .= "'$row[0]',"; - $k++; - } - $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } - $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; if ($DB) {echo "|$stmtC|\n";} $rslt=mysql_query($stmtC, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} - $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; if ($DB) {echo "|$stmtD|\n";} $rslt=mysql_query($stmtD, $linkV); if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER } + ##### END Add/Update user info in Vtiger + ###################################### } + ### END vtiger integration - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW USER RECORD IN VTIGER - $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $userid = mysql_insert_id($linkV); - - $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; - if ($DB) {echo "|$stmtB|\n";} - $rslt=mysql_query($stmtB, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} + echo "
    USER COPIED: $user copied from $source_user_id\n"; + echo "

    \n"; + echo "Click here to go to the user record\n"; + echo "

    \n"; - $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; - if ($DB) {echo "|$stmtC|\n";} - $rslt=mysql_query($stmtC, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; - if ($DB) {echo "|$stmtD|\n";} - $rslt=mysql_query($stmtD, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW USER RECORD IN VTIGER - } - ##### END Add/Update user info in Vtiger - ###################################### } - ### END vtiger integration - - echo "
    USER COPIED: $user copied from $source_user_id\n"; - echo "

    \n"; - echo "Click here to go to the user record\n"; - echo "

    \n"; - } } exit; @@ -11462,76 +12246,83 @@ if ($ADD=="2A") if ($ADD==21) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAGNA NON AGGIUNTA - Esiste gia` una campagna nel sistema con questo ID\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPAGNA NON AGGIUNTA - Esiste gia` una campagna nel sistema con questo ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) - { - echo "
    CAMPAGNA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; - echo "
    il nome della campagna deve essere lungo tra i 6 e i 40 caratteri\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAGNA AGGIUNTA: $campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPAGNA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; + echo "
    il nome della campagna deve essere lungo tra i 6 e i 40 caratteri\n"; + } + else + { + echo "
    CAMPAGNA AGGIUNTA: $campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix,web_form_address_two,start_call_url,dispo_call_url,na_call_url,user_group) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11544,94 +12335,101 @@ if ($ADD==21) if ($ADD==20) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $campaign_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAGNA NON AGGIUNTA - Esiste gia` una campagna nel sistema con questo ID\n";} else { - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$campaign_id' where id_table='vicidial_campaigns' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + {echo "
    CAMPAGNA NON AGGIUNTA - Esiste gia` una campagna nel sistema con questo ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) - { - echo "
    CAMPAGNA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; - echo "
    source L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} else { - echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; - - # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) { - $UPDATEallowed_campaigns = $LOGallowed_campaigns; - $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); - $LOGallowed_campaigns = $UPDATEallowed_campaigns; - $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); - $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); - $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; - $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; - $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + echo "
    CAMPAGNA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; + echo "
    source L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; + } + else + { + echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + # if admin user's user group does not have -ALL-CAMPAIGNS- then add this new campaign to their user group's allowable campaigns + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $UPDATEallowed_campaigns = $LOGallowed_campaigns; + $UPDATEallowed_campaigns = preg_replace("/ -$/"," $campaign_id -",$UPDATEallowed_campaigns); + $LOGallowed_campaigns = $UPDATEallowed_campaigns; + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $regexLOGallowed_campaigns = " $LOGallowed_campaigns "; + $stmt="UPDATE vicidial_user_groups SET allowed_campaigns='$UPDATEallowed_campaigns' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rinfrescare,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rinfrescare,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } - - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rinfrescare,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_rinfrescare,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmt, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$campaign_id');"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_presets (campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) SELECT \"$campaign_id\",preset_name,preset_number,preset_dtmf,preset_hide_number from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - $stmtA="INSERT INTO vicidial_xfer_stats (campaign_id,preset_name) SELECT \"$campaign_id\",preset_name from vicidial_xfer_presets where campaign_id='$source_campaign_id';"; - $rslt=mysql_query($stmtA, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); } } } @@ -11644,41 +12442,48 @@ if ($ADD==20) if ($ADD==22) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESITO CAMPAGNA NON AGGIUNTO - Esiste gia` un esito campagna con questo nome\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ESITO CAMPAGNA NON AGGIUNTO - esiste gia` un esito globale con questo nome\n";} + {echo "
    ESITO CAMPAGNA NON AGGIUNTO - Esiste gia` un esito campagna con questo nome\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    ESITO CAMPAGNA NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    l`esito deve essere lungo tra 1 e 8 caratteri\n"; - echo "
    il nome dell`esito deve essere lungo tra i 2 e i 30 caratteri\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESITO CAMPAGNA NON AGGIUNTO - esiste gia` un esito globale con questo nome\n";} else { - echo "
    STATO PERSONALIZZATO PER CAMPAGNA AGGIUNTO: $campaign_id - $status_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    ESITO CAMPAGNA NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    l`esito deve essere lungo tra 1 e 8 caratteri\n"; + echo "
    il nome dell`esito deve essere lungo tra i 2 e i 30 caratteri\n"; + } + else + { + echo "
    STATO PERSONALIZZATO PER CAMPAGNA AGGIUNTO: $campaign_id - $status_id\n"; - $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$campaign_id','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA STATUS', event_sql=\"$SQL_log\", event_notes='Esito: $status_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA STATUS', event_sql=\"$SQL_log\", event_notes='Esito: $status_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -11693,38 +12498,45 @@ if ($ADD==22) if ($ADD==23) { - $HKstatus_data = explode('-----',$HKstatus); - $status = $HKstatus_data[0]; - $status_name = $HKstatus_data[1]; - - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) - { - echo "
    CAMPAÚA HOT KEY NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    hotkey must be a single character between 1 and 9 \n"; - echo "
    l`esito deve essere lungo tra 1 e 8 caratteri\n"; - } + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} else { - echo "
    HOTKEY AGGIUNTA: $campaign_id - $status - $hotkey\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    CAMPAÚA HOT KEY NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    hotkey must be a single character between 1 and 9 \n"; + echo "
    l`esito deve essere lungo tra 1 e 8 caratteri\n"; + } + else + { + echo "
    HOTKEY AGGIUNTA: $campaign_id - $status - $hotkey\n"; - $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA HOTKEY', event_sql=\"$SQL_log\", event_notes='Esito: $status|HotKey: $hotkey';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA HOTKEY', event_sql=\"$SQL_log\", event_notes='Esito: $status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=23; @@ -11738,36 +12550,43 @@ if ($ADD==23) if ($ADD==25) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    El PLOMO de la CAMPAÑA RECICLA NO AGREGADO - hay ya unconducir-reciclaje para esta campaña con este estado\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) - { - echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; - echo "
    la tentativa retrasa debe ser por lo menos 120 segundos e meno di 43200 secondi o 12 ore\n"; - echo "
    las tentativas máximas deben ser a partir la 1 a 10\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    El PLOMO de la CAMPAÑA RECICLA NO AGREGADO - hay ya unconducir-reciclaje para esta campaña con este estado\n";} else { - echo "
    EL PLOMO DE LA CAMPAÑA RECICLA AGREGADO: $campaign_id - $status - $attempt_delay\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
    la tentativa retrasa debe ser por lo menos 120 segundos e meno di 43200 secondi o 12 ore\n"; + echo "
    las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
    EL PLOMO DE LA CAMPAÑA RECICLA AGREGADO: $campaign_id - $status - $attempt_delay\n"; - $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Esito: $status';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Esito: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=25; @@ -11781,40 +12600,47 @@ if ($ADD==25) if ($ADD==26) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} else { - echo "
    ESTADO AUTO DEL DIAL DEL ALT AGREGADO: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
    ESTADO AUTO DEL DIAL DEL ALT AGREGADO: $campaign_id - $status\n"; - $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $auto_alt_dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA ALT DIAL', event_sql=\"$SQL_log\", event_notes='Esito: $auto_alt_dial_statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA ALT DIAL', event_sql=\"$SQL_log\", event_notes='Esito: $auto_alt_dial_statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=26; @@ -11828,34 +12654,41 @@ if ($ADD==26) if ($ADD==27) { - echo ""; - $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Co`DIGO DE LA PAUSA DEL AGENTE NO AGREGADO - hay ya una entrada para esta campaña con este code de la pausa\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) - { - echo "
    Co`DIGO DE LA PAUSA DEL AGENTE NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    pause code must be between 1 and 6 characters in length\n"; - echo "
    pause nome in codice deve essere compreso tra 2 e 30 caratteri di lunghezza\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Co`DIGO DE LA PAUSA DEL AGENTE NO AGREGADO - hay ya una entrada para esta campaña con este code de la pausa\n";} else { - echo "
    EL Co`DIGO DE LA PAUSA DEL AGENTE AGREGo`: $campaign_id - $pause_code - $pause_code_name\n"; + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    Co`DIGO DE LA PAUSA DEL AGENTE NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + echo "
    pause nome in codice deve essere compreso tra 2 e 30 caratteri di lunghezza\n"; + } + else + { + echo "
    EL Co`DIGO DE LA PAUSA DEL AGENTE AGREGo`: $campaign_id - $pause_code - $pause_code_name\n"; - $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Codice Pausa: $pause_code';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Codice Pausa: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=27; @@ -11869,40 +12702,47 @@ if ($ADD==27) if ($ADD==28) { - $status = eregi_replace("-----.*",'',$status); - echo ""; - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESITO CHIAMATA PER CAMPAGNA NON AGGIUNTO - hay ya una entrada para esta campaña con este estado\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) - { - echo "
    ESITO CHIAMATA PER CAMPAGNA NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; - } + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESITO CHIAMATA PER CAMPAGNA NON AGGIUNTO - hay ya una entrada para esta campaña con este estado\n";} else { - echo "
    ESITO CHIAMATA PER CAMPAGNA AGGIUNTO: $campaign_id - $status\n"; + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    ESITO CHIAMATA PER CAMPAGNA NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
    ESITO CHIAMATA PER CAMPAGNA AGGIUNTO: $campaign_id - $status\n"; - $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); - if (strlen($row[0])<2) {$row[0] = ' -';} - $dial_statuses = " $status$row[0]"; - $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; - $rslt=mysql_query($stmt, $link); + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Esito: $statuses';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Esito: $statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } #$SUB=28; @@ -11915,37 +12755,44 @@ if ($ADD==28) ###################### if ($ADD==201) { - echo ""; - $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    PRESET NON AGGIUNTO - esiste già una voce per questa campagna con questo preset\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) - { - echo "
    PRESET NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    preset name must be between 1 and 40 characters in length\n"; - echo "
    preset number must be between 2 and 50 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_xfer_presets where campaign_id='$campaign_id' and preset_name='$preset_name';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PRESET NON AGGIUNTO - esiste già una voce per questa campagna con questo preset\n";} else { - echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; + if ( (strlen($campaign_id) < 2) or (strlen($preset_name) < 1) or (strlen($preset_number) < 1) ) + { + echo "
    PRESET NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    preset name must be between 1 and 40 characters in length\n"; + echo "
    preset number must be between 2 and 50 characters in length\n"; + } + else + { + echo "
    PRESET ADDED: $campaign_id - $preset_name - $preset_number\n"; - $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_presets(campaign_id,preset_name,preset_number,preset_dtmf,preset_hide_number) values('$campaign_id','$preset_name','$preset_number','$preset_dtmf','$preset_hide_number');"; + $rslt=mysql_query($stmt, $link); - $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_xfer_stats(campaign_id,preset_name) values('$campaign_id','$preset_name');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PRESET', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA PRESET', event_sql=\"$SQL_log\", event_notes='Preset: $preset_name - $preset_number';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $SUB=201; @@ -11958,121 +12805,128 @@ if ($ADD==201) ###################### if ($ADD==202) { - echo ""; - if ($stage == 'ADD') + if ($add_copy_disabled > 0) { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Prefisso NON CID AGGIUNTO - esiste già una voce per questa campagna con questo CID
    \n";} - else - { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    Prefisso NON CID AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti
    \n"; - } - else - { - echo "
    Prefisso CID AGGIUNTO: $campaign_id - $areacode - $outbound_cid
    \n"; - - $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - if ($stage == 'DELETE') + else { - $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    Prefisso CID non vengono eliminati - questa voce non esiste
    \n";} - else + echo ""; + if ($stage == 'ADD') { - if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) - { - echo "
    Prefisso CID non vengono eliminati - Per favore torna indietro e ricontrolla i dati inseriti
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Prefisso NON CID AGGIUNTO - esiste già una voce per questa campagna con questo CID
    \n";} else { - echo "
    Prefisso CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    Prefisso NON CID AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti
    \n"; + } + else + { + echo "
    Prefisso CID AGGIUNTO: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_campaign_cid_areacodes(campaign_id,areacode,outbound_cid,cid_description) values('$campaign_id','$areacode','$outbound_cid','$cid_description');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } - } - if ($stage == 'MODIFY') - { - $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; - $rslt=mysql_query($stmt, $link); - $accids_to_print = mysql_num_rows($rslt); - $o=0; - while ($accids_to_print > $o) + if ($stage == 'DELETE') { - $rowx=mysql_fetch_row($rslt); - $Xareacode[$o] = $rowx[0]; - $Xoutbound_cid[$o] = $rowx[1]; - $Xactive[$o] = $rowx[2]; - $Xcid_description[$o] = $rowx[3]; - $Xcall_count_today[$o] = $rowx[4]; - $o++; - } - - $o=0; - while ($accids_to_print > $o) - { - $Factive_value=''; - $Fcid_description_value=''; - $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; - $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; - - if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} - elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} - if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} - elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} - $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); - $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); - - # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; - - if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) - { - # echo "
    Prefisso CID NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti
    \n"; - } + $stmt="SELECT count(*) from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid' $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    Prefisso CID non vengono eliminati - questa voce non esiste
    \n";} else { - echo "Prefisso CID MODIFICATO: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + if ( (strlen($campaign_id) < 2) or (strlen($areacode) < 2) or (strlen($outbound_cid) < 6) ) + { + echo "
    Prefisso CID non vengono eliminati - Per favore torna indietro e ricontrolla i dati inseriti
    \n"; + } + else + { + echo "
    Prefisso CID DELETED: $campaign_id - $areacode - $outbound_cid
    \n"; - $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; - $rslt=mysql_query($stmt, $link); + $stmt="DELETE FROM vicidial_campaign_cid_areacodes WHERE campaign_id='$campaign_id' and areacode='$areacode' and outbound_cid='$outbound_cid';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $areacode - $outbound_cid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + if ($stage == 'MODIFY') + { + $stmt="SELECT areacode,outbound_cid,active,cid_description,call_count_today from vicidial_campaign_cid_areacodes where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by areacode,outbound_cid"; + $rslt=mysql_query($stmt, $link); + $accids_to_print = mysql_num_rows($rslt); + $o=0; + while ($accids_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xareacode[$o] = $rowx[0]; + $Xoutbound_cid[$o] = $rowx[1]; + $Xactive[$o] = $rowx[2]; + $Xcid_description[$o] = $rowx[3]; + $Xcall_count_today[$o] = $rowx[4]; + $o++; + } + + $o=0; + while ($accids_to_print > $o) + { + $Factive_value=''; + $Fcid_description_value=''; + $Factive = "active_$Xareacode[$o]_$Xoutbound_cid[$o]"; + $Fcid_description = "cid_description_$Xareacode[$o]_$Xoutbound_cid[$o]"; + + if (isset($_GET[$Factive])) {$Factive_value=$_GET[$Factive];} + elseif (isset($_POST[$Factive])) {$Factive_value=$_POST[$Factive];} + if (isset($_GET[$Fcid_description])) {$Fcid_description_value=$_GET[$Fcid_description];} + elseif (isset($_POST[$Fcid_description])) {$Fcid_description_value=$_POST[$Fcid_description];} + $Fcid_description_value = ereg_replace("[^- \.\,\_0-9a-zA-Z]","",$Fcid_description_value); + $Factive_value = ereg_replace("[^A-Z]","",$Factive_value); + + # echo "$campaign_id - $Xareacode[$o] - $Xoutbound_cid[$o] - $Factive($Factive_value|$Xactive[$o]) - $Fcid_description($Fcid_description_value|$Xcid_description[$o])
    "; + + if ( ($Factive_value == $Xactive[$o]) and ($Fcid_description_value == $Xcid_description[$o]) ) + { + # echo "
    Prefisso CID NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti
    \n"; + } + else + { + echo "Prefisso CID MODIFICATO: $Xareacode[$o] - $Xoutbound_cid[$o]
    \n"; + + $stmt="UPDATE vicidial_campaign_cid_areacodes SET active='$Factive_value',cid_description='$Fcid_description_value' WHERE campaign_id='$campaign_id' and areacode='$Xareacode[$o]' and outbound_cid='$Xoutbound_cid[$o]';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_AC-CID', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN AC-CID', event_sql=\"$SQL_log\", event_notes='CID: $Xareacode[$o] - $Xoutbound_cid[$o]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + $o++; } - $o++; } } $SUB=202; @@ -12086,49 +12940,56 @@ if ($ADD==202) if ($ADD==211) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $list_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LISTA NON AGGIUNTA - Esiste gia` una lista nel sistema con questo ID\n";} else { - if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    LISTA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    La ID de la lista debe estar entre 2 y 8 caracteres en longitud\n"; - echo "
    El nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; - echo "
    ID Lista must be greater than 100\n"; + $row=mysql_fetch_row($rslt); + $list_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$list_id' where id_table='vicidial_lists' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LISTA NON AGGIUNTA - Esiste gia` una lista nel sistema con questo ID\n";} else { - echo "
    LISTA AGGIUNTA: $list_id\n"; + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 19) ) + { + echo "
    LISTA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    La ID de la lista debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
    El nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; + echo "
    ID Lista must be greater than 100\n"; + } + else + { + echo "
    LISTA AGGIUNTA: $list_id\n"; - $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311; @@ -12142,67 +13003,148 @@ if ($ADD==211) if ($ADD==2111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    L`ID deve essere lungo tra i 2 e i 20 caratteri e non deve contenere ' -+'.\n"; - echo "
    Il nome ed il colore del gruppo devono essere lunghi almeno 2 caratteri\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    L`ID deve essere lungo tra i 2 e i 20 caratteri e non deve contenere ' -+'.\n"; + echo "
    Il nome ed il colore del gruppo devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch','','','','','','$user_group','$group_handling');"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPPO AGGIUNTO: $group_id\n"; + echo "
    GRUPPO AGGIUNTO: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2811 adds the new EMAIL inbound group to the system +###################### + +if ( ($ADD==2811) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPPO NON AGGIUNTO - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    L`ID deve essere lungo tra i 2 e i 20 caratteri e non deve contenere ' -+'.\n"; + echo "
    Il nome ed il colore del gruppo devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,web_form_address_two,start_call_url,dispo_call_url,add_lead_url,na_call_url,user_group,group_handling) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','EMAIL','','','','','','$user_group','EMAIL');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    EMAIL gruppo ha aggiunto: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2011 adds copied inbound group to the system @@ -12210,67 +13152,148 @@ if ($ADD==2111) if ($ADD==2011) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $group_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} else { - $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + {echo "
    GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} else { - if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) - { - echo "
    GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    L`ID deve essere lungo tra i 2 e i 20 caratteri e non deve contenere ' -+'.\n"; - echo "
    Il nome ed il colore del gruppo devono essere lunghi almeno 2 caratteri\n"; - } + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} else { - $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id=\"$source_group_id\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    L`ID deve essere lungo tra i 2 e i 20 caratteri e non deve contenere ' -+'.\n"; + echo "
    Il nome ed il colore del gruppo devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); - echo "
    GRUPPO AGGIUNTO: $group_id\n"; + echo "
    GRUPPO AGGIUNTO: $group_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPIA GRUPPO INBOUND', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPIA GRUPPO INBOUND', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } $ADD=3111; } +###################### +# ADD=2911 adds copied inbound group to the system +###################### + +if ( ($ADD==2911) and ($SSallow_emails>0) ) + { + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } + else + { + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$group_id' where id_table='vicidial_inbound_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EMAIL GRUPPO NON AGGIUNTO - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    EMAIL GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    Email ID di gruppo deve essere compresa tra 2 e 20 caratteri e contenere ' -+'.\n"; + echo "
    E-mail il nome del gruppo e il colore del gruppo devono essere almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats_debug (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    EMAIL gruppo ha aggiunto: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPIA GRUPPO INBOUND', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=3811; + } + ###################### # ADD=2311 adds the new did to the system @@ -12278,45 +13301,52 @@ if ($ADD==2011) if ($ADD==2311) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    NON HA AGGIUNTO - vi è già un fatto per il sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { + echo ""; $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    NON HA AGGIUNTO - vi è già un fatto per il sistema con questa estensione\n";} + {echo "
    NON HA AGGIUNTO - vi è già un fatto per il sistema con questo ID\n";} else { - if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) - { - echo "
    NON HA AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    NON HA AGGIUNTO - vi è già un fatto per il sistema con questa estensione\n";} else - { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + { # or (eregi("\+",$did_pattern)) + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) ) + { + echo "
    NON HA AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,user_group) values('$did_pattern','$did_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; + echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12330,38 +13360,45 @@ if ($ADD==2311) if ($ADD==2411) { - echo ""; - $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    NON HA AGGIUNTO - vi è già un fatto per il sistema con questa estensione\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) - { - echo "
    NON HA AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    NON HA AGGIUNTO - vi è già un fatto per il sistema con questa estensione\n";} else { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
    NON HA AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $did_id = $row[0]; + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; - echo "
    DID ADDED: $did_pattern - $did_id\n"; + echo "
    DID ADDED: $did_pattern - $did_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPIA DID', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPIA DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3311; @@ -12374,61 +13411,68 @@ if ($ADD==2411) if ($ADD==2511) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL menu non AGGIUNTI - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL menu non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    Call ID Menu non è possibile utilizzare parole riservate: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL menu non AGGIUNTI - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL menu non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    Call Menu ID deve essere compresa tra 2 e 50 caratteri di lunghezza e non contengono ' '.\n"; + echo "
    Call ID Menu non è possibile utilizzare parole riservate: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) ) + { + echo "
    CALL menu non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    Call Menu ID deve essere compresa tra 2 e 50 caratteri di lunghezza e non contengono ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,user_group) values('$menu_id','$menu_name','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    CALL MENU AGGIUNTO: $menu_id $menu_name\n"; + echo "
    CALL MENU AGGIUNTO: $menu_id $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='ADD', record_id='$menu_id', event_code='ADMIN ADD CALL MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12441,64 +13485,71 @@ if ($ADD==2511) if ($ADD==2611) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $menu_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; - $rslt=mysql_query($stmt, $link); - } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "
    CALL menu non AGGIUNTI - there is already a CALL MENU in the system with this ID\n"; - $ADD=1500; + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } else { - if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    CALL menu non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    Call ID Menu non è possibile utilizzare parole riservate: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; + $row=mysql_fetch_row($rslt); + $menu_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$menu_id' where id_table='vicidial_call_menu' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_call_menu where menu_id='$menu_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    CALL menu non AGGIUNTI - there is already a CALL MENU in the system with this ID\n"; $ADD=1500; } else { - if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + if ( (preg_match("/^vicidial$/i",$menu_id)) or (preg_match("/^vicidial-auto$/i",$menu_id)) or (preg_match("/^general$/i",$menu_id)) or (preg_match("/^globals$/i",$menu_id)) or (preg_match("/^default$/i",$menu_id)) or (preg_match("/^trunkinbound$/i",$menu_id)) or (preg_match("/^loopback-no-log$/i",$menu_id)) or (preg_match("/^monitor_exit$/i",$menu_id)) or (preg_match("/^monitor$/i",$menu_id)) ) { echo "
    CALL menu non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    Call Menu ID deve essere compresa tra 2 e 50 caratteri di lunghezza e non contengono ' '.\n"; + echo "
    Call ID Menu non è possibile utilizzare parole riservate: vicidial, vicidial-auto, general, globals, default, trunkinbound, loopback-no-log, monitor_exit, monitor\n"; $ADD=1500; } else { - $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id=\"$source_menu\";"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($menu_id) < 2) or (eregi(' ',$menu_id)) or (strlen($source_menu) < 2) or (eregi(' ',$source_menu)) ) + { + echo "
    CALL menu non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    Call Menu ID deve essere compresa tra 2 e 50 caratteri di lunghezza e non contengono ' '.\n"; + $ADD=1500; + } + else + { + $stmt="INSERT INTO vicidial_call_menu (menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql) SELECT \"$menu_id\",\"$menu_name\",menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id=\"$source_menu\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="INSERT INTO vicidial_call_menu_options (menu_id,option_value,option_description,option_route,option_route_value,option_route_value_context) SELECT \"$menu_id\",option_value,option_description,option_route,option_route_value,option_route_value_context from vicidial_call_menu_options where menu_id='$source_menu';"; + $rslt=mysql_query($stmtA, $link); - echo "
    CALL MENU AGGIUNTO: $menu_id - $menu_name\n"; + echo "
    CALL MENU AGGIUNTO: $menu_id - $menu_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtA"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtA"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLMENUS', event_type='COPY', record_id='$menu_id', event_code='ADMIN COPY MENU', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - $ADD=3511; + $ADD=3511; + } } } } @@ -12511,33 +13562,40 @@ if ($ADD==2611) if ($ADD==2711) { - echo ""; - $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPPO FILTRO TELEFONO NON AGGIUNTO - c'è già un gruppo PHONE FILTER nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) - { - echo "
    PHONE FILTER GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    Telefono ID Group filtro deve essere compresa tra 2 e 20 caratteri e non contengono ' '.\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_filter_phone_groups where filter_phone_group_id='$filter_phone_group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPPO FILTRO TELEFONO NON AGGIUNTO - c'è già un gruppo PHONE FILTER nel sistema con questo ID\n";} else { - $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($filter_phone_group_id) < 2) or (strlen($filter_phone_group_id) > 20) or (eregi(' ',$filter_phone_group_id)) ) + { + echo "
    PHONE FILTER GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    Telefono ID Group filtro deve essere compresa tra 2 e 20 caratteri e non contengono ' '.\n"; + } + else + { + $stmt="INSERT INTO vicidial_filter_phone_groups (filter_phone_group_id,filter_phone_group_name,filter_phone_group_description,user_group) values('$filter_phone_group_id','$filter_phone_group_name','$filter_phone_group_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - echo "
    TELEFONO GRUPPO FILTRO AGGIUNTO: $filter_phone_group_id $filter_phone_group_name\n"; + echo "
    TELEFONO GRUPPO FILTRO AGGIUNTO: $filter_phone_group_id $filter_phone_group_name\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN AGGIUNGI FILTRO PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERPHONEGROUPS', event_type='ADD', record_id='$filter_phone_group_id', event_code='ADMIN AGGIUNGI FILTRO PHONE GROUP', event_sql=\"$SQL_log\", event_notes='$filter_phone_group_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3711; @@ -12550,50 +13608,57 @@ if ($ADD==2711) if ($ADD==21111) { - echo ""; - $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    AGENTES ALEJADOS NO AGREGADOS - hay ya una entrada alejada de los agentes comenzando con esta ID del usuario\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - ### check for a valid user that will be associated with this account - $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] < 1) - {echo "
    OPERATORI REMOTI NOT ADDED - è necessario utilizzare un utente valido come user_start per gli agenti remoti\n";} + if ($row[0] > 0) + {echo "
    AGENTES ALEJADOS NO AGREGADOS - hay ya una entrada alejada de los agentes comenzando con esta ID del usuario\n";} else { - ### check for closest remote agents to this account to ensure no overlapping - $user_finish = ($user_start + $number_of_lines); - $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + ### check for a valid user that will be associated with this account + $stmt="SELECT count(*) from vicidial_users where user='$user_start' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    OPERATORI REMOTI NOT ADDED - il tuo numero di sovrapposizioni di linee con un altro agente remoto\n";} + if ($row[0] < 1) + {echo "
    OPERATORI REMOTI NOT ADDED - è necessario utilizzare un utente valido come user_start per gli agenti remoti\n";} else { - if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) - { - echo "
    AGENTES ALEJADOS NO AGREGADOS - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    El comienzo de la ID del usuario y la extension externa deben ser por lo menos 2 caracteres en longitud\n"; - } + ### check for closest remote agents to this account to ensure no overlapping + $user_finish = ($user_start + $number_of_lines); + $stmt="SELECT count(*) from vicidial_remote_agents where user_start >= '$user_start' and user_start < '$user_finish';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    OPERATORI REMOTI NOT ADDED - il tuo numero di sovrapposizioni di linee con un altro agente remoto\n";} else { - $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    AGENTES ALEJADOS NO AGREGADOS - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    El comienzo de la ID del usuario y la extension externa deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents (user_start,number_of_lines,server_ip,conf_exten,status,campaign_id,closer_campaigns) values('$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); - echo "
    OPERATORE REMOTO AGGIUNTO: $user_start\n"; + echo "
    OPERATORE REMOTO AGGIUNTO: $user_start\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -12608,38 +13673,45 @@ if ($ADD==21111) if ($ADD==22111) { - echo ""; - $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPPO ENTRY ESTENSIONE NON AGGIUNTO - c'è già una voce gruppo di interni con questi valori\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) - { - echo "
    GRUPPO ENTRY ESTENSIONE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPPO ENTRY ESTENSIONE NON AGGIUNTO - c'è già una voce gruppo di interni con questi valori\n";} else { - $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($extension_group_id) < 2) or (strlen($extension) < 2) or (strlen($rank) < 1) ) + { + echo "
    GRUPPO ENTRY ESTENSIONE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    extension group id and extension and rank must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_extension_groups (extension_group_id,extension,rank,campaign_groups) values('$extension_group_id','$extension','$rank','$campaign_groups');"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $extension_id = $row[0]; + $stmt="SELECT extension_id from vicidial_extension_groups where extension_group_id='$extension_group_id' and extension='$extension';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension_id = $row[0]; - echo "
    GRUPPO ENTRY ESTENSIONE AGGIUNTO: $extension_id - $extension_group_id - $extension\n"; + echo "
    GRUPPO ENTRY ESTENSIONE AGGIUNTO: $extension_id - $extension_group_id - $extension\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='EXTENGROUP', event_type='ADD', record_id='$extension_id', event_code='ADMIN ADD EXTENSION GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=12000; @@ -12652,147 +13724,154 @@ if ($ADD==22111) if ($ADD==211111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $user_group = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    GRUPO de USUARIO NO AGREGADO - hay ya una entrada del grupo de usuario con este nombre\n";} else { - if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    GRUPO de USUARIO NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    El nombre y la descripcio`n de grupo deben ser por lo menos 2 caracteres en longitud\n"; + $row=mysql_fetch_row($rslt); + $user_group = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$user_group' where id_table='vicidial_user_groups' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GRUPO de USUARIO NO AGREGADO - hay ya una entrada del grupo de usuario con este nombre\n";} else { - $allowed_user_group_insert_SQL = '---ALL---'; - $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; - # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups - if ($admin_viewable_groupsALL < 1) + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) { - $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; - $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); - $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; + echo "
    GRUPO de USUARIO NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    El nombre y la descripcio`n de grupo deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $allowed_user_group_insert_SQL = '---ALL---'; + $allowed_campaign_insert_SQL = '-ALL-CAMPAIGNS-'; + # if admin user's user group does not have --ALL-- then add this new user group to their user group's allowable user groups + if ($admin_viewable_groupsALL < 1) + { + $UPDATEadmin_viewable_groups = $LOGadmin_viewable_groups; + $UPDATEadmin_viewable_groups = preg_replace("/ $/"," $user_group ",$UPDATEadmin_viewable_groups); + $LOGadmin_viewable_groups = $UPDATEadmin_viewable_groups; - $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $stmt="UPDATE vicidial_user_groups SET admin_viewable_groups='$UPDATEadmin_viewable_groups' where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + + $allowed_user_group_insert_SQL = " $user_group -"; + + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $allowed_campaign_insert_SQL = $LOGallowed_campaigns; + } + + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; $rslt=mysql_query($stmt, $link); - $allowed_user_group_insert_SQL = " $user_group -"; - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); - $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); - $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; - } - if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) - { - $allowed_campaign_insert_SQL = $LOGallowed_campaigns; - } + echo "
    GRUPPO UTENTI AGGIUNTO: $user_group\n"; - $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns,admin_viewable_groups) values('$user_group','$group_name','$allowed_campaign_insert_SQL','$allowed_user_group_insert_SQL');"; - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN NUOVO GRUPPO UTENTI', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - - echo "
    GRUPPO UTENTI AGGIUNTO: $user_group\n"; - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN NUOVO GRUPPO UTENTI', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - - ############################################################### - ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; - $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysql_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysql_fetch_row($rslt); - $enable_vtiger_integration = $row[0]; - $vtiger_server_ip = $row[1]; - $vtiger_dbname = $row[2]; - $vtiger_login = $row[3]; - $vtiger_pass = $row[4]; - $vtiger_url = $row[5]; - } - ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### - ############################################################# - - if ($enable_vtiger_integration > 0) - { - ### connect to your vtiger database - $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); - if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} - echo 'Connected successfully'; - mysql_select_db("$vtiger_dbname", $linkV); - - ###################################### - ##### BEGIN Add/Update group info in Vtiger - $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; - $rslt=mysql_query($stmt, $linkV); + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - if (!$rslt) {die('Could not execute: ' . mysql_error());} - $row=mysql_fetch_row($rslt); - $group_found_count = $row[0]; - - ### group exists in vtiger, update it - if ($group_found_count > 0) + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) { - $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; $rslt=mysql_query($stmt, $linkV); if ($DB) {echo "$stmt\n";} if (!$rslt) {die('Could not execute: ' . mysql_error());} $row=mysql_fetch_row($rslt); - $groupid = $row[0]; + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_users_seq to use as groupid + $stmt="SELECT id from vtiger_users_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### } - - ### user doesn't exist in vtiger, insert it - else - { - #### BEGIN CREATE NEW GROUP RECORD IN VTIGER - # Get next available id from vtiger_users_seq to use as groupid - $stmt="SELECT id from vtiger_users_seq;"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - $row=mysql_fetch_row($rslt); - $groupid = ($row[0] + 1); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - # Increase next available groupid with 1 so next record gets proper id - $stmt="UPDATE vtiger_users_seq SET id = '$groupid';"; - if ($DB) {echo "$stmt\n";} - $rslt=mysql_query($stmt, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; - if ($DB) {echo "|$stmtA|\n";} - $rslt=mysql_query($stmtA, $linkV); - if (!$rslt) {die('Could not execute: ' . mysql_error());} - - #### END CREATE NEW GROUP RECORD IN VTIGER - } - ##### END Add/Update group info in Vtiger - ###################################### } } } @@ -12805,47 +13884,54 @@ if ($ADD==211111) if ($ADD==2111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $script_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SCRIPT NON AGGIUNTO - hay ya una entrada de la escritura con este nombre\n";} else { - if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    SCRIPT NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    El nombre, la descripcio`n y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + $row=mysql_fetch_row($rslt); + $script_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$script_id' where id_table='vicidial_scripts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SCRIPT NON AGGIUNTO - hay ya una entrada de la escritura con este nombre\n";} else { - $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    SCRIPT AGGIUNTO: $script_id\n"; + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    SCRIPT NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    El nombre, la descripcio`n y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','" . mysql_real_escape_string($script_text) . "','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + echo "
    SCRIPT AGGIUNTO: $script_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPT', event_type='ADD', record_id='$script_id', event_code='ADMIN AGGIUNGI SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPT', event_type='ADD', record_id='$script_id', event_code='ADMIN AGGIUNGI SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=1000000; @@ -12858,48 +13944,55 @@ if ($ADD==2111111) if ($ADD==21111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $lead_filter_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    FILTRO NON AGGIUNTO - Esiste gia` un altro filtro con questo ID\n";} else { - if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    FILTRO NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    ID Filtro, nome e SQL devono essere lunghi almeno 2 caratteri\n"; + $row=mysql_fetch_row($rslt); + $lead_filter_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$lead_filter_id' where id_table='vicidial_lead_filters' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    FILTRO NON AGGIUNTO - Esiste gia` un altro filtro con questo ID\n";} else { - $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; - $rslt=mysql_query($stmt, $link); + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    FILTRO NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    ID Filtro, nome e SQL devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',user_group='$user_group',lead_filter_comments='$lead_filter_comments',lead_filter_sql='" . mysql_real_escape_string($lead_filter_sql) . "';"; + $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} - echo "
    FILTRO AGGIUNTO: $lead_filter_id\n"; + if ($DB > 0) {echo "|$stmt|";} + echo "
    FILTRO AGGIUNTO: $lead_filter_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTRI', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN AGGIUNGI FILTRO', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTRI', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN AGGIUNGI FILTRO', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=10000000; @@ -12912,34 +14005,41 @@ if ($ADD==21111111) if ($ADD==211111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificacio`n\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) - { - echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    La identificacio`n del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificacio`n\n";} else { - $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    La identificacio`n del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments',user_group='$user_group',ct_state_call_times='',ct_holidays='';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    ORARIO CHIAMATE AGGIUNTO: $call_time_id\n"; + echo "
    ORARIO CHIAMATE AGGIUNTO: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111; @@ -12952,98 +14052,159 @@ if ($ADD==211111111) if ($ADD==2111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificacio`n\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) - { - echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    Indique que identificacio`n del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificacio`n\n";} else { - $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    Indique que identificacio`n del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    ORARIO CHIAMATE PER STATO AGGIUNTO: $call_time_id\n"; + echo "
    ORARIO CHIAMATE PER STATO AGGIUNTO: $call_time_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111; } +###################### +# ADD=2211111111 adds new holiday definition to the system +###################### + +if ($ADD==2211111111) + { + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } + else + { + echo ""; + $stmt="SELECT count(*) from vicidial_call_time_holidays where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VACANZA definizione non AGGIUNTO - c'è già una voce di vacanza con questo ID\n";} + else + { + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    VACANZA definizione non AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    ID di vacanza, il nome e la data devono essere occupati\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_time_holidays SET holiday_id='$holiday_id',holiday_name='$holiday_name',holiday_comments='$holiday_comments',holiday_date='$holiday_date',holiday_status='INACTIVE',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} + + echo "
    VACANZA AGGIUNTO: $holiday_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='ADD', record_id='$holiday_id', event_code='ADMIN ADD HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3211111111; + } + + ###################### # ADD=231111111 adds new shift definition to the system ###################### if ($ADD==231111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $shift_id = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SHIFT DEFINIZIONE NON AGGIUNTO - esiste già una voce con questo passaggio ID\n";} else { - $shift_length_test = eregi_replace(':','',$shift_length); - if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) { - echo "
    SHIFT DEFINIZIONE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    Maiusc ID e il nome deve essere di almeno 2 caratteri\n"; - echo "
    Start Time Shift 4 cifre devono essere di lunghezza e da tempo una valida\n"; - echo "
    Maiusc Lunghezza deve essere di 5 caratteri di lunghezza e di 24 ore o meno\n"; + $row=mysql_fetch_row($rslt); + $shift_id = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$shift_id' where id_table='vicidial_shifts' and active='1';"; + $rslt=mysql_query($stmt, $link); } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SHIFT DEFINIZIONE NON AGGIUNTO - esiste già una voce con questo passaggio ID\n";} else { - $p=0; - $shift_weekdays_ct = count($shift_weekdays); - while ($p <= $shift_weekdays_ct) + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) { - $SHIFT_weekdays .= "$shift_weekdays[$p]"; - $p++; + echo "
    SHIFT DEFINIZIONE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    Maiusc ID e il nome deve essere di almeno 2 caratteri\n"; + echo "
    Start Time Shift 4 cifre devono essere di lunghezza e da tempo una valida\n"; + echo "
    Maiusc Lunghezza deve essere di 5 caratteri di lunghezza e di 24 ore o meno\n"; } - $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); - if ($DB > 0) {echo "|$stmt|";} + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',report_option='$report_option',shift_weekdays='$SHIFT_weekdays',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB > 0) {echo "|$stmt|";} - echo "
    SHIFT AGGIUNTI:$shift_id\n"; + echo "
    SHIFT AGGIUNTI:$shift_id\n"; - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111; @@ -13056,71 +14217,78 @@ if ($ADD==231111111) if ($ADD==21111111111) { - ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### - $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); - $voi_ct = mysql_num_rows($rslt); - if ($voi_ct > 0) + if ($add_copy_disabled > 0) { - $row=mysql_fetch_row($rslt); - $extension = ($row[0] + 1); - - $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; - $rslt=mysql_query($stmt, $link); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - ##### END ID override optional section ##### - - echo ""; - $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    telefonO NO AGREGADO - hay ya un telefono en el sistema con esta extension/servidor\n";} else { - $stmt="SELECT count(*) from phones where login='$login';"; + ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### + $stmt = "SELECT value FROM vicidial_override_ids where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + $voi_ct = mysql_num_rows($rslt); + if ($voi_ct > 0) + { + $row=mysql_fetch_row($rslt); + $extension = ($row[0] + 1); + + $stmt="UPDATE vicidial_override_ids SET value='$extension' where id_table='phones' and active='1';"; + $rslt=mysql_query($stmt, $link); + } + ##### END ID override optional section ##### + + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - vi è già un telefono nel sistema con questo login\n";} + {echo "
    telefonO NO AGREGADO - hay ya un telefono en el sistema con esta extension/servidor\n";} else { - $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $stmt="SELECT count(*) from phones where login='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - vi è già un alias Telefono nel sistema con questo login\n";} + {echo "
    PHONE NOT ADDED - vi è già un telefono nel sistema con questo login\n";} else { - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    PHONE NOT ADDED - there is already a Casella Vocale ID in the system with this ID\n";} + {echo "
    PHONE NOT ADDED - vi è già un alias Telefono nel sistema con questo login\n";} else { - if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) - { - echo "
    telefonO NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    I seguenti campi devono disporre di dati: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; - } + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a Casella Vocale ID in the system with this ID\n";} else { - echo "
    TELEFONO AGGIUNTO\n"; + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + { + echo "
    telefonO NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    I seguenti campi devono disporre di dati: extension, server_ip, dialplan_number, voicemail_id, login, pass\n"; + } + else + { + echo "
    TELEFONO AGGIUNTO\n"; - $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid,conf_secret,voicemail_timezone,user_group) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid','$conf_secret','$SSdefault_voicemail_timezone','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13136,37 +14304,44 @@ if ($ADD==21111111111) if ($ADD==22111111111) { - echo ""; - $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ALIAS TELEFONO NON AGGIUNTO - vi è già un Telefono Alias nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where login='$alias_id';"; + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ALIAS TELEFONO NON AGGIUNTO - vi è già un Telefono Login nel sistema con questo ID\n";} + {echo "
    ALIAS TELEFONO NON AGGIUNTO - vi è già un Telefono Alias nel sistema con questo ID\n";} else { - if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) - {echo "
    ALIAS TELEFONO NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ALIAS TELEFONO NON AGGIUNTO - vi è già un Telefono Login nel sistema con questo ID\n";} else { - echo "
    TELEFONO ALIAS AGGIUNTO\n"; + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    ALIAS TELEFONO NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    TELEFONO ALIAS AGGIUNTO\n"; - $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list,user_group) values('$alias_id','$alias_name','$logins_list','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD TELEFONO ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD TELEFONO ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13180,34 +14355,41 @@ if ($ADD==22111111111) if ($ADD==23111111111) { - echo ""; - $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ALIAS GRUPPO NON AGGIUNTO - vi è già un Telefono Alias nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) - {echo "
    ALIAS GRUPPO NON AGGIUNTO - non è possibile utilizzare le parole riservate nel gruppo alias\n";} + echo ""; + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ALIAS GRUPPO NON AGGIUNTO - vi è già un Telefono Alias nel sistema con questo ID\n";} else { - if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) - {echo "
    ALIAS GRUPPO NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",$group_alias_id)) + {echo "
    ALIAS GRUPPO NON AGGIUNTO - non è possibile utilizzare le parole riservate nel gruppo alias\n";} else { - echo "
    GRUPPO ALIAS AGGIUNTO\n"; + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    ALIAS GRUPPO NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    GRUPPO ALIAS AGGIUNTO\n"; - $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13221,33 +14403,40 @@ if ($ADD==23111111111) if ($ADD==211111111111) { - echo ""; - $stmt="SELECT count(*) from servers where server_id='$server_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    SERVER NON AGGIUNTO - Esiste gia` un altro server nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) - {echo "
    SERVER NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SERVER NON AGGIUNTO - Esiste gia` un altro server nel sistema con questo ID\n";} else { - echo "
    SERVER AGGIUNTO\n"; + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    SERVER NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    SERVER AGGIUNTO\n"; - $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version,conf_secret,local_gmt,user_group) values('$server_id','$server_description','$server_ip','$active','$asterisk_version','$SSdefault_server_password','$SSdefault_local_gmt','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y',rebuild_music_on_hold='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=311111111111; @@ -13260,51 +14449,58 @@ if ($ADD==211111111111) if ($ADD==221111111111) { - echo ""; - $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $MAXvicidial_trunks = $rowx[0]; - - $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); - - if ($SUMvicidial_trunks > $MAXvicidial_trunks) + if ($add_copy_disabled > 0) { - echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - hay ya un expediente del servidor-tronco para esta campaña\n";} + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } else { - if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) - { - echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    la campaña debe estar entre 3 y 8 caracteres en longitud\n"; - echo "
    el server_ip retrasa debe ser por lo menos 7 caracteres\n"; - echo "
    los troncos deben ser un dígito a partir de la 0 a 9999\n"; - } + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - hay ya un expediente del servidor-tronco para esta campaña\n";} else { - echo "
    EL EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL AGREGo`: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
    el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + echo "
    los troncos deben ser un dígito a partir de la 0 a 9999\n"; + } + else + { + echo "
    EL EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL AGREGo`: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; - $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVER TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVER TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13318,30 +14514,37 @@ if ($ADD==221111111111) if ($ADD==231111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONF TEMPLATE NON AGGIUNTO - vi è già un modello del sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if (strlen($template_id) < 2) - {echo "
    CONF TEMPLATE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONF TEMPLATE NON AGGIUNTO - vi è già un modello del sistema con questo ID\n";} else { - echo "
    CONF TEMPLATE AGGIUNTO\n"; + if (strlen($template_id) < 2) + {echo "
    CONF TEMPLATE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    CONF TEMPLATE AGGIUNTO\n"; - $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents,user_group) values('$template_id','$template_name','$template_contents','$user_group');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111; @@ -13354,33 +14557,40 @@ if ($ADD==231111111111) if ($ADD==241111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Vettore non AGGIUNTO - vi è già un elemento portante del sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    Vettore non AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Vettore non AGGIUNTO - vi è già un elemento portante del sistema con questo ID\n";} else { - echo "
    CARRIER ADDED\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    Vettore non AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    CARRIER ADDED\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N','$carrier_description','$user_group');"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13393,33 +14603,40 @@ if ($ADD==241111111111) if ($ADD==240111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Vettore non AGGIUNTO - vi è già un elemento portante del sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) - {echo "
    Vettore non AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Vettore non AGGIUNTO - vi è già un elemento portante del sistema con questo ID\n";} else { - echo "
    CARRIER copiati hanno aggiunto\n"; + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    Vettore non AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    CARRIER copiati hanno aggiunto\n"; - $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active,carrier_description,user_group) SELECT \"$carrier_id\",\"$carrier_name\",registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,\"$server_ip\",\"N\",carrier_description,user_group from vicidial_server_carriers where carrier_id=\"$source_carrier\";"; + $rslt=mysql_query($stmt, $link); - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='COPY', record_id='$carrier_id', event_code='ADMIN COPY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=341111111111; @@ -13432,30 +14649,37 @@ if ($ADD==240111111111) if ($ADD==251111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    TTS iscrizione non AGGIUNTI - c-è già una voce TTS nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) - {echo "
    TTS iscrizione non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_tts_prompts where tts_id='$tts_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    TTS iscrizione non AGGIUNTI - c-è già una voce TTS nel sistema con questo ID\n";} else { - echo "
    TTS Entry Aggiunto\n"; + if ( (strlen($tts_id) < 2) or (strlen($tts_name) < 3) ) + {echo "
    TTS iscrizione non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    TTS Entry Aggiunto\n"; - $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_tts_prompts SET tts_id='$tts_id',tts_name='$tts_name',active='$active',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TTS', event_type='ADD', record_id='$tts_id', event_code='ADMIN ADD TTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=351111111111; @@ -13468,30 +14692,37 @@ if ($ADD==251111111111) if ($ADD==261111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Music On Hold iscrizione non AGGIUNTI - c-è già una voce moh nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) - {echo "
    Music On Hold iscrizione non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_music_on_hold where moh_id='$moh_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Music On Hold iscrizione non AGGIUNTI - c-è già una voce moh nel sistema con questo ID\n";} else { - echo "
    Music On Hold Entry Aggiunto\n"; + if ( (strlen($moh_id) < 2) or (strlen($moh_name) < 3) or ($moh_id=='sounds') or ($moh_id=='agi-bin') or ($moh_id=='astdb') or ($moh_id=='keys') ) + {echo "
    Music On Hold iscrizione non AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    Music On Hold Entry Aggiunto\n"; - $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_music_on_hold SET moh_id='$moh_id',moh_name='$moh_name',random='$random',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='MOH', event_type='ADD', record_id='$moh_id', event_code='ADMIN ADD MOH', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=361111111111; @@ -13504,45 +14735,52 @@ if ($ADD==261111111111) if ($ADD==271111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VOICEMAIL BOX NON AGGIUNTI - vi è già una casella di posta vocale nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_voicemail where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    VOICEMAIL BOX NON AGGIUNTI - c-è già un telefono cellulare nel sistema, con questo messaggio vocale ID\n";} + {echo "
    VOICEMAIL BOX NON AGGIUNTI - vi è già una casella di posta vocale nel sistema con questo ID\n";} else { - if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) - {echo "
    VOICEMAIL BOX NON AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n";} + $stmt="SELECT count(*) from phones where voicemail_id='$voicemail_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VOICEMAIL BOX NON AGGIUNTI - c-è già un telefono cellulare nel sistema, con questo messaggio vocale ID\n";} else { - echo "
    VOICEMAIL BOX AGGIUNTO\n"; + if ( (strlen($voicemail_id) < 2) or (strlen($pass) < 2) or (strlen($fullname) < 3) ) + {echo "
    VOICEMAIL BOX NON AGGIUNTI - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    VOICEMAIL BOX AGGIUNTO\n"; - $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_voicemail SET voicemail_id='$voicemail_id',pass='$pass',email='$email',fullname='$fullname',active='$active',voicemail_timezone='$SSdefault_voicemail_timezone',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - $stmt="SELECT active_voicemail_server from system_settings;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $active_voicemail_server = $row[0]; + $stmt="SELECT active_voicemail_server from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; - $rslt=mysql_query($stmtA, $link); + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $rslt=mysql_query($stmtA, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='VOICEMAIL', event_type='ADD', record_id='$voicemail_id', event_code='ADMIN ADD VOICEMAIL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13556,30 +14794,37 @@ if ($ADD==271111111111) if ($ADD==281111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    LABEL SCREEN NON AGGIUNTO - c'è già una etichetta nel sistema con questo ID\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) - {echo "
    LABEL SCREEN NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_screen_labels where label_id='$label_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LABEL SCREEN NON AGGIUNTO - c'è già una etichetta nel sistema con questo ID\n";} else { - echo "
    LABEL SCREEN AGGIUNTO\n"; + if ( (strlen($label_id) < 2) or (strlen($label_name) < 2) ) + {echo "
    LABEL SCREEN NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    LABEL SCREEN AGGIUNTO\n"; - $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_screen_labels SET label_id='$label_id',label_name='$label_name',active='N',user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LABELS', event_type='ADD', record_id='$label_id', event_code='ADMIN ADD LABEL', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=381111111111; @@ -13592,38 +14837,45 @@ if ($ADD==281111111111) if ($ADD==291111111111) { - if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + if ($add_copy_disabled > 0) { - $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); - mysql_select_db("$SSalt_log_dbname", $linkALT); + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } - else - {$linkALT = $link;} - echo ""; - $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; - $rslt=mysql_query($stmt, $linkALT); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    Contatto non AGGIUNTO - c'è già un contatto nel sistema con questo nome e numero di\n";} else { - if (strlen($last_name) < 2) - {echo "
    Contatto non AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + if ( (preg_match("/contact_information/",$SStables_use_alt_log_db)) and (strlen($SSalt_log_server_ip)>4) and (strlen($SSalt_log_dbname)>0) ) + { + $linkALT=mysql_connect("$SSalt_log_server_ip", "$SSalt_log_login", "$SSalt_log_pass"); + mysql_select_db("$SSalt_log_dbname", $linkALT); + } + else + {$linkALT = $link;} + echo ""; + $stmt="SELECT count(*) from contact_information where first_name='$first_name' and last_name='$last_name' and office_num='$office_num';"; + $rslt=mysql_query($stmt, $linkALT); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    Contatto non AGGIUNTO - c'è già un contatto nel sistema con questo nome e numero di\n";} else { - echo "
    CONTATTO AGGIUNTO\n"; + if (strlen($last_name) < 2) + {echo "
    Contatto non AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    CONTATTO AGGIUNTO\n"; - $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; - $rslt=mysql_query($stmt, $linkALT); - $contact_id = mysql_insert_id($linkALT); + $stmt="INSERT INTO contact_information SET first_name='$first_name',last_name='$last_name',office_num='$office_num',cell_num='$cell_num',other_num1='$other_num1',other_num2='$other_num2',bu_name='$bu_name',department='$department',group_name='$group_name',job_title='$job_title',location='$location';"; + $rslt=mysql_query($stmt, $linkALT); + $contact_id = mysql_insert_id($linkALT); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONTACTS', event_type='ADD', record_id='$contact_id', event_code='ADMIN ADD CONTACT', event_sql=\"$SQL_log\", event_notes='$first_name $last_name $office_num';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=391111111111; @@ -13636,22 +14888,29 @@ if ($ADD==291111111111) if ($ADD==2111111111111) { - echo ""; - $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CONFERENZA NON AGGIUNTA - Esiste gia` una conferenza nel sistema con questo ID e server\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    CONFERENZA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFERENZA NON AGGIUNTA - Esiste gia` una conferenza nel sistema con questo ID e server\n";} else { - echo "
    CONFERENZA AGGIUNTA\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    CONFERENZA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    CONFERENZA AGGIUNTA\n"; - $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=3111111111111; @@ -13664,22 +14923,29 @@ if ($ADD==2111111111111) if ($ADD==21111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) - {echo "
    VICIDIAL CONFERENZA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} else { - echo "
    VICIDIAL CONFERENZA AGGIUNTA\n"; + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL CONFERENZA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
    VICIDIAL CONFERENZA AGGIUNTA\n"; - $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } } } $ADD=31111111111111; @@ -13692,41 +14958,48 @@ if ($ADD==21111111111111) if ($ADD==221111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    ESITO DI DEFAULT NON AGGIUNTO - there is already a campaign-status in the system with this name: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); if ($row[0] > 0) - {echo "
    ESITO DI DEFAULT NON AGGIUNTO - there is already a global-status in the system with this name\n";} + {echo "
    ESITO DI DEFAULT NON AGGIUNTO - there is already a campaign-status in the system with this name: $row[0]\n";} else { - if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) - { - echo "
    ESITO DI DEFAULT NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    l`esito deve essere lungo tra 1 e 8 caratteri\n"; - echo "
    il nome dell`esito deve essere lungo tra i 2 e i 30 caratteri\n"; - } + $stmt="SELECT count(*) from vicidial_statuses where status='$status_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    ESITO DI DEFAULT NON AGGIUNTO - there is already a global-status in the system with this name\n";} else { - echo "
    ESITO DI DEFAULT AGGIUNTO: $status_name - $status_id\n"; + if ( (strlen($status_id) < 1) or (strlen($status_name) < 2) ) + { + echo "
    ESITO DI DEFAULT NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    l`esito deve essere lungo tra 1 e 8 caratteri\n"; + echo "
    il nome dell`esito deve essere lungo tra i 2 e i 30 caratteri\n"; + } + else + { + echo "
    ESITO DI DEFAULT AGGIUNTO: $status_name - $status_id\n"; - $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed) values('$status_id','$status_name','$selectable','$human_answered','$category','$sale','$dnc','$customer_contact','$not_interested','$unworkable','$scheduled_callbacks','$completed');"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status_id', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } } @@ -13740,43 +15013,50 @@ if ($ADD==221111111111111) if ($ADD==231111111111111) { - echo ""; - $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    CATEGORIA DI ESITI NON AGGIUNTA - Esiste gia` una categoria di esiti con questo ID: $row[0]\n";} + if ($add_copy_disabled > 0) + { + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } else { - if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) - { - echo "
    CATEGORIA DI ESITI NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    L` ID deve essere lungo tra i 2 e i 50 caratteri\n"; - echo "
    il nome deve essere lungo tra i 2 e i 50 caratteri\n"; - } + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CATEGORIA DI ESITI NON AGGIUNTA - Esiste gia` una categoria di esiti con questo ID: $row[0]\n";} else { - echo "
    STATUS CATEGORIA ADDED: $vsc_id - $vsc_name\n"; - - $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) { - $tovdad_display = 'N'; - echo "
    ERRORE: Ci sono gia` 4 Categorie di Stato attivi nel display TimeOnVDAD\n"; + echo "
    CATEGORIA DI ESITI NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    L` ID deve essere lungo tra i 2 e i 50 caratteri\n"; + echo "
    il nome deve essere lungo tra i 2 e i 50 caratteri\n"; } + else + { + echo "
    STATUS CATEGORIA ADDED: $vsc_id - $vsc_name\n"; - $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; - $rslt=mysql_query($stmt, $link); + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    ERRORE: Ci sono gia` 4 Categorie di Stato attivi nel display TimeOnVDAD\n"; + } - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATEGORIA', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATEGORIA', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } } } $ADD=331111111111111; @@ -13787,41 +15067,7 @@ if ($ADD==231111111111111) ###################### # ADD=241111111111111 adds the new qc status code to the system ###################### - -if ($ADD==241111111111111) - { - echo ""; - $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - {echo "
    QC CODICE STATO NON AGGIUNTO- vi è già un qc codice di stato del sistema con questo nome: $row[0]\n";} - else - { - if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) - { - echo "
    QC CODICE STATO NON AGGIUNTO- Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    codice deve essere compreso tra 1 e 8 caratteri di lunghezza\n"; - echo "
    nome in codice deve essere compreso tra 2 e 30 caratteri di lunghezza\n"; - } - else - { - echo "
    QC STATUS CODICE AGGIUNTO:$code_name - $code\n"; - - $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; - $rslt=mysql_query($stmt, $link); - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $ADD=341111111111111; - } +//Moved to qc/QC_status_codes_include.php include file @@ -13858,7 +15104,7 @@ if ($ADD=="4A") } echo "
    UTENTE MODIFICATO - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data' where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts' where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -14598,9 +15844,11 @@ if ($ADD==41) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $survey_camp_record_dir = '/home/survey'; $survey_dtmf_digits = '1238'; + $survey_wait_sec = '10'; $survey_first_audio_file = 'US_pol_survey_hello'; $survey_method = 'AGENT_XFER'; $survey_ni_audio_file = ''; @@ -14617,6 +15865,8 @@ if ($ADD==41) $call_count_target = '0'; $lead_order_randomize = 'N'; $lead_order_secondary = 'LEAD_ASCEND'; + $amd_inbound_group = ''; + $amd_callmenu = ''; } if ( (ereg('list_activation',$stage)) or (ereg('test_call',$stage)) ) { @@ -14683,13 +15933,17 @@ if ($ADD==41) else {$CIDstring = "$VqueryCID";} ### insert a NEW record to the vicidial_manager table to be processed - $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$SSactive_voicemail_server','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; + $stmtB = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$old_server_ip','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','VDACnote: $campaign_id|$lead_id|$phone_code|$phone_number|OUT|MAIN|99')"; $rslt=mysql_query($stmtB, $link); ### insert a SENT record to the vicidial_auto_calls table - $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$SSactive_voicemail_server','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; + $stmtC = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$old_server_ip','$campaign_id','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','MAIN','99')"; $rslt=mysql_query($stmtC, $link); + ### insert a record in the vicidial_dial_log table + $stmtD = "INSERT INTO vicidial_dial_log SET caller_code='$VqueryCID',lead_id='$lead_id',server_ip='$old_server_ip',call_date='$SQLdate',extension='$VDAD_dial_exten',channel='$local_DEF$Ndialstring$local_AMP$ext_context',timeout='$Local_dial_timeout',outbound_cid='$CIDstring',context='$ext_context';"; + $rslt=mysql_query($stmtD, $link); + ### LOG INSERTION Admin Log Table, for campaign ### $SQL_log = "$stmtA|$stmtB|$stmtC|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -14830,7 +16084,7 @@ if ($ADD==41) if (strlen($groups_value)>2) {$groups_value .= " -";} } - $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_rinfrescare='$campaign_stats_rinfrescare',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check' where campaign_id='$campaign_id';"; + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_trim_hopper='$auto_trim_hopper', use_auto_hopper='$use_auto_hopper', auto_hopper_multi='$auto_hopper_multi', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns=$closer_campaignsSQL,use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_rinfrescare='$campaign_stats_rinfrescare',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories',crm_popup_login='$crm_popup_login',crm_login_address='" . mysql_real_escape_string($crm_login_address) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',use_custom_cid='$use_custom_cid',scheduled_callbacks_alert='$scheduled_callbacks_alert',queuemetrics_callstatus_override='$queuemetrics_callstatus',extension_appended_cidname='$extension_appended_cidname',scheduled_callbacks_count='$scheduled_callbacks_count',manual_dial_override='$manual_dial_override',blind_monitor_warning='$blind_monitor_warning',blind_monitor_message='" . mysql_real_escape_string($blind_monitor_message) . "',blind_monitor_filename='$blind_monitor_filename',inbound_queue_no_dial='$inbound_queue_no_dial',timer_action_destination='$timer_action_destination',enable_xfer_presets='$enable_xfer_presets',hide_xfer_number_to_dial='$hide_xfer_number_to_dial',manual_dial_prefix='$manual_dial_prefix',customer_3way_hangup_logging='$customer_3way_hangup_logging',customer_3way_hangup_seconds='$customer_3way_hangup_seconds',customer_3way_hangup_action='$customer_3way_hangup_action',ivr_park_call='$ivr_park_call',ivr_park_call_agi='$ivr_park_call_agi',manual_preview_dial='$manual_preview_dial',realtime_agent_time_stats='$realtime_agent_time_stats',api_manual_dial='$api_manual_dial',manual_dial_call_time_check='$manual_dial_call_time_check',lead_order_randomize='$lead_order_randomize',lead_order_secondary='$lead_order_secondary',per_call_notes='$per_call_notes',my_callback_option='$my_callback_option',agent_lead_search='$agent_lead_search',agent_lead_search_method='$agent_lead_search_method',queuemetrics_phone_environment='$queuemetrics_phone_environment',auto_pause_precall='$auto_pause_precall',auto_resume_precall='$auto_resume_precall',auto_pause_precall_code='$auto_pause_precall_code',manual_dial_cid='$manual_dial_cid',post_phone_time_diff_alert='$post_phone_time_diff_alert',custom_3way_button_transfer='$custom_3way_button_transfer',available_only_tally_threshold='$available_only_tally_threshold',available_only_tally_threshold_agents='$available_only_tally_threshold_agents',dial_level_threshold='$dial_level_threshold',dial_level_threshold_agents='$dial_level_threshold_agents',safe_harbor_audio='$safe_harbor_audio',safe_harbor_menu_id='$safe_harbor_menu_id',callback_days_limit='$callback_days_limit',dl_diff_target_method='$dl_diff_target_method',disable_dispo_screen='$disable_dispo_screen',disable_dispo_status='$disable_dispo_status',screen_labels='$screen_labels',status_display_fields='$status_display_fields',na_call_url='" . mysql_real_escape_string($na_call_url) . "',pllb_grouping='$pllb_grouping',pllb_grouping_limit='$pllb_grouping_limit',call_count_limit='$call_count_limit',call_count_target='$call_count_target',callback_hours_block='$callback_hours_block',callback_list_calltime='$callback_list_calltime',user_group='$user_group',hopper_vlc_dup_check='$hopper_vlc_dup_check',in_group_dial='$in_group_dial',in_group_dial_select='$in_group_dial_select',safe_harbor_audio_field='$safe_harbor_audio_field',pause_after_next_call='$pause_after_next_call',owner_populate='$owner_populate',use_other_campaign_dnc='$use_other_campaign_dnc',allow_emails='$allow_emails',amd_inbound_group='$amd_inbound_group',amd_callmenu='$amd_callmenu' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmtA, $link); if ($reset_hopper == 'Y') @@ -15017,6 +16271,7 @@ if ($ADD==44) $queue_priority = '50'; $safe_harbor_exten = '8300'; $safe_harbor_audio = 'buzz'; + $safe_harbor_audio_field = 'DISABLED'; $safe_harbor_menu_id = ''; $voicemail_ext = ''; } @@ -15280,7 +16535,7 @@ if ($ADD=='40A') { echo "
    INDAGINE SETTINGS MODIFICATI: $campaign_id\n"; - $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording' where campaign_id='$campaign_id';"; + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext',survey_third_digit='$survey_third_digit',survey_fourth_digit='$survey_fourth_digit',survey_third_audio_file='$survey_third_audio_file',survey_fourth_audio_file='$survey_fourth_audio_file',survey_third_status='$survey_third_status',survey_fourth_status='$survey_fourth_status',survey_third_exten='$survey_third_exten',survey_fourth_exten='$survey_fourth_exten',survey_menu_id='$survey_menu_id',survey_recording='$survey_recording',survey_wait_sec='$survey_wait_sec' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15464,37 +16719,44 @@ if ($ADD==49) ##### ADD a NEW list mix ##### if ($stage=='NEWMIX') { - echo ""; - - if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + if ($add_copy_disabled > 0) { - echo "
    MIX LISTA NON AGGIUNTO- Per favore torna indietro e ricontrolla i dati inseriti\n"; - echo "
    vcl_id must be between 1 and 20 characters in length\n"; - echo "
    vcl_name must be at least 2 characters in length\n"; + echo "
    Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; } else { - $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) { - echo "
    MIX LISTA NON AGGIUNTO- Esiste gia` un mix di lista con questo ID\n"; + echo "
    MIX LISTA NON AGGIUNTO- Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name must be at least 2 characters in length\n"; } else { - $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    MIX LISTA NON AGGIUNTO- Esiste gia` un mix di lista con questo ID\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|"; - $SQL_log = ereg_replace(';','',$SQL_log); - $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA LIST MIX', event_sql=\"$SQL_log\", event_notes='Elenco Mix: $vcl_id';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN AGGIUNGI CAMPAGNA LIST MIX', event_sql=\"$SQL_log\", event_notes='Elenco Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); - echo "
    MIX LISTA AGGIUNTO: $campaign_id - $vcl_id - $vcl_name\n"; + echo "
    MIX LISTA AGGIUNTO: $campaign_id - $vcl_id - $vcl_name\n"; + } } } } @@ -15588,7 +16850,6 @@ if ($ADD==401) $stmt="UPDATE vicidial_xfer_presets SET preset_dtmf='$preset_dtmf',preset_number='$preset_number',preset_hide_number='$preset_hide_number' where campaign_id='$campaign_id' and preset_name='$preset_name';"; $rslt=mysql_query($stmt, $link); - ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15655,12 +16916,19 @@ if ($ADD==411) else { if (strlen($reset_time) < 4) {$reset_time='';} + if (strlen($expiration_date) < 10) {$expiration_date='2099-12-31';} echo "
    LISTA MODIFICATA: $list_id\n"; - $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report' where list_id='$list_id';"; + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate',reset_time='$reset_time',agent_script_override='$agent_script_override',campaign_cid_override='$campaign_cid_override',am_message_exten_override='$am_message_exten_override',drop_inbound_group_override='$drop_inbound_group_override',xferconf_a_number='$xferconf_a_number',xferconf_b_number='$xferconf_b_number',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',web_form_address='" . mysql_real_escape_string($web_form_address) . "',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',time_zone_setting='$time_zone_setting',inventory_report='$inventory_report',expiration_date='$expiration_date' where list_id='$list_id';"; $rslt=mysql_query($stmt, $link); +## BEGIN QC Addition for Audited Comments + $stmt="INSERT INTO vicidial_lists_custom (audit_comments, list_id) VALUES ('" . mysql_real_escape_string($audit_comments) . "','$list_id') ON DUPLICATE KEY UPDATE audit_comments='" . mysql_real_escape_string($audit_comments) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} +## END QC Addition for Audited Comments + ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); @@ -15705,7 +16973,7 @@ if ($ADD==411) # ADD=4111 modify in-group info in the system ###################### -if ($ADD==4111) +if ($ADD==4111 || $ADD==4811) { if ($SUB=='agents_select') { @@ -15867,7 +17135,7 @@ if ($ADD==4111) echo "
    GRUPPO MODIFICATO: $group_id\n"; - $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action' where group_id='$group_id';"; + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias',no_agent_no_queue='$no_agent_no_queue',no_agent_action='$no_agent_action',no_agent_action_value='$no_agent_action_value',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',timer_action='$timer_action',timer_action_message='$timer_action_message',timer_action_seconds='$timer_action_seconds',start_call_url='" . mysql_real_escape_string($start_call_url) . "',dispo_call_url='" . mysql_real_escape_string($dispo_call_url) . "',xferconf_c_number='$xferconf_c_number',xferconf_d_number='$xferconf_d_number',xferconf_e_number='$xferconf_e_number',ignore_list_script_override='$ignore_list_script_override',extension_appended_cidname='$extension_appended_cidname',uniqueid_status_display='$uniqueid_status_display',uniqueid_status_prefix='$uniqueid_status_prefix',hold_time_option_minimum='$hold_time_option_minimum',hold_time_option_press_filename='$hold_time_option_press_filename',hold_time_option_callmenu='$hold_time_option_callmenu',onhold_prompt_no_block='$onhold_prompt_no_block',onhold_prompt_seconds='$onhold_prompt_seconds',hold_time_option_no_block='$hold_time_option_no_block',hold_time_option_prompt_seconds='$hold_time_option_prompt_seconds',hold_time_second_option='$hold_time_second_option',hold_time_third_option='$hold_time_third_option',wait_hold_option_priority='$wait_hold_option_priority',wait_time_option='$wait_time_option',wait_time_second_option='$wait_time_second_option',wait_time_third_option='$wait_time_third_option',wait_time_option_seconds='$wait_time_option_seconds',wait_time_option_exten='$wait_time_option_exten',wait_time_option_voicemail='$wait_time_option_voicemail',wait_time_option_xfer_group='$wait_time_option_xfer_group',wait_time_option_callmenu='$wait_time_option_callmenu',wait_time_option_callback_filename='$wait_time_option_callback_filename',wait_time_option_callback_list_id='$wait_time_option_callback_list_id',wait_time_option_press_filename='$wait_time_option_press_filename',wait_time_option_no_block='$wait_time_option_no_block',wait_time_option_prompt_seconds='$wait_time_option_prompt_seconds',timer_action_destination='$timer_action_destination',calculate_estimated_hold_seconds='$calculate_estimated_hold_seconds',add_lead_url='" . mysql_real_escape_string($add_lead_url) . "',eht_minimum_prompt_filename='$eht_minimum_prompt_filename',eht_minimum_prompt_no_block='$eht_minimum_prompt_no_block',eht_minimum_prompt_seconds='$eht_minimum_prompt_seconds',on_hook_ring_time='$on_hook_ring_time',na_call_url='" . mysql_real_escape_string($na_call_url) . "',on_hook_cid='$on_hook_cid',action_xfer_cid='$action_xfer_cid',drop_callmenu='$drop_callmenu',after_hours_callmenu='$after_hours_callmenu',user_group='$user_group',max_calls_method='$max_calls_method',max_calls_count='$max_calls_count',max_calls_action='$max_calls_action',dial_ingroup_cid='$dial_ingroup_cid' where group_id='$group_id';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -15886,7 +17154,7 @@ if ($ADD==4111) exit; } } - $ADD=3111; # go to in-group modification form below + $ADD-=1000; #$ADD=3111; # go to in-group modification form below } @@ -15949,7 +17217,7 @@ if ($ADD==4511) { echo "
    CALL MENU MODIFICATI: $menu_id\n"; - $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group' where menu_id='$menu_id';"; + $stmt="UPDATE vicidial_call_menu set menu_name='$menu_name',menu_prompt='$menu_prompt',menu_timeout='$menu_timeout',menu_timeout_prompt='$menu_timeout_prompt',menu_invalid_prompt='$menu_invalid_prompt',menu_repeat='$menu_repeat',menu_time_check='$menu_time_check',call_time_id='$call_time_id',track_in_vdac='$track_in_vdac',custom_dialplan_entry='$custom_dialplan_entry',tracking_group='$tracking_group',dtmf_log='$dtmf_log',dtmf_field='$dtmf_field',user_group='$user_group',qualify_sql='$qualify_sql' where menu_id='$menu_id';"; $rslt=mysql_query($stmt, $link); $h=0; @@ -16289,6 +17557,39 @@ if ($ADD==411111) } $allowed_reports = preg_replace("/,$/","",$new_field_value); + # update allowed_camapigns with values that the editor cant see http://www.vicidial.org/VICIDIALforum/viewtopic.php?f=5&t=26101 + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $changer_allowed_campaigns = preg_replace("/ -/",'',$LOGallowed_campaigns); + $changer_allowed_campaigns = explode(" ", $changer_allowed_campaigns); + + $stmt="SELECT allowed_campaigns FROM vicidial_user_groups WHERE user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $old_allowed_rows = mysql_num_rows($rslt); + if ($old_allowed_rows > 0) + { + $row=mysql_fetch_row($rslt); + $old_allowed = $row[0]; + } + if ( (!eregi("-ALL",$old_allowed)) ) + { + $invis_campaigns=""; + $campaigns_value = preg_replace("/ -/",'',$campaigns_value); + $old_allowed = preg_replace("/ -/",'',$old_allowed); + $old_allowed = explode(" ", $old_allowed); + + foreach ($old_allowed as $oac) + { + if (!in_array($oac, $changer_allowed_campaigns)) + { + $invis_campaigns .= "$oac "; + } + } + $campaigns_value .= " $invis_campaigns-"; + } + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement',agent_status_viewable_groups='$VGROUP_vgroups',agent_status_view_time='$agent_status_view_time',agent_call_log_view='$agent_call_log_view',agent_xfer_consultative='$agent_xfer_consultative',agent_xfer_dial_override='$agent_xfer_dial_override',agent_xfer_vm_transfer='$agent_xfer_vm_transfer',agent_xfer_blind_transfer='$agent_xfer_blind_transfer',agent_xfer_dial_with_customer='$agent_xfer_dial_with_customer',agent_xfer_park_customer_dial='$agent_xfer_park_customer_dial',agent_fullscreen='$agent_fullscreen',allowed_reports='$allowed_reports',webphone_url_override='" . mysql_real_escape_string($webphone_url_override) . "',webphone_systemkey_override='$webphone_systemkey_override',webphone_dialpad_override='$webphone_dialpad_override',admin_viewable_groups='$Vadmin_viewable_groups',admin_viewable_call_times='$Vadmin_viewable_call_times' where user_group='$OLDuser_group';"; $rslt=mysql_query($stmt, $link); @@ -16576,7 +17877,7 @@ if ($ADD==4111111111) $SQL_log = "$stmt|"; $SQL_log = ereg_replace(';','',$SQL_log); $SQL_log = addslashes($SQL_log); - $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); } @@ -16590,6 +17891,48 @@ if ($ADD==4111111111) } +###################### +# ADD=4211111111 modify holiday in the system +###################### + +if ($ADD==4211111111) + { + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or (strlen($holiday_name) < 2) or (strlen($holiday_date) < 10) ) + { + echo "
    VACANZA NON MODIFICATI - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    ID di vacanza, il nome e la data devono essere occupati\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $stmt="UPDATE vicidial_call_time_holidays set holiday_name='$holiday_name', holiday_comments='$holiday_comments', holiday_date='$holiday_date', holiday_status='$holiday_status', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop',user_group='$user_group', default_afterhours_filename_override='$default_afterhours_filename_override' where holiday_id='$holiday_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    VACANZA MODIFICATA\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='MODIFY', record_id='$holiday_id', event_code='ADMIN MODIFY HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + $ADD=3211111111; # go to holiday modification form below + } + + ###################### # ADD=431111111 modify shift in the system ###################### @@ -16664,7 +18007,7 @@ if ($ADD==41111111111) { echo "
    TELEFONO MODIFICATO: $extension\n"; - $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_rinfrescare='$enable_fast_rinfrescare', fast_rinfrescare_rate='$fast_rinfrescare_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where extension='$old_extension' and server_ip='$old_server_ip';"; + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_rinfrescare='$enable_fast_rinfrescare', fast_rinfrescare_rate='$fast_rinfrescare_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override',phone_context='$phone_context',phone_ring_timeout='$phone_ring_timeout',conf_secret='$conf_secret', delete_vm_after_email='$delete_vm_after_email',is_webphone='$is_webphone',use_external_server_ip='$use_external_server_ip',codecs_list='$codecs_list',codecs_with_template='$codecs_with_template',webphone_dialpad='$webphone_dialpad',on_hook_agent='$on_hook_agent',webphone_auto_answer='$webphone_auto_answer',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where extension='$old_extension' and server_ip='$old_server_ip';"; $rslt=mysql_query($stmt, $link); $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; @@ -17115,15 +18458,18 @@ if ($ADD==471111111111) {echo "
    VOICEMAIL BOX NON MODIFICATI - Per favore torna indietro e ricontrolla i dati inseriti\n";} else { - $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group' where voicemail_id='$voicemail_id';"; + $stmt="UPDATE vicidial_voicemail set fullname='$fullname',active='$active',pass='$pass',email='$email',delete_vm_after_email='$delete_vm_after_email',voicemail_timezone='$voicemail_timezone',voicemail_options='$voicemail_options',user_group='$user_group',voicemail_greeting='$voicemail_greeting' where voicemail_id='$voicemail_id';"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|";} $stmt="SELECT active_voicemail_server from system_settings;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $active_voicemail_server = $row[0]; - $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; + $sounds_updateSQL=''; + if ($SSallow_voicemail_greeting > 0) {$sounds_updateSQL = ",sounds_update='Y'";} + $stmtA="UPDATE servers SET rebuild_conf_files='Y'$sounds_updateSQL where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$active_voicemail_server';"; $rslt=mysql_query($stmtA, $link); echo "
    VOICEMAIL BOX MODIFICATI: $voicemail_id\n"; @@ -17334,7 +18680,7 @@ if ($ADD==411111111111111) } $tables_use_alt_log_db = preg_replace("/,$/","",$new_altlog_value); - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_rinfrescare='$admin_modify_rinfrescare',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled';"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysql_real_escape_string($webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',custom_dialplan_entry='$custom_dialplan_entry',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_rinfrescare='$admin_modify_rinfrescare',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add';"; $rslt=mysql_query($stmt, $link); if ($reload_dialplan_on_servers > 0) @@ -17934,6 +19280,30 @@ if ($ADD==5111111111) $ADD='3111111111'; # go to state call time modification below } + +###################### +# ADD=5211111111 confirmation before deletion of holiday record +###################### + +if ($ADD==5211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    VACANZA NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    ID vacanza deve essere di almeno 2 caratteri\n"; + } + else + { + echo "
    VACANZA CANCELLAZIONE CONFERMA: $holiday_id\n"; + echo "

    Clicca qui per cancellare vacanza $holiday_id


    \n"; + } + + $ADD='3211111111'; # go to holiday modification below + } + + ###################### # ADD=531111111 confirmation before deletion of shift record ###################### @@ -19413,6 +20783,64 @@ if ($ADD==6111111111) } +###################### +# ADD=6211111111 delete holiday record +###################### + +if ($ADD==6211111111) + { + echo ""; + + if ( (strlen($holiday_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    VACANZA NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    ID vacanza deve essere di almeno 2 caratteri\n"; + } + else + { + $stmtA="DELETE from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="SELECT call_time_id,ct_holidays from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_ids[$o] = "$rowx[0]"; + $hct_holidays[$o] = "$rowx[1]"; + $o++; + } + $o=0; + while ($hct_to_print > $o) + { + $hct_holidays[$o] = eregi_replace("\|$holiday_id\|",'|',$hct_holidays[$o]); + $stmt="UPDATE vicidial_call_times set ct_holidays='$hct_holidays[$o]' where call_time_id='$hct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "|$stmt|\n";} + echo "Vacanze Rule Rimosso: $hct_ids[$o]
    \n"; + $o++; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='HOLIDAYS', event_type='DELETE', record_id='$holiday_id', event_code='ADMIN DELETE HOLIDAY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    CANCELLAZIONE VACANZA COMPLETATO: $holiday_id\n"; + echo "

    \n"; + } + + $ADD='1200000000'; # go to holidays list + } + + ###################### # ADD=631111111 delete shift record ###################### @@ -19988,7 +21416,7 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -20181,6 +21611,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -20193,7 +21630,7 @@ if ($ADD==3) echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -20291,6 +21728,13 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; + if ($SSallow_emails > 0) { + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -20388,7 +21832,7 @@ if ($ADD==31) $enable_vtiger_integration_LU = $row[0]; $vtiger_url_LU = $row[1]; - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $campaign_name = $row[1]; @@ -20595,6 +22039,16 @@ if ($ADD==31) $callback_list_calltime = $row[202]; $user_group = $row[203]; $hopper_vlc_dup_check = $row[204]; + $in_group_dial = $row[205]; + $in_group_dial_select = $row[206]; + $safe_harbor_audio_field = $row[207]; + $pause_after_next_call = $row[208]; + $owner_populate = $row[209]; + $use_other_campaign_dnc = $row[210]; + $allow_emails = $row[211]; + $amd_inbound_group = $row[212]; + $amd_callmenu = $row[213]; + $survey_wait_sec = $row[214]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -20748,6 +22202,7 @@ if ($ADD==31) $nxLOGadmin_viewable_groupsSQL = $LOGadmin_viewable_groupsSQL; if (strlen($xfer_groupsSQL) < 6) {$nxLOGadmin_viewable_groupsSQL = $whereLOGadmin_viewable_groupsSQL;} + ##### get in-groups listings for dynamic transfer group pulldown list menu $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL $nxLOGadmin_viewable_groupsSQL order by group_id;"; $rslt=mysql_query($stmt, $link); @@ -20772,6 +22227,54 @@ if ($ADD==31) else {$Xgroups_menu .= "\n";} + ##### get in-groups listings for dynamic AMD inbound group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $AMDgroups_to_print = mysql_num_rows($rslt); + $AMDgroups_menu=''; + $AMDgroups_selected=0; + $o=0; + while ($AMDgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDgroups_menu .= "\n"; + $o++; + } + if ($AMDgroups_selected < 1) + {$AMDgroups_menu .= "\n";} + else + {$AMDgroups_menu .= "\n";} + + ##### get callmenus listings for dynamic AMD callmenu pulldown list menu + $stmt="SELECT menu_id from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $AMDmenus_to_print = mysql_num_rows($rslt); + $AMDmenus_menu=''; + $AMDmenus_selected=0; + $o=0; + while ($AMDmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AMDmenus_menu .= "\n"; + $o++; + } + if ($AMDmenus_selected < 1) + {$AMDmenus_menu .= "\n";} + else + {$AMDmenus_menu .= "\n";} + ##### get agent screen label listings for dynamic pulldown list menu $stmt="SELECT label_id,label_name from vicidial_screen_labels where active='Y' $LOGadmin_viewable_groupsSQL order by label_id;"; $rslt=mysql_query($stmt, $link); @@ -20872,10 +22375,10 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -20884,7 +22387,7 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-user_group$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; if ($SSenable_second_webform > 0) { @@ -20892,7 +22395,14 @@ if ($ADD==31) } echo "\n"; echo "\n"; - + if ($SSallow_emails > 0) + { + echo "\n"; + } + else + { + echo "\n"; + } if ($SSoutbound_autodial_active > 0) { echo "\n"; @@ -21296,9 +22806,26 @@ if ($ADD==31) echo "\n"; echo "$NWB#vicidial_campaigns-local_call_time$NWE\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) { - echo "\n"; + echo "\n"; } echo "\n"; @@ -21326,11 +22853,11 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21352,7 +22879,7 @@ if ($ADD==31) {$cfwHTML = '';} echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; } echo "\n"; @@ -21430,11 +22967,13 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -21479,19 +23020,21 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; + + echo "\n"; if ($SSuser_territories_active > 0) { echo "\n"; } - echo "\n"; + echo "\n"; } if ( ($screen_labels=='--SYSTEM-SETTINGS--') or (strlen($screen_labels)<2) ) {$ASLlink = "$PHP_SELF?ADD=311111111111111";} else {$ASLlink = "$PHP_SELF?ADD=381111111111&label_id=$screen_labels";} echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21505,9 +23048,11 @@ if ($ADD==31) echo "\n"; + echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -21521,6 +23066,10 @@ if ($ADD==31) echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; if ($SSoutbound_autodial_active > 0) @@ -21630,7 +23179,7 @@ if ($ADD==31) echo "\n"; - echo "\n"; + echo "\n"; if ($campaign_allow_inbound == 'Y') { @@ -21691,7 +23240,9 @@ if ($ADD==31) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -21701,7 +23252,7 @@ if ($ADD==31) echo ""; echo "\n"; echo "\n"; - echo ""; + echo ""; echo ""; echo "\n"; echo "\n"; @@ -21733,21 +23284,27 @@ if ($ADD==31) echo ""; + echo ""; echo "\n"; $o++; } - echo "\n"; + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $user_id = $row[0]; @@ -20087,6 +21515,8 @@ if ($ADD==3) $modify_same_user_level = $row[95]; $admin_hide_lead_data = $row[96]; $admin_hide_phone_data = $row[97]; + $agentcall_email = $row[98]; + $modify_email_accounts = $row[99]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -20147,7 +21577,7 @@ if ($ADD==3) echo "
    Login Telefono: $NWB#vicidial_users-phone_login$NWE
    Password Telefono: $NWB#vicidial_users-phone_pass$NWE
    Attivo: $NWB#vicidial_users-active$NWE
    Casella Vocale ID: voicemail chooser$NWB#vicidial_users-voicemail_id$NWE
    Casella Vocale ID: voicemail chooser$NWB#vicidial_users-voicemail_id$NWE
    Email:$NWB#vicidial_users-optional$NWE
    Utente Code: $NWB#vicidial_users-optional$NWE
    Main Territorio: $NWB#vicidial_users-optional$NWE
    Servicios repetidos Programar: $NWB#vicidial_users-scheduled_callbacks$NWE
    Richiami esclusivi dell`operatore: $NWB#vicidial_users-agentonly_callbacks$NWE
    Chiamata Manuale Operatore: $NWB#vicidial_users-agentcall_manual$NWE
    Agent Call Email:$NWB#vicidial_users-agentcall_email$NWE
    Registrazione Vicidial: $NWB#vicidial_users-vicidial_recording$NWE
    Trasferimenti Vicidial: $NWB#vicidial_users-vicidial_transfers$NWE
    Agente Maiusc esecuzione Sovrascrive: $NWB#vicidial_users-agent_shift_enforcement_override$NWE
    Call Agent View Log Override: $NWB#vicidial_users-agent_call_log_view_override$NWE
    Agente di piombo Override Search: $NWB#vicidial_users-agent_lead_search_override$NWE
    Agente di piombo Override Search: $NWB#vicidial_users-agent_lead_search_override$NWE
    Alert Attivato: $alert_enabled $NWB#vicidial_users-alert_enabled$NWE
    Modificare Maiuscs: $NWB#vicidial_users-modify_sections$NWE
    ModificareCellulari: $NWB#vicidial_users-modify_sections$NWE
    ModificareVettori: $NWB#vicidial_users-modify_sections$NWE
    Modifica Account di posta elettronica: $NWB#vicidial_users-modify_email_accounts$NWE
    ModificareLabels: $NWB#vicidial_users-modify_sections$NWE
    ModificareEsiti: $NWB#vicidial_users-modify_sections$NWE
    ModificareCasella Vocale: $NWB#vicidial_users-modify_sections$NWE
    Descrizione Campagna: $NWB#vicidial_campaigns-campaign_description$NWE
    Campagna Cambia Data: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Campagna Login Data: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Campagna Call Date: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    Campagna Chiama Data: $campaign_calldate   $NWB#vicidial_campaigns-campaign_calldate$NWE
    \n"; - horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1); + horizontal_bar_chart($campaign_id,'8','campaign',$link,'total_calls','call count',1,'',''); echo "
    Attivo: $NWB#vicidial_campaigns-active$NWE
    Parco della Musica-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Parco della Musica-on-Hold: moh chooser $NWB#vicidial_campaigns-park_ext$NWE
    Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
    Web Form Target: $NWB#vicidial_campaigns-web_form_target$NWE
    Permitir Closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Consenti email: $NWB#vicidial_campaigns-allow_emails$NWE
    Permita de entrada y mezclado:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    \n"; + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$local_call_time';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_state_call_times = $rowx[0]; + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + if ($ct_srs < 0) {$ct_hrs=0;} + echo "Norme statali definite per questa volta chiamata: $ct_srs\n"; + } + else + {echo "Call time not found!: $local_call_time\n";} + echo "
    Timeout Chiamata: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
    Timeout Chiamata: in secondi$NWB#vicidial_campaigns-dial_timeout$NWE
    Prefisso Chiamata: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
    Nome Registrazioni Per Questa Campagna: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
    Ritardo Registrazione: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
    Ritardo Registrazione: in secondi$NWB#vicidial_campaigns-allcalls_delay$NWE
    Chiama Note per chiamata: $NWB#vicidial_campaigns-per_call_notes$NWE
    Agente di piombo Search: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Agente di piombo Search: $NWB#vicidial_campaigns-agent_lead_search$NWE
    Agente di piombo Metodo di ricerca: $NWB#vicidial_campaigns-agent_lead_search_method$NWE
    Esegui all`avvio della telefonata: $NWB#vicidial_campaigns-get_call_launch$NWE
    Messaggio Segreteria Telefonica: audio chooser $NWB#vicidial_campaigns-am_message_exten$NWE\n"; + echo "
    Messaggio Segreteria Telefonica: audio chooser $NWB#vicidial_campaigns-am_message_exten$NWE\n"; $stmt="SELECT count(*) from vicidial_lists where campaign_id='$campaign_id' and am_message_exten_override != '' and active='Y' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $rowx=mysql_fetch_row($rslt); @@ -21364,9 +22891,19 @@ if ($ADD==31) if ($SSoutbound_autodial_active > 0) { - echo "
    AMD envían a la VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    AMD invia ad azione: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    CPD AMD Azione: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    CPD AMD Azione: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    AMD Inbound Gruppo: $NWB#vicidial_campaigns-amd_inbound_group$NWE\n"; + echo "
    AMD chiamata Menu: $NWB#vicidial_campaigns-amd_callmenu$NWE\n"; + echo "
    Transfiera -Conf DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Interno Messaggio Telefonata Abbattuta: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
    Safe Harbor Audio: audio chooser $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbor Audio: audio chooser $NWB#vicidial_campaigns-safe_harbor_audio$NWE
    Safe Harbor Audio Campo: $NWB#vicidial_campaigns-safe_harbor_audio_field$NWE
    Safe Harbor Menu chiamata: $NWB#vicidial_campaigns-safe_harbor_menu_id$NWE
    Casella Vocale: voicemail chooser$NWB#vicidial_campaigns-voicemail_ext$NWE
    Casella Vocale: voicemail chooser$NWB#vicidial_campaigns-voicemail_ext$NWE
    Trasferimento Drop Group:
    Usa campagna DNC Elenco: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
    Altra Campagna DNC: $NWB#vicidial_campaigns-use_other_campaign_dnc$NWE
    AgentCodici PausaAttivo: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
    Auto Pause Pre-Call Work: $NWB#vicidial_campaigns-auto_pause_precall$NWE
    N. Dialing Hopper: $NWB#vicidial_campaigns-no_hopper_dialing$NWE
    Unico proprietario Dialing: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Unico proprietario Dialing: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
    Proprietario Popola: $NWB#vicidial_campaigns-owner_populate$NWE
    Agente Seleziona Territori: $NWB#vicidial_campaigns-agent_select_territories$NWE
    Agent Visualizzare Dialable Leads: $NWB#vicidial_campaigns-agent_display_dialable_leads$NWE
    Agente di visualizzazione Leads componibile: $NWB#vicidial_campaigns-agent_display_dialable_leads$NWE
    Agente schermo etichette: $NWB#vicidial_campaigns-screen_labels$NWE
    Visualizzazione dello stato Fields: $NWB#vicidial_campaigns-status_display_fields$NWE
    Visualizzazione dello stato Fields: $NWB#vicidial_campaigns-status_display_fields$NWE
    Agente Mostra Coda Count:$NWB#vicidial_campaigns-display_queue_count$NWE
    Agente di pausa dopo ogni chiamata: $NWB#vicidial_campaigns-pause_after_each_call$NWE
    Agente Pausa Dopo Pross.selezione link: $NWB#vicidial_campaigns-pause_after_next_call$NWE
    Selezione manuale Override: $NWB#vicidial_campaigns-manual_dial_override$NWE
    ID Lista Chiamate Manuali:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    ID Lista Chiamate Manuali:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Manuale Dial Filtro:$NWB#vicidial_campaigns-manual_dial_filter$NWE
    Phone messaggio Ora Alert Difference: $NWB#vicidial_campaigns-post_phone_time_diff_alert$NWE
    In-Group Selezione manuale: $NWB#vicidial_campaigns-in_group_dial$NWE
    In-Group Selezione manuale Select: $NWB#vicidial_campaigns-in_group_dial_select$NWE
    Appunti di agente Schermata Copia: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
    Cieco Monitor Notice: $NWB#vicidial_campaigns-blind_monitor_message$NWE
    Cieco Monitor Filename: audio chooser $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    Cieco Monitor Filename: audio chooser $NWB#vicidial_campaigns-blind_monitor_filename$NWE
    NOME LISTADESCRIZIONEPORTA CONTEATTIVOATTIVODATA ULTIMA CHIAMATAMODIFICA
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]MODIFICA

    \n"; $filterSQL = $filtersql_list[$lead_filter_id]; $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -21806,7 +23363,7 @@ if ($ADD==31) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -21964,6 +23521,18 @@ if ($ADD==31) { if ( ($SStest_campaign_calls > 0) and ($campaign_active == 'Y') ) { + ##### get list of active asterisk server for dynamic pulldown list menu + $stmt="SELECT server_id,server_ip from servers where active='Y' and active_asterisk_server='Y' $LOGadmin_viewable_groupsSQL order by server_id;"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_menu="\n"; + $os=0; + while ($servers_to_print > $os) + { + $rowx=mysql_fetch_row($rslt); + $servers_menu .= "\n"; + $os++; + } echo "
    \n"; echo "\n"; echo "\n"; @@ -21976,8 +23545,9 @@ if ($ADD==31) echo "\n"; echo "\n"; echo "Prova chiamate in uscita: "; - echo "code:   "; - echo "number:   "; + echo "code:   "; + echo "numero:   "; + echo "server:   "; echo "   $NWB#settings-test_campaign_calls$NWE


    \n"; } else @@ -22169,8 +23739,10 @@ if ($ADD==31) echo "   \n"; echo "Esito:   \n"; echo "
    \n"; echo "
    \n"; @@ -22449,10 +24021,11 @@ if ($ADD==31) echo "
    Indagine primo file audio: audio chooser $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Indagine sulle cifre DTMF: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
    Indagine non interessa Digit: $NWB#vicidial_campaigns-survey_ni_digit$NWE
    Indagine Attendere Secondi: $NWB#vicidial_campaigns-survey_wait_sec$NWE
    Indagine Opt-in File Audio: audio chooser $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Indagine non interessa File Audio: audio chooser $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Indagine Metodo: $NWB#vicidial_campaigns-survey_method$NWE
    Indagine n.-Azione di risposta: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Indagine n.-Azione di risposta: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Indagine Stato non è interessato: $NWB#vicidial_campaigns-survey_ni_status$NWE
    Terza indagine Digit: $NWB#vicidial_campaigns-survey_third_digit$NWE
    Web Form: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
    Permitir Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
    Grupo De la Transferencia Del Defecto:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
    Consenti email: $allow_emails $NWB#vicidial_campaigns-allow_emails$NWE
    Permita de entrada y mezclado:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    NOME LISTADESCRIZIONEPORTA CONTEATTIVOATTIVODATA ULTIMA CHIAMATAMODIFICA
    "; + if ($row[7] < $EXPtestdate) + {echo "EXP";} + else + {echo " ";} echo " $row[5]MODIFICA

    \n"; echo "
    \n"; @@ -23188,7 +24775,7 @@ if ($ADD==34) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} @@ -24156,8 +25743,9 @@ if ($ADD==311) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + + echo "\n"; + + if($audit_comments=='1') { + echo "\n"; + } else { + echo "\n"; + } echo "\n"; echo "\n"; @@ -24342,7 +25962,7 @@ if ($ADD==311) $filterSQL = preg_replace("/\\\\/","",$filterSQL); $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); if (strlen($filterSQL)>4) - {$fSQL = "and $filterSQL";} + {$fSQL = "and ($filterSQL)";} else {$fSQL = '';} } @@ -24901,7 +26521,7 @@ if ($ADD==3111) echo "
    \n"; echo ""; - $stmt="SELECT list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report from vicidial_lists where list_id='$list_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT vicidial_lists.list_id,list_name,campaign_id,active,list_description,list_changedate,list_lastcalldate,reset_time,agent_script_override,campaign_cid_override,am_message_exten_override,drop_inbound_group_override,xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,time_zone_setting,inventory_report,IFNULL(audit_comments,0),expiration_date,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists left outer join vicidial_lists_custom on vicidial_lists.list_id=vicidial_lists_custom.list_id where vicidial_lists.list_id='$list_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} $row=mysql_fetch_row($rslt); $list_name = $row[1]; $campaign_id = $row[2]; @@ -24179,6 +25767,9 @@ if ($ADD==311) $web_form_address_two = $row[18]; $time_zone_setting = $row[19]; $inventory_report = $row[20]; + $audit_comments = $row[21]; + $expiration_date = $row[22]; + $expiration_dateINT = $row[23]; # grab names of global statuses and statuses in the selected campaign $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed from vicidial_statuses order by status;"; @@ -24247,7 +25838,7 @@ if ($ADD==311) {$Dgroups_menu .= "\n";} - echo "
    MODIFICA I DATI DELLA LISTA: $list_id
    \n"; + echo "
    MODIFICA I DATI DELLA LISTA: $list_id\n"; echo "\n"; echo "\n"; echo "\n"; @@ -24271,9 +25862,38 @@ if ($ADD==311) echo "$campaigns_list"; echo "\n"; echo "$NWB#vicidial_lists-campaign_id$NWE
    Attivo: $NWB#vicidial_lists-active$NWE
    Attivo: $NWB#vicidial_lists-active$NWE \n"; + if ( ($expiration_dateINT < $EXPtestdate) and ($active == 'Y') ) + {echo "     ELENCO SCADUTO e impostare su ATTIVA";} + echo "
    Resetta questa lista allo stato di `contatti non chiamati`: $NWB#vicidial_lists-reset_list$NWE
    Reset Times: $NWB#vicidial_lists-reset_time$NWE
    Data di Scadenza: \n"; + echo " $NWB#vicidial_lists-expiration_date$NWE \n"; + if ($expiration_dateINT < $EXPtestdate) + { + if ($active == 'Y') + {echo "     ELENCO SCADUTO e impostare su ATTIVA";} + else + {echo "     LIST EXPIRED";} + } + echo "
    Audit Commenti: $NWB#vicidial_lists-audit_comments$NWE
    Audit Commenti: $NWB#vicidial_lists-audit_comments$NWE
    Data Modifica Lista: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    Data Ultima Telefonata $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25361,7 +27000,7 @@ if ($ADD==3111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25381,21 +27020,21 @@ if ($ADD==3111) echo "$Wmenuslist"; echo "$NWB#vicidial_inbound_groups-wait_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25415,23 +27054,23 @@ if ($ADD==3111) echo "$Xmenuslist"; echo "$NWB#vicidial_inbound_groups-hold_time_option_callmenu$NWE\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -25464,6 +27103,8 @@ if ($ADD==3111) echo "$group_alias_menu"; echo "$NWB#vicidial_inbound_groups-default_group_alias$NWE\n"; + echo "\n"; + echo "\n"; @@ -25890,6 +27531,708 @@ if ($ADD==3111) +###################### +# ADD=3811 modify in-group info in the system +###################### + +if ($ADD==3811) + { + if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + { + if ( ($SSadmin_modify_rinfrescare > 1) and ($modify_rinfrescare_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3811&group_id=$group_id"; + $modify_footer_rinfrescare=1; + } + echo "
    \n"; echo ""; - $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -25016,6 +26636,8 @@ if ($ADD==3111) $max_calls_method = $row[109]; $max_calls_count = $row[110]; $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; ##### get callmenu listings for dynamic pulldown $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; @@ -25155,7 +26777,7 @@ if ($ADD==3111) echo "
    In-Group Calldate: $group_calldate$NWB#vicidial_inbound_groups-group_calldate$NWE
    \n"; - horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1,'',''); echo "
    Admin Gruppo Utente:
    Gota Exten: $NWB#vicidial_inbound_groups-drop_exten$NWE
    Casella Vocale: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Casella Vocale: voicemail chooser$NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Drop Transfer Group: $NWB#vicidial_inbound_groups-call_time_id$NWE
    \n"; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "Vacanze defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!: $call_time_id\n";} + echo "
    Azione Transfer CID: $NWB#vicidial_inbound_groups-action_xfer_cid$NWE
    Despue`s De la Accio`n De las Horas:$NWB#vicidial_inbound_groups-after_hours_action$NWE
    Despue`s De Nombre de fichero Del Mensaje De las Horas: audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Despue`s De Nombre de fichero Del Mensaje De las Horas: audio chooser $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    Despue`s De la Extension De las Horas:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
    Despue`s De las Horas Casella Vocale: voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    Despue`s De las Horas Casella Vocale: voicemail chooser$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    After Hours Transfer Group: \n"; echo "
    Metodo di ricerca: \n"; - echo "   ID Lista: "; + echo "   ID Lista: "; echo "
    ID Campagna: \n"; echo "   Phone Code: "; @@ -25316,7 +26955,7 @@ if ($ADD==3111) { if (strlen($no_agent_action_value) < 3) {$no_agent_action_value = 'nbdy-avail-to-take-call|vm-goodbye';} - echo "file Audio: audio chooser\n"; + echo "file Audio: audio chooser\n"; } if ($no_agent_action=='EXTENSION') { @@ -25329,7 +26968,7 @@ if ($ADD==3111) } if ($no_agent_action=='VOICEMAIL') { - echo "Buzon de voz: voicemail chooser\n"; + echo "Buzon de voz: voicemail chooser\n"; } echo " @@ -25341,13 +26980,13 @@ if ($ADD==3111) echo "
    Max chiamate Azione: $NWB#vicidial_inbound_groups-max_calls_action$NWE
    Nombre de fichero Agradable Del Mensaje: audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Nombre de fichero Agradable Del Mensaje: audio chooser $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Lettura del messaggio di benvenuto:$NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Context Musica di Attesa: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    Context Musica di Attesa: moh chooser $NWB#vicidial_inbound_groups-moh_context$NWE
    En Nombre de fichero Del Aviso Del Asimiento: audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    En Nombre de fichero Del Aviso Del Asimiento: audio chooser $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    En Intervalo Del Aviso Del Asimiento:$NWB#vicidial_inbound_groups-prompt_interval$NWE
    Calcolare Secondi Attesa stimato: $NWB#vicidial_inbound_groups-calculate_estimated_hold_seconds$NWE
    Tenere minimo stimato Filename Tempo: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Tenere minimo stimato Filename Tempo: audio chooser $NWB#vicidial_inbound_groups-eht_minimum_prompt_filename$NWE
    Tempo di attesa stimato minimo Prompt No Block: $NWB#vicidial_inbound_groups-eht_minimum_prompt_no_block$NWE
    Attendere Opzione Casella Vocale Tempo: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Attendere Opzione Casella Vocale Tempo: voicemail chooser $NWB#vicidial_inbound_groups-wait_time_option_voicemail$NWE
    Attendere Opzione Transfer Time In-Gruppo: $NWB#vicidial_inbound_groups-wait_time_option_xfer_group$NWE
    Attendere opzione filename Tempo Press: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Attendere opzione filename Tempo Press: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_press_filename$NWE
    Attendere Opzione Press Tempo No Block: $NWB#vicidial_inbound_groups-wait_time_option_no_block$NWE
    Attendere opzione di secondi Nome del file Stampa: $NWB#vicidial_inbound_groups-wait_time_option_prompt_seconds$NWE
    Attendere opzione Time After Nome Press: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Attendere opzione Time After Nome Press: audio chooser $NWB#vicidial_inbound_groups-wait_time_option_callback_filename$NWE
    Attendere Opzione Tempo ID Callback List: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Attendere Opzione Tempo ID Callback List: $NWB#vicidial_inbound_groups-wait_time_option_callback_list_id$NWE
    Attendere Tenere Priority Opzione: $NWB#vicidial_inbound_groups-wait_hold_option_priority$NWE
    Tenere Tempo Opzione Segreteria: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Tenere Tempo Opzione Segreteria: voicemail chooser $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Tenere Opzione Tempo trasferimento in gruppo:$NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Tenere opzione filename Tempo Press: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Tenere opzione filename Tempo Press: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_press_filename$NWE
    Tenere Opzione Press Tempo No Block: $NWB#vicidial_inbound_groups-hold_time_option_no_block$NWE
    Tenere opzione di secondi Nome del file Stampa: $NWB#vicidial_inbound_groups-hold_time_option_prompt_seconds$NWE
    Tenere Opzione Time After Nome Press: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Tenere Opzione Time After Nome Press: audio chooser $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Tenere Opzione Tempo richiamata Elenco ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Tenere Opzione Tempo richiamata Elenco ID:$NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Agente Alert Filename: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agente Alert Filename: audio chooser $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    La Alarma Del Agente Retrasa:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Dial-In Group CID: $NWB#vicidial_inbound_groups-dial_ingroup_cid$NWE
    Tenere Ricorda Trasferimento in gruppo:$NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias,no_agent_no_queue,no_agent_action,no_agent_action_value,web_form_address_two,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,ignore_list_script_override,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,timer_action_destination,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename, eht_minimum_prompt_no_block,eht_minimum_prompt_seconds,on_hook_ring_time,na_call_url,on_hook_cid,group_calldate,action_xfer_cid,drop_callmenu,after_hours_callmenu,user_group,max_calls_method,max_calls_count,max_calls_action,dial_ingroup_cid,group_handling from vicidial_inbound_groups where group_id='$group_id' $LOGadmin_viewable_groupsSQL;"; + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = stripslashes($row[4]); + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = stripslashes($row[39]); + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + $default_group_alias = $row[55]; + $no_agent_no_queue = $row[56]; + $no_agent_action = $row[57]; + $no_agent_action_value = $row[58]; + $web_form_address_two = stripslashes($row[59]); + $timer_action = $row[60]; + $timer_action_message = $row[61]; + $timer_action_seconds = $row[62]; + $start_call_url = $row[63]; + $dispo_call_url = $row[64]; + $ignore_list_script_override = $row[68]; + $extension_appended_cidname = $row[69]; + $uniqueid_status_display = $row[70]; + $uniqueid_status_prefix = $row[71]; + $hold_time_option_minimum = $row[72]; + $hold_time_option_press_filename = $row[73]; + $hold_time_option_callmenu = $row[74]; + $onhold_prompt_no_block = $row[75]; + $onhold_prompt_seconds = $row[76]; + $hold_time_option_no_block = $row[77]; + $hold_time_option_prompt_seconds = $row[78]; + $hold_time_second_option = $row[79]; + $hold_time_third_option = $row[80]; + $wait_hold_option_priority = $row[81]; + $wait_time_option = $row[82]; + $wait_time_second_option = $row[83]; + $wait_time_third_option = $row[84]; + $wait_time_option_seconds = $row[85]; + $wait_time_option_exten = $row[86]; + $wait_time_option_voicemail = $row[87]; + $wait_time_option_xfer_group = $row[88]; + $wait_time_option_callmenu = $row[89]; + $wait_time_option_callback_filename = $row[90]; + $wait_time_option_callback_list_id = $row[91]; + $wait_time_option_press_filename = $row[92]; + $wait_time_option_no_block = $row[93]; + $wait_time_option_prompt_seconds = $row[94]; + $timer_action_destination = $row[95]; + $calculate_estimated_hold_seconds = $row[96]; + $add_lead_url = $row[97]; + $eht_minimum_prompt_filename = $row[98]; + $eht_minimum_prompt_no_block = $row[99]; + $eht_minimum_prompt_seconds = $row[100]; + $na_call_url = $row[102]; + $group_calldate = $row[104]; + $action_xfer_cid = $row[105]; + $drop_callmenu = $row[106]; + $after_hours_callmenu = $row[107]; + $user_group = $row[108]; + $max_calls_method = $row[109]; + $max_calls_count = $row[110]; + $max_calls_action = $row[111]; + $dial_ingroup_cid = $row[112]; + $group_handling = $row[113]; + + ##### get callmenu listings for dynamic pulldown + $stmt="SELECT menu_id,menu_name from vicidial_call_menu $whereLOGadmin_viewable_groupsSQL order by menu_id;"; + $rslt=mysql_query($stmt, $link); + $Xmenus_to_print = mysql_num_rows($rslt); + $o=0; + $Xmenuslist=''; + $Wmenuslist=''; + while ($Xmenus_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xmenuslist .= "\n"; + $Wmenuslist .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $o++; + } + if ($Xmenus_selected < 1) + {$Xmenuslist .= "\n";} + if ($Wmenus_selected < 1) + {$Wmenuslist .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Wgroups_menu=''; + $Wgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Wgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Wgroups_selected < 1) + {$Wgroups_menu .= "\n";} + else + {$Wgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
    MODIFY AN EMAIL GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + if ($SSenable_second_webform > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + +/* Commenting this out because it is handled by the Email Account section and is redundant here + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +*/ + + + echo "\n"; + + echo "\n"; + + # echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts $whereLOGadmin_viewable_groupsSQL order by shift_id;"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    ID Gruppo: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Nome Gruppo: $NWB#vicidial_inbound_groups-group_name$NWE
    Colore Gruppo: $NWB#vicidial_inbound_groups-group_color$NWE
    Attivo: $NWB#vicidial_inbound_groups-active$NWE
    In-Group Email Date: $group_calldate$NWB#vicidial_inbound_groups-group_emaildate$NWE
    \n"; + horizontal_bar_chart($group_id,'8','in-group',$link,'total_calls','call count',1); + echo "
    Admin Gruppo Utente: $NWB#vicidial_inbound_groups-user_group$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Web Form Two: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Prossimo Agente Email:$NWB#vicidial_inbound_groups-next_agent_email$NWE
    Coda di priorità: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Nel gruppo di chiamata Maneggiare Metodo:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Nel gruppo di agente Metodo di ricerca:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Nel gruppo Elenco ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Nel gruppo-ID campagna:$NWB#vicidial_inbound_dids-campaign_id$NWE
    Avviare Email URL: $NWB#vicidial_inbound_groups-start_email_url$NWE
    Dispo-mail URL: $NWB#vicidial_inbound_groups-dispo_email_url$NWE
    Aggiungi URL piombo: $NWB#vicidial_inbound_groups-add_lead_url$NWE
    Nessun agente Email URL: $NWB#vicidial_inbound_groups-na_email_url$NWE
    Extension Aggiunge CID: $NWB#vicidial_inbound_groups-extension_appended_cidname$NWE
    Visualizzare di stato UniqueID: $NWB#vicidial_inbound_groups-uniqueid_status_display$NWE
    Stato Prefisso UniqueID: $NWB#vicidial_inbound_groups-uniqueid_status_prefix$NWE
     
     Inbound Gruppo QC Impostazioni:
    QC Enabled: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    QC Status:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC Web Form:$NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    QC Script: $NWB#vicidial_inbound_groups-qc_script$NWE
    QC Maiusc: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    QC ottenere il record di lancio: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    Visualizza la registrazione, QC: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    \n"; + echo "


    \n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
    \n"; + echo "
    CLASSIFICA OPERATORI PER QUESTO GRUPPO INBOUND:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,full_name,closer_campaigns,user_group from vicidial_users where active='Y' $LOGadmin_viewable_groupsSQL order by user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_name[$o] = $rowx[1]; + $ARIG_close[$o] = $rowx[2]; + $ARIG_group[$o] = $rowx[3]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + + $o=0; + $ARIG_changenotes=''; + $stmtDlog=''; + while ($users_to_print > $o) + { + $o++; + $stmt="SELECT group_rank,calls_today,group_grade from vicidial_inbound_group_agents where group_id='$group_id' and user='$ARIG_user[$o]';"; + $rsltx=mysql_query($stmt, $link); + $viga_to_print = mysql_num_rows($rsltx); + if ($viga_to_print > 0) + { + $rowx=mysql_fetch_row($rsltx); + $ARIG_rank[$o] = $rowx[0]; + $ARIG_calls[$o] = $rowx[1]; + $ARIG_grade[$o] = $rowx[2]; + } + else + { + $stmtD="INSERT INTO vicidial_inbound_group_agents set calls_today='0',group_rank='0',group_weight='0',user='$ARIG_user[$o]',group_id='$group_id',group_grade='1';"; + $rslt=mysql_query($stmtD, $link); + if ($DB > 0) {echo "|$stmtD|";} + $stmtDlog .= "$stmtD|"; + $ARIG_changenotes .= "added missing user to viga table $ARIG_user[$o]|"; + $ARIG_rank[$o] = '0'; + $ARIG_calls[$o] = '0'; + $ARIG_grade[$o] = '1'; + } + } + if (strlen($ARIG_changenotes) > 10) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtDlog|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='USER INGROUP VIGA ADD', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + if ($stage=='INVIA') + { + $o=0; + while ($users_to_print > $o) + { + $o++; + + $ARIG_checked=''; + $ARIG_ranked=''; + $ARIG_graded=''; + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + + if (isset($_GET["$checkbox_field"])) {$ARIG_checked=$_GET["$checkbox_field"];} + elseif (isset($_POST["$checkbox_field"])) {$ARIG_checked=$_POST["$checkbox_field"];} + if (isset($_GET["$rank_field"])) {$ARIG_ranked=$_GET["$rank_field"];} + elseif (isset($_POST["$rank_field"])) {$ARIG_ranked=$_POST["$rank_field"];} + if (isset($_GET["$grade_field"])) {$ARIG_graded=$_GET["$grade_field"];} + elseif (isset($_POST["$grade_field"])) {$ARIG_graded=$_POST["$grade_field"];} + $ARIG_checked = ereg_replace("[^A-Z]","",$ARIG_checked); + $ARIG_ranked = ereg_replace("[^-0-9]","",$ARIG_ranked); + $ARIG_graded = ereg_replace("[^-0-9]","",$ARIG_graded); + + $stmtA=''; + $stmtB=''; + $stmtC=''; + $ARIG_updated=0; + $ARIG_changenotes=''; + if ( ($ARIG_check[$o]=='') and ($ARIG_checked=='YES') ) + { + if (strlen($ARIG_close[$o]) < 4) {$ARIG_close[$o]=' - ';} + $stmtA="UPDATE vicidial_users set closer_campaigns=' $group_id$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtA, $link); + if ($DB > 0) {echo "|$stmtA|";} + $ARIG_updated++; + $ARIG_changenotes .= "added $group_id to selected in-groups|"; + } + if ( ($ARIG_check[$o]==' CHECKED') and ($ARIG_checked=='') ) + { + $ARIG_close[$o] = preg_replace("/ $group_id /",' ',$ARIG_close[$o]); + $stmtB="UPDATE vicidial_users set closer_campaigns='$ARIG_close[$o]' where user='$ARIG_user[$o]';"; + $rslt=mysql_query($stmtB, $link); + if ($DB > 0) {echo "|$stmtB|";} + $ARIG_updated++; + $ARIG_changenotes .= "removed $group_id from selected in-groups|"; + } + if ( ($ARIG_ranked < $ARIG_rank[$o]) or ($ARIG_ranked > $ARIG_rank[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_rank='$ARIG_ranked',group_weight='$ARIG_ranked' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed rank from $ARIG_rank[$o] to $ARIG_ranked|"; + } + if ( ($ARIG_graded < $ARIG_grade[$o]) or ($ARIG_graded > $ARIG_grade[$o]) ) + { + $stmtC="UPDATE vicidial_inbound_group_agents set group_grade='$ARIG_graded' where user='$ARIG_user[$o]' and group_id='$group_id';"; + $rslt=mysql_query($stmtC, $link); + if ($DB > 0) {echo "|$stmtC|";} + $ARIG_updated++; + $ARIG_changenotes .= "changed grade from $ARIG_grade[$o] to $ARIG_graded|"; + } + if ($ARIG_updated > 0) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='MODIFY', record_id='$ARIG_user[$o]', event_code='USER INGROUP SETTINGS', event_sql=\"$SQL_log\", event_notes='$ARIG_changenotes';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + + $stmt="SELECT vu.user,viga.group_rank,calls_today,full_name,closer_campaigns,viga.group_grade from vicidial_inbound_group_agents viga, vicidial_users vu where group_id='$group_id' and active='Y' and vu.user=viga.user $LOGadmin_viewable_groupsSQL order by vu.user;"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + $ARIG_user[$o] = $rowx[0]; + $ARIG_rank[$o] = $rowx[1]; + $ARIG_calls[$o] = $rowx[2]; + $ARIG_name[$o] = $rowx[3]; + $ARIG_close[$o] = $rowx[4]; + $ARIG_grade[$o] = $rowx[5]; + $ARIG_check[$o] = ''; + if (preg_match("/ $group_id /",$ARIG_close[$o])) + {$ARIG_check[$o] = ' CHECKED';} + } + } + + $checkbox_count=0; + $o=0; + while ($users_to_print > $o) + { + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $checkbox_field="CHECK_$ARIG_user[$o]$US$group_id"; + $rank_field="RANK_$ARIG_user[$o]$US$group_id"; + $grade_field="GRADE_$ARIG_user[$o]$US$group_id"; + $checkbox_list .= "|$checkbox_field"; + $checkbox_count++; + + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + $users_output .= "\n"; + + echo "$users_output"; + + echo "\n"; + + echo "
    UTENTEGRUPPOSELECTED     CLASSIFICA     GRADE     CHIAMATE OGGI
    $ARIG_user[$o] - $ARIG_name[$o]$ARIG_group[$o]     select all  

    \n"; + + echo "
    Clicca qui per visualizzare un report per questo gruppo inbound

    \n"; + + echo "Clicca qui per vedere gli agenti collegati a questo gruppo in entrata

    \n"; + + echo "
    \n"; + + echo "Account di posta elettronica che utilizzano questo in-gruppo:
    \n"; + echo "\n"; + + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $emails_to_print = mysql_num_rows($rslt); + $o=0; + while ($emails_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]

    \n"; + echo "CAMPAGNE DI OFFRIRE IN QUESTO-GROUP:
    \n"; + echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where closer_campaigns LIKE \"% $group_id %\" $LOGallowed_campaignsSQL;"; + $rslt=mysql_query($stmt, $link); + $campin_to_print = mysql_num_rows($rslt); + $o=0; + while ($campin_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + + if ($LOGdelete_ingroups > 0) + { + # echo "

    EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

    \n"; + echo "

    CANCELLA QUESTO GRUPPO INBOUND\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Clicca qui per vedere i cambiamenti di amministratore per questo In-Group
    \n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + + } + + + ###################### # ADD=3311 modify did info in the system ###################### @@ -26053,8 +28396,10 @@ if ($ADD==3311) echo "
    A MODIFICARE LO RECORD:$row[0]
    \n"; echo "\n"; echo "\n"; + echo "\n"; echo "
    \n"; - echo "\n"; + # echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "
    HA Estensione:$NWB#vicidial_inbound_dids-did_pattern$NWE
    HA Estensione:$NWB#vicidial_inbound_dids-did_pattern$NWE
    HA Estensione:$did_pattern $NWB#vicidial_inbound_dids-did_pattern$NWE
    HA Descrizione:$NWB#vicidial_inbound_dids-did_description$NWE
    Attivo: $NWB#vicidial_inbound_dids-did_active$NWE
    Admin Gruppo Utente:
    Record di chiamata: $NWB#vicidial_inbound_dids-record_call$NWE
    Estensione:$NWB#vicidial_inbound_dids-extension$NWE
    Estensione Contesto:$NWB#vicidial_inbound_dids-exten_context$NWE
    Buzon de voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Buzon de voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Estensione Telefono:$NWB#vicidial_inbound_dids-phone$NWE
    IP Server:
    Utente percorso Impostazioni In-Group:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    In-ID Gruppo:
    ID In-Group: $NWB#vicidial_inbound_dids-group_id$NWE
    Nel gruppo di chiamata Maneggiare Metodo:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Nel gruppo di agente Metodo di ricerca:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Nel gruppo Elenco ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Nel gruppo Elenco ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Nel gruppo-ID campagna:
    Filter Estensione:$NWB#vicidial_inbound_dids-extension$NWE
    Filter Estensione Contesto:$NWB#vicidial_inbound_dids-exten_context$NWE
    Filter Buzon de voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Buzon de voz: voicemail chooser$NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Filter Estensione Telefono:$NWB#vicidial_inbound_dids-phone$NWE
    Filter IP Server:
    Filter Utente percorso Impostazioni In-Group:$NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    Filter In-ID Gruppo:
    Filter ID In-Group: $NWB#vicidial_inbound_dids-group_id$NWE
    Filter Nel gruppo di chiamata Maneggiare Metodo:$NWB#vicidial_inbound_dids-call_handle_method$NWE
    Filter Nel gruppo di agente Metodo di ricerca:$NWB#vicidial_inbound_dids-agent_search_method$NWE
    Filter Nel gruppo Elenco ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter Nel gruppo Elenco ID:$NWB#vicidial_inbound_dids-list_id$NWE
    Filter Nel gruppo-ID campagna:\n"; - echo "\n"; + echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-call_time_id$NWE "; + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $ct_holidays = $rowx[0]; + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 2); + if ($ct_hrs < 0) {$ct_hrs=0;} + echo "   Vacanze defined for this call time: $ct_hrs\n"; + } + else + {echo "Call time not found!\n";} + echo "\n"; echo "\n"; + echo "$NWB#vicidial_call_menu-dtmf_field$NWE\n"; echo "\n"; echo "\n"; @@ -26603,7 +28980,7 @@ if ($ADD==3511) $j=0; while ($menus_to_print > $j) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $option_value = $Aoption_value[$j]; $option_description = $Aoption_description[$j]; $option_route = $Aoption_route[$j]; @@ -26677,7 +29054,7 @@ if ($ADD==3511) echo "$IGhandle_method_list $NWB#vicidial_call_menu-ingroup_settings$NWE\n"; echo "
    Metodo di ricerca: \n"; - echo "   ID Lista: "; + echo "   ID Lista: "; echo "
    ID Campagna: \n"; echo "   Phone Code: "; @@ -26712,7 +29089,7 @@ if ($ADD==3511) } if ($option_route=='VOICEMAIL') { - echo "Buzon de voz:voicemail chooser\n"; + echo "Buzon de voz:voicemail chooser\n"; } if ($option_route=='AGI') { @@ -26726,7 +29103,7 @@ if ($ADD==3511) while ($j <= 20) { - $choose_height = (($j * 40) + 400); + $choose_height = (($j * 80) + 550); $dtmf_list = "\n"; } + if ($SScall_menu_qualify_enabled > 0) + { + echo "\n"; + } + else + {echo "\n";} + echo "\n"; echo "
    \n"; echo ""; - $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,user_group,qualify_sql from vicidial_call_menu where menu_id='$menu_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $menu_name = $row[0]; @@ -26521,6 +28873,7 @@ if ($ADD==3511) $dtmf_log = $row[11]; $dtmf_field = $row[12]; $user_group = $row[13]; + $qualify_sql = $row[14]; echo "
    MODIFICARE UNA CHIAMATA menu Record: $menu_id\n"; @@ -26533,10 +28886,10 @@ if ($ADD==3511) echo "$UUgroups_list"; echo "\n"; echo "$NWB#vicidial_call_menu-user_group$NWE
    Menu Prompt: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Menu Prompt: audio chooser $NWB#vicidial_call_menu-menu_prompt$NWE
    Timeout menu: $NWB#vicidial_call_menu-menu_timeout$NWE
    Menu prompt timeout: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Menu valide Prompt: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menu prompt timeout: audio chooser $NWB#vicidial_call_menu-menu_timeout_prompt$NWE
    Menu valide Prompt: audio chooser $NWB#vicidial_call_menu-menu_invalid_prompt$NWE
    Menu Repeat: $NWB#vicidial_call_menu-menu_repeat$NWE
    Menu Check Time:
    Tempo Chiamata: $NWB#vicidial_call_menu-call_time_id$NWE
    Chiede Track in Real-Time Report: $NWB#vicidial_call_menu-dtmf_log$NWE     Log campo: \n"; - echo "$NWB#vicidial_call_menu-dtmf_field$NWE
    Call Menu Opzioni:
    Personalizzato Entry Dialplan: Disabled $NWB#vicidial_call_menu-custom_dialplan_entry$NWE
    Qualificare SQL:
    $NWB#vicidial_call_menu-qualify_sql$NWE
    \n"; echo "

    \n"; @@ -26904,7 +29288,7 @@ if ($ADD==31111) echo "
    On-Hook squilli: $NWB#vicidial_remote_agents-on_hook_ring_time$NWE
    \n"; - horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1); + horizontal_bar_chart($user_start,'8','remote-agent',$link,'ra_total_calls','call count',1,'',''); echo "
    Gruppi Inbound: \n"; @@ -27474,7 +29858,7 @@ if ($ADD==3111111) echo "
    Testo Script:

    Anteprima Script
    "; # BEGIN Insert Field echo ""; echo "
    "; # END Insert Field @@ -27714,6 +30099,7 @@ if ($ADD==321111111) $modify_url = "$PHP_SELF?ADD=311111111&call_time_id=$call_time_id"; $modify_footer_rinfrescare=1; } + ### add-remove state rule if ( ($stage=="ADD") and (strlen($state_rule)>0) ) { $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; @@ -27727,6 +30113,15 @@ if ($ADD==321111111) {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD STATE RULE', event_sql=\"$SQL_log\", event_notes='Regla Del Estado Agregada: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Agregada: $state_rule
    \n"; } if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) @@ -27739,8 +30134,63 @@ if ($ADD==321111111) $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE STATE RULE', event_sql=\"$SQL_log\", event_notes='Regla Del Estado Quitada: $state_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Quitada: $state_rule
    \n"; } + ### add-remove holiday rule + if ( ($stage=="ADD") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + if (eregi("\|$",$ct_holidays)) + {$ct_holidays = "$ct_holidays$holiday_rule\|";} + else + {$ct_holidays = "$ct_holidays\|$holiday_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME ADD HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Vacanze regola aggiunta: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Vacanze regola aggiunta: $holiday_rule
    \n"; + } + if ( ($stage=="REMOVE") and (strlen($holiday_rule)>0) ) + { + $stmt="SELECT ct_holidays from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_holidays = $row[0]; + + $ct_holidays = eregi_replace("\|$holiday_rule\|",'|',$ct_holidays); + $stmt="UPDATE vicidial_call_times set ct_holidays='$ct_holidays' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME REMOVE HOLIDAY RULE', event_sql=\"$SQL_log\", event_notes='Vacanze Rule Rimosso: $holiday_rule';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Vacanze Rule Rimosso: $holiday_rule
    \n"; + } $ADD=311111111; } @@ -27767,7 +30217,7 @@ if ($ADD==311111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; @@ -27875,6 +30326,60 @@ if ($ADD==311111111) echo "\n"; echo "\n"; + + $ct_hrs=1; + $b=0; + $hrs_SQL =''; + if (strlen($ct_holidays)>2) + { + $holiday_rules = explode('|',$ct_holidays); + $ct_hrs = ((count($holiday_rules)) - 1); + } + echo "\n"; + echo "\n"; + while($ct_hrs >= $b) + { + if (strlen($holiday_rules[$b])>0) + { + $stmt="SELECT holiday_date,holiday_name from vicidial_call_time_holidays where holiday_id='$holiday_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $hrs_SQL .= "'$holiday_rules[$b]',"; + $hrs_holiday_SQL .= "'$row[0]',"; + } + $b++; + } + if (strlen($hrs_SQL)>2) + { + $hrs_SQL = "$hrs_SQL''"; + $hrs_holiday_SQL = "$hrs_holiday_SQL''"; + $hrs_SQL = "where holiday_id NOT IN($hrs_SQL) and holiday_date NOT IN($hrs_holiday_SQL) $LOGadmin_viewable_groupsSQL"; + } + else + {$hrs_SQL="$whereLOGadmin_viewable_groupsSQL";} + $stmt="SELECT holiday_id,holiday_date from vicidial_call_time_holidays $hrs_SQL order by holiday_date;"; + $rslt=mysql_query($stmt, $link); + $hct_to_print = mysql_num_rows($rslt); + $hct_list=''; + + $o=0; + while ($hct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $hct_list .= "\n"; + $o++; + } + echo "\n"; + echo "\n"; + + echo "
    \n"; echo ""; - $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times,default_afterhours_filename_override,sunday_afterhours_filename_override,monday_afterhours_filename_override,tuesday_afterhours_filename_override,wednesday_afterhours_filename_override,thursday_afterhours_filename_override,friday_afterhours_filename_override,saturday_afterhours_filename_override,user_group,ct_holidays from vicidial_call_times where call_time_id='$call_time_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $call_time_name = $row[1]; @@ -27798,6 +30248,7 @@ if ($ADD==311111111) $friday_afterhours_filename_override = $row[26]; $saturday_afterhours_filename_override = $row[27]; $user_group = $row[28]; + $ct_holidays = $row[29]; echo ""; @@ -27809,7 +30260,7 @@ if ($ADD==311111111) echo "
    ID Orario Chiamate: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Nome Orario Chiamate: (breve descrizione dell`orario chiamate)$NWB#vicidial_call_times-call_time_name$NWE
    Note Orario Chiamate: $NWB#vicidial_call_times-call_time_comments$NWE
    Admin Gruppo Utente:
    Admin Gruppo Utente: $NWB#vicidial_call_times-user_group$NWE
    Attivi Inbound Definizioni di vacanza per questo record:  
    $holiday_rules[$b] - REMOVE $row[0] - $row[1]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Aggiungi regola vacanza in entrata:


    \n"; echo "CAMPAGNE CHE UTILIZZANO QUESTO ORARIO:
    \n"; echo "\n"; @@ -27976,7 +30481,7 @@ if ($ADD==3111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; @@ -28012,6 +30517,105 @@ if ($ADD==3111111111) { echo "

    SUPRIMA ESTA DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO\n"; } + if ($LOGuser_level >= 9) + { + echo "

    Clicca qui per vedere i cambiamenti Admin to this call time\n"; + } + } + else + { + echo "Le no autorizan a visio`n esta página. Vaya por favor detrás."; + } + } + + +###################### +# ADD=3211111111 modify holiday definition info in the system +###################### + +if ($ADD==3211111111) + { + if ($LOGmodify_call_times==1) + { + if ( ($SSadmin_modify_rinfrescare > 1) and ($modify_rinfrescare_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=3211111111&holiday_id=$holiday_id"; + $modify_footer_rinfrescare=1; + } + echo "
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    _ Estado Llamar Tiempo Nombre: (breve descrizione dell`orario chiamate)$NWB#vicidial_call_times-call_time_name$NWE
    Comentarios Del Tiempo De la Llamada Del Estado: $NWB#vicidial_call_times-call_time_comments$NWE
    Admin Gruppo Utente:
    Admin Gruppo Utente: $NWB#vicidial_call_times-user_group$NWE
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_comments,holiday_status,ct_default_start,ct_default_stop,user_group,default_afterhours_filename_override from vicidial_call_time_holidays where holiday_id='$holiday_id' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $holiday_date = $row[1]; + $holiday_name = $row[2]; + $holiday_comments = $row[3]; + $holiday_status = $row[4]; + $ct_default_start = $row[5]; + $ct_default_stop = $row[6]; + $user_group = $row[7]; + $default_afterhours_filename_override = $row[8]; + + echo ""; + + echo "
    MODIFICARE UNA VACANZA
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Vacanze ID: $holiday_id$NWB#vicidial_call_times-holiday_id$NWE
    Nome di festa: (breve descrizione della vacanza)$NWB#vicidial_call_times-holiday_name$NWE
    Vacanze Commenti: $NWB#vicidial_call_times-holiday_comments$NWE
    Admin Gruppo Utente: $NWB#vicidial_call_times-user_group$NWE
    Inizio di Default: Fine di Default: $NWB#vicidial_call_times-ct_default_start$NWE
    AH Override: audio chooser $NWB#vicidial_call_times-default_afterhours_filename_override$NWE
    Vacanze Data: \n"; + echo " $NWB#vicidial_call_times-holiday_date$NWE
    Vacanze Stato: $NWB#vicidial_call_times-holiday_status$NWE


    \n"; + echo "CALL volte utilizzando questa festa:
    \n"; + echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_holidays LIKE \"%|$holiday_id|%\" $whereLOGadmin_viewable_call_timesSQL;"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) + { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + echo "
    $row[0] $row[1]
    \n"; + echo "


    \n"; + + if ($LOGdelete_call_times > 0) + { + echo "

    CANCELLARE QUESTA DEFINIZIONE VACANZA\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Clicca qui per vedere i cambiamenti Admin a questa festa
    \n"; + } } else { @@ -28171,7 +30775,7 @@ if ($ADD==31111111111) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -28229,6 +30833,12 @@ if ($ADD==31111111111) } echo " $NWB#phones-voicemail_timezone$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "\n"; echo "\n"; echo "\n"; @@ -29179,7 +31789,7 @@ if ($ADD==371111111111) echo "
    \n"; echo ""; - $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,messages,old_messages,protocol,local_gmt,ASTmgrUSERNAME,ASTmgrSECRET,login_user,login_pass,login_campaign,park_on_extension,conf_on_extension,VICIDIAL_park_on_extension,VICIDIAL_park_on_filename,monitor_prefix,recording_exten,voicemail_exten,voicemail_dump_exten,ext_context,dtmf_send_extension,call_out_number_group,client_browser,install_directory,local_web_callerID_URL,VICIDIAL_web_URL,AGI_call_logging_enabled,user_switching_enabled,conferencing_enabled,admin_hangup_enabled,admin_hijack_enabled,admin_monitor_enabled,call_parking_enabled,updater_check_enabled,AFLogging_enabled,QUEUE_ACTION_enabled,CallerID_popup_enabled,voicemail_button_enabled,enable_fast_refresh,fast_refresh_rate,enable_persistant_mysql,auto_dial_next_number,VDstop_rec_after_each_call,DBX_server,DBX_database,DBX_user,DBX_pass,DBX_port,DBY_server,DBY_database,DBY_user,DBY_pass,DBY_port,outbound_cid,enable_sipsak_messages,email,template_id,conf_override,phone_context,phone_ring_timeout,conf_secret,delete_vm_after_email,is_webphone,use_external_server_ip,codecs_list,codecs_with_template,webphone_dialpad,on_hook_agent,webphone_auto_answer,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from phones where extension='$extension' and server_ip='$server_ip' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -28201,7 +30805,7 @@ if ($ADD==31111111111) echo "
    Agente schermata di login: $NWB#phones-login$NWE
    Login Password: $NWB#phones-pass$NWE
    Registrazione password: $NWB#phones-conf_secret$NWE     Forza:
    Imposta come Webphone: $NWB#phones-is_webphone$NWE
    Imposta come Webphone: $NWB#phones-is_webphone$NWE
    Webphone Dialpad: $NWB#phones-webphone_dialpad$NWE
    Webphone Risposta automatica: $NWB#phones-webphone_auto_answer$NWE
    Utilizzare IP esterno Server: $NWB#phones-use_external_server_ip$NWE
    Casella Vocale Opzioni: $NWB#phones-voicemail_options$NWE
    Messaggio di benvenuto: audio chooser $NWB#phones-voicemail_greeting$NWE
    Compania: $NWB#phones-company$NWE
    Foto: $NWB#phones-picture$NWE
    Messaggi Nuovi: $row[14]$NWB#phones-messages$NWE
    \n"; echo ""; - $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT voicemail_id,pass,fullname,active,email,messages,old_messages,delete_vm_after_email,voicemail_timezone,voicemail_options,user_group,voicemail_greeting from vicidial_voicemail where voicemail_id='$voicemail_id' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $voicemail_id = $row[0]; @@ -29193,9 +31803,11 @@ if ($ADD==371111111111) $voicemail_timezone = $row[8]; $voicemail_options = $row[9]; $user_group = $row[10]; + $voicemail_greeting = $row[11]; echo "
    MODIFICARE un messaggio vocale BOX: $tts_id\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
    \n"; @@ -29209,6 +31821,13 @@ if ($ADD==371111111111) echo "\n"; echo "$NWB#vicidial_voicemail-user_group$NWE\n"; echo "\n"; + if ($SSallow_voicemail_greeting > 0) + { + echo "\n"; + } + else + {echo "\n"; echo ""; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "
    Eliminare Casella Vocale Dopo Email:$NWB#vicidial_voicemail-delete_vm_after_email$NWE
    Messaggio di benvenuto: audio chooser $NWB#vicidial_voicemail-voicemail_greeting$NWE
    Casella Vocale Zone: \n"; echo "\n"; echo "
    \n"; echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -29838,7 +32467,12 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; - echo "\n"; + + $admin_web_dir=''; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} + + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; echo "\n"; @@ -29938,7 +32584,7 @@ if ($ADD==311111111111111) echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; } @@ -30063,6 +32709,8 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    Versione: $version
    SVN Versione: $svn_revision
    DB Schema Versione: $db_schema_version
    DB Schema Update Date: $db_schema_update_date
    Auto Utente-add Value: $auto_user_add_value
    Centrale Sound Control Attivo: $NWB#settings-sounds_central_control_active$NWE
    Suoni Web Server: $NWB#settings-sounds_web_server$NWE
    Suoni Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Suoni Web Directory: $sounds_web_directory $NWB#settings-sounds_web_directory$NWE
    Web Directory Admin: $NWB#settings-admin_web_directory$NWE
    Attivo Server Casella Vocale: $NWB#settings-active_voicemail_server$NWE
    Consentire Casella Vocale Saluto Chooser: $NWB#settings-allow_voicemail_greeting$NWE
    Auto Dial Limit:
    Abilita Statistiche elenco esteso: $NWB#settings-expanded_list_stats$NWE
    Maggiore Disconnect Logging: $NWB#settings-enhanced_disconnect_logging$NWE
    Abilita IndicativoLocalità Campagna CID: $NWB#settings-campaign_cid_areacodes_enabled$NWE
    Abilita distanza sostituisce interno di un agente: $NWB#settings-did_ra_extensions_enabled$NWE
    Enable Contacts: $NWB#settings-contacts_enabled$NWE
    Chiamata Menu Qualificati Enabled: $NWB#settings-call_menu_qualify_enabled$NWE
    Livello 8 Disattiva Aggiungi: $NWB#settings-level_8_disable_add$NWE
    Lista Conti Admin: $NWB#settings-admin_list_counts$NWE
    Consenti email: $NWB#settings-allow_emails$NWE
    Accedi primo trigger: $first_login_trigger   $NWB#settings-first_login_trigger$NWE
    Predefinito Password Telefonoword Registrazione: $NWB#settings-default_phone_registration_password$NWE     Forza:
    Slave Database Server: $NWB#settings-slave_db_server$NWE
    Rapporti da utilizzare DB Slave:
    Rapporti da utilizzare DB Slave:
    Personalizzato Entry Dialplan: $NWB#settings-custom_dialplan_entry$NWE
    Personalizzato Entry Dialplan: $NWB#settings-custom_dialplan_entry$NWE
    Ricarica Dialplan sui server: $NWB#settings-reload_dialplan_on_servers$NWE
    QueueMetrics Addmember Enabled: $NWB#settings-queuemetrics_addmember_enabled$NWE
    QueueMetrics Dispo Pause Codice: $NWB#settings-queuemetrics_dispo_pause$NWE
    Telefono Telefono QueueMetrics Ambiente Append: $NWB#settings-queuemetrics_pe_phone_append$NWE
    QueueMetrics Socket Invia: $NWB#settings-queuemetrics_socket$NWE
    QueueMetrics Socket Invia URL: $NWB#settings-queuemetrics_socket_url$NWE
    Attiva Vtiger Integrazione: $NWB#settings-enable_vtiger_integration$NWE\n"; echo "   Clicca qui per sincronizzare gli utenti con Vtiger\n"; @@ -30339,89 +32987,12 @@ if ($ADD==331111111111111) +##QC +require_once('qc/QC_status_codes_include.php'); ###################### # ADD=341111111111111 modify vicidial QC status code ###################### - -if ($ADD==341111111111111) - { - if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) - { - if ( ($SSadmin_modify_rinfrescare > 1) and ($modify_rinfrescare_set < 1) ) - { - $modify_url = "$PHP_SELF?ADD=341111111111111"; - $modify_footer_rinfrescare=1; - } - echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30884,7 +33460,7 @@ if ($ADD==100) $o++; } - $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; + $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists where list_id NOT IN($lists_printed'') $LOGallowed_campaignsSQL;"; $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); $o=0; @@ -30900,7 +33476,10 @@ if ($ADD==100) echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo "\n"; @@ -30958,6 +33537,61 @@ if ($ADD==1000) echo "
    \n"; - echo ""; - - echo "
    \n"; - echo "QC VICIDIAL Status CODICI Nellambito di questo sistema:  $NWB#vicidial_qc_status_codes$NWE
    \n"; - echo "\n"; - echo "\n"; - - ##### go through each QC status code - $stmt="SELECT count(*) from vicidial_qc_codes;"; - $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - if ($rowx[0] > 0) - { - $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; - $rslt=mysql_query($stmt, $link); - $statuses_to_print = mysql_num_rows($rslt); - $o=0; - while ($statuses_to_print > $o) - { - $rowx=mysql_fetch_row($rslt); - $o++; - - if (eregi("1$|3$|5$|7$|9$", $o)) - {$bgcolor='bgcolor="#B9CBFD"';} - else - {$bgcolor='bgcolor="#9BB9FB"';} - - echo "\n"; - echo "\n"; - echo "\n"; - } - } - echo "
    STATUS CODEDESCRIZIONEMODIFICA/CANCELLA
    \n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "$rowx[0]         \n"; - echo "   \n"; - - if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) - { - echo "CANCELLA\n"; - } - else - { - echo "CANCELLA\n"; - } - echo "
    \n"; - - echo "
    ADD NEW QC CODICE STATO
    \n"; - echo "\n"; - echo "Esito:   \n"; - echo "Descrizione:
    \n"; - echo "
    \n"; - - echo "

    \n"; - - } - else - { - echo "Non hai l`autorizzazione per accedere a questa pagina\n"; - exit; - } - } - - - - - +//This section moved to include file as part of QC ###################### # ADD=550 user search form @@ -30844,7 +33415,9 @@ if ($ADD==100) if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} - $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id $LOGallowed_campaignsSQL group by list_id $SQLorder"; + if ($SSadmin_list_counts < 1) + {$stmt="SELECT list_id,list_name,list_description,'X' as tally,active,list_lastcalldate,campaign_id,reset_time,DATE_FORMAT(expiration_date,'%Y%m%d') from vicidial_lists $whereLOGallowed_campaignsSQL $SQLorder";} $rslt=mysql_query($stmt, $link); $lists_to_print = mysql_num_rows($rslt); @@ -30876,7 +33449,10 @@ if ($ADD==100) echo "
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]MODIFICA
    $row[2] $row[7] $row[3] $row[4] $row[4]"; + if ($row[8] < $EXPtestdate) + {echo " EXP";} + echo " $row[5] $row[6]MODIFICA
    \n"; } +###################### +# ADD=1800 display all email groups +###################### +if ( ($ADD==1800) and ($SSallow_emails>0) ) + { + echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,queue_priority,active,call_time_id,group_color,user_group from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $ingroups_to_print = mysql_num_rows($rslt); + + echo "
    EMAIL GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($ingroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and group_id='$row[0]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IN-GROUPNOMEPRIORITYATTIVOMail non letteGRUPPO ADMINTIMECOLORMODIFICA
    $row[0] $row[1] $row[2] $row[3] $unhandled_emails $row[6] $row[4]  MODIFICA
    \n"; + } ###################### # ADD=1300 display all inbound dids @@ -31345,8 +33979,8 @@ if ($ADD==10000000) echo "
    ELENCO FILTRI CONTATTI:\n"; echo "
    \n"; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; echo ""; echo "\n"; @@ -31458,6 +34092,52 @@ if ($ADD==1000000000) echo "
    FILTER IDFILTER NAMEFILTRO IDNome filtroGRUPPO ADMINMODIFICA
    \n"; } +###################### +# ADD=1200000000 display all holidays +###################### +if ($ADD==1200000000) + { + echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \n"; + echo ""; + + $stmt="SELECT holiday_id,holiday_date,holiday_name,holiday_status,ct_default_start,ct_default_stop,user_group from vicidial_call_time_holidays $whereLOGadmin_viewable_groupsSQL order by holiday_date,holiday_id;"; + $rslt=mysql_query($stmt, $link); + $holidays_to_print = mysql_num_rows($rslt); + + echo "
    HOLIDAY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($holidays_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    HOLIDAY IDDATENOMEESITOSTARTSTOPGRUPPO ADMINMODIFICA
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] MODIFICA
    \n"; + } + ###################### # ADD=130000000 display all shifts ###################### @@ -32103,7 +34783,10 @@ if ($ADD==10000000000000) } - +###################### +# ADD=100000000000000 display all qc campaigns +###################### +require_once('qc/QC_admin_include01.php'); ###################### @@ -32115,22 +34798,22 @@ if ($ADD==700000000000000) echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
    \n"; echo ""; - if ($stage > 9999) + if ($stage > 4999) { - $next_limit = ($stage + 10000); - $limitSQL = "10000 offset $stage"; + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; } else { - $next_limit = "10000"; - $limitSQL = "10000"; + $next_limit = "5000"; + $limitSQL = "5000"; } $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log $whereLOGadmin_viewable_groupsSQL order by event_date desc limit $limitSQL;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); - echo "
    ADMIN Change Log: (Ultimo 10000 record)\n"; + echo "
    ADMIN Change Log: (Last 5000 records)\n"; echo "
    \n"; echo ""; echo ""; @@ -32212,7 +34895,7 @@ if ($ADD==710000000000000) $user_name = $row[0]; } - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where user='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32298,7 +34981,7 @@ if ($ADD==720000000000000) if (preg_match("/DIDS/",$category)) {$sectionSQL = "event_section IN('DIDS','DID_RA-EXTEN')";} - $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 10000;"; + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code,user_group from vicidial_admin_log where $sectionSQL and record_id='$stage' $LOGadmin_viewable_groupsSQL order by event_date desc limit 5000;"; $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -32334,6 +35017,8 @@ if ($ADD==720000000000000) if (eregi('REMOTEAGENT',$row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} if (eregi('PHONE',$row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} if (eregi('CALLTIME',$row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} + if (eregi('CALLTIMES_STATE',$row[4])) {$record_link = "$PHP_SELF?ADD=3111111111&call_time_id=$row[6]";} + if (eregi('HOLIDAY',$row[4])) {$record_link = "$PHP_SELF?ADD=3211111111&holiday_id=$row[6]";} if (eregi('SHIFT',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} if (eregi('CARRIER',$row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} @@ -32343,6 +35028,7 @@ if ($ADD==720000000000000) if (eregi('CATEGOR',$row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} if (eregi('GROUPALIAS',$row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} if (eregi('LEADS',$row[4])) {$record_link = "./admin_modify_lead.php?lead_id=$row[6]";} + if (eregi('EMAIL',$row[4])) {$record_link = "./admin_email_accounts.php?eact=UPDATE&email_account_id=$row[6]";} if (eregi("1$|3$|5$|7$|9$", $o)) {$bgcolor='bgcolor="#B9CBFD"';} @@ -32444,6 +35130,214 @@ if ($ADD==730000000000000) } +###################### +# ADD=800000000000000 view all activity in the admin report log +###################### + +if ($ADD==800000000000000) + { + echo "
    ID
    "; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -10537,7 +10538,7 @@ if ($ACTION == 'CALLLOGview') {echo " $next_day_date >     ";} echo " "; echo "GO       "; - echo "close"; + echo " close "; echo "\n"; echo "
    \n"; echo "
    \n"; + echo ""; + + if ($stage > 4999) + { + $next_limit = ($stage + 5000); + $limitSQL = "5000 offset $stage"; + } + else + { + $next_limit = "5000"; + $limitSQL = "5000"; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log order by event_date desc limit $limitSQL;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + + echo "
    ADMIN rapporto di registro: (Last 5000 records)\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUTENTEIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "NEXT\n"; + echo "
    \n"; + } + + +###################### +# ADD=810000000000000 view all activity in the report log made by one user +###################### + +if ($ADD==810000000000000) + { + echo "\n"; echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT full_name from vicidial_users where user='$stage' $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + $names_to_print = mysql_num_rows($rslt); + if ($names_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $user_name = $row[0]; + } + + $stmt="SELECT report_log_id,event_date,user,ip_address,report_name,browser,referer,notes,url,run_time from vicidial_report_log where user='$stage' order by event_date desc limit 5000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    ADMIN rapporto di registro: Modifiche apportate dal $stage - $user_name\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $run_color='color=blue'; + if ($row[9] > 5) {$run_color='color=black';} + if ($row[9] > 10) {$run_color='color=purple';} + if ($row[9] > 30) {$run_color='color=red';} + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUTENTEIPREPORTRUN TIMEGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[9] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=830000000000000 detail view of one report log entry +###################### + +if ($ADD==830000000000000) + { + if ($LOGuser_level >= 9) + { + echo ""; - echo "\n"; + echo "\n"; } else { @@ -32644,6 +35546,7 @@ if ($ADD==999999) } $o=0; + $web_u_time = date('U'); while ($servers_to_print > $o) { $cpu = (100 - $cpu_idle_percent[$o]); @@ -32662,7 +35565,23 @@ if ($ADD==999999) $k++; } $disk = "$disk%"; - echo "\n"; + $s_time=' '; + $s_ver=' '; + $u_time=$web_u_time; + $stmt="SELECT last_update,UNIX_TIMESTAMP(last_update) from server_updater where server_ip='$server_ip[$o]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servertime_to_print = mysql_num_rows($rslt); + if ($servertime_to_print) + { + $row=mysql_fetch_row($rslt); + $s_time = $row[0]; + $u_time = ($row[1] + 10); + } + $server_bgcolor=''; + if ($web_u_time > $u_time) + {$server_bgcolor=' bgcolor=red';} + echo "\n"; echo "\n"; echo "\n"; echo "\n"; @@ -32672,15 +35591,16 @@ if ($ADD==999999) echo "\n"; if ($stage == 'TIME') { - $stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';"; + $stmt="SELECT svn_revision from servers where server_ip='$server_ip[$o]';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} - $servertime_to_print = mysql_num_rows($rslt); - if ($servertime_to_print) + $serverver_to_print = mysql_num_rows($rslt); + if ($serverver_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + $s_ver = $row[0]; } + echo ""; } else { @@ -32701,7 +35621,7 @@ if ($ADD==999999) if ($stage == 'TIME') { - echo ""; + echo ""; $stmt="SELECT NOW();"; $rslt=mysql_query($stmt, $link); @@ -32710,7 +35630,7 @@ if ($ADD==999999) if ($dbtime_to_print) { $row=mysql_fetch_row($rslt); - echo ""; + echo ""; } } echo "
    \n"; + echo ""; + + $stmt="SELECT report_log_id,event_date,vrl.user,ip_address,report_name,browser,referer,notes,url,full_name,val.user_group,run_time from vicidial_report_log vrl, vicidial_users val where report_log_id='$stage' and val.user=vrl.user $valLOGadmin_viewable_groupsSQL;"; + if ($DB > 0) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + if ($logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + + $run_color='color=blue'; + if ($row[11] > 5) {$run_color='color=black';} + if ($row[11] > 10) {$run_color='color=purple';} + if ($row[11] > 30) {$run_color='color=red';} + + echo "
    ADMIN rapporto di registro: Record Dettagliata - $stage

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "
    ID: $row[0]
    DATE TIME: $row[1]
    RUN TIME: $row[11] seconds
    USER: $row[2] - $row[9]
    IP: $row[3]
    REPORT: $row[4]
    BROWSER: $row[5]
    NOTES: $row[7]
    REFERER:

    $row[6]

    URL:

    $row[8]



    \n"; + echo "\n"; + echo "
    \n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } + + ###################### # ADD=999999 display reports section ###################### @@ -32551,7 +35445,13 @@ if ($ADD==999999) # echo "
  • AGENT SPREADSHEET PERFORMANCE\n"; if ( ( (preg_match("/Dialer Inventory report/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) and ($inventory_report_count > 0) ) {echo "
  • Dialer Inventory report\n";} - + if ($SSemail_enabled > 0) + { + if ( ( (preg_match("/Inbound Report/",$LOGallowed_reports)) and (preg_match("/Inbound Email Report/",$LOGallowed_reports)) ) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) + {echo "
  • Inbound Email Report\n";} + if ( (preg_match("/Email Log Report/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) + {echo "
  • Email Log Report\n";} + } if ($LOGexport_reports >= 1) { if ( (preg_match("/Esporta invita Relazione/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) @@ -32575,6 +35475,8 @@ if ($ADD==999999) {echo "
  • Team Performance Dettagliata\n";} if ( (preg_match("/Single Agent Daily/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) {echo "
  • Single Agent Daily\n";} + if ( (preg_match("/Gruppo Utente Login Report/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) + {echo "
  • Gruppo Utente Login Report\n";} if ( (preg_match("/Statistiche utente/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) {echo "
  • Statistiche utente\n";} if ( (preg_match("/Utente Time Sheet/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) @@ -32635,7 +35537,7 @@ if ($ADD==999999) if ($stage == 'TIME') { echo "
  • SERVER -DESCRIZIONEIPACTLOADCHANDISKTIME
    DESCRIZIONEIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$disk$row[0]$s_time$s_ver
      PHP Time   " . date("Y-m-d H:i:s") . "
      PHP Time   " . date("Y-m-d H:i:s") . "  
      DB Time   $row[0]
      DB Time   $row[0]  
    \n"; @@ -32759,6 +35679,10 @@ if ($ADD==999998) echo "
  • Esiti di Default\n"; echo "
  • Casella Vocale \n"; + if ($SSemail_enabled > 0) + { + echo "
  • Account di posta elettronica \n"; + } if ( ($sounds_central_control_active > 0) or ($SSsounds_central_control_active > 0) ) { echo "
  • Audio Store \n"; @@ -32774,7 +35698,7 @@ if ($ADD==999998) } if ($SScontacts_enabled > 0) { - echo "
  • Contacts \n"; + echo "
  •  Contatti \n"; } echo "\n"; @@ -32980,7 +35904,7 @@ if ($ADD==999995) echo "
    Benvenuti a ViciDial: copyright, marchi e licenze pagina

    \n"; echo "
    \n"; - echo "\n"; + echo "\n"; echo "\n"; @@ -33014,9 +35938,13 @@ if ($ADD==999994) echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } } @@ -33128,11 +36056,47 @@ if ($ADD==999993) ###################### if ($ADD==999992) { + if (!$query_date) {$query_date=date("Y-m-d", time()-(29*86400));} + if (!$end_date) { + $end_date=date("Y-m-d", time()); + } else if (strtotime($end_date)>strtotime(date("Y-m-d"))) { + $end_date=date("Y-m-d"); + } + if ($query_date>$end_date) {$query_date=$end_date;} + + + $num_graph_days = ceil(abs(strtotime($end_date) - strtotime($query_date)) / 86400)+1; + echo "
    Copyright:   Il ViciDial Call Center Suite è gestito dal ViciDial Group, © 2012
    Copyright:   Il ViciDial Call Center Suite è gestito dal ViciDial Group, © 2013
    Trademark:   \"VICIDIAL\" è un marchio registrato della ViciDial Group. Ecco la nostra marchio di fabbrica 'utilizzo politica
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$stage,$link,'ra_concurrent_calls','most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'total_calls','call count',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,$max_type,'most concurrent calls',0,'',''); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0); + horizontal_bar_chart($campaign_id,'30',$in_out,$link,'max_agents','most concurrent agents',0,'',''); echo "
    \n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; } } $k++; @@ -700,7 +748,7 @@ if ($function == 'sounds_list') ################################################################################ if ($function == 'moh_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -866,7 +914,7 @@ if ($function == 'moh_list') ################################################################################ if ($function == 'vm_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1018,7 +1066,7 @@ if ($function == 'agent_ingroup_info') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1114,12 +1162,12 @@ if ($function == 'agent_ingroup_info') $row=mysql_fetch_row($rslt); $allowed_campaign_autodial=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and change_agent_campaign='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_change_ingroups=$row[0]; - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1';"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and modify_users='1' and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user_modify_user=$row[0]; @@ -1344,7 +1392,7 @@ if ($function == 'blind_monitor') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1441,6 +1489,21 @@ if ($function == 'blind_monitor') { $man_id = mysql_insert_id($link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='$BMquery',lead_id='0',server_ip='$monitor_server_ip',call_date='$NOW_TIME',extension='$dialplan_number',channel='Local/$monitor_dialstring$stage$session_id@default',timeout='0',outbound_cid='\"VC Blind Monitor\" <$outbound_cid>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ##### BEGIN log visit to the vicidial_report_log table ##### + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$user', ip_address='1.1.1.1', report_name='API Blind Monitor', browser='API', referer='realtime_report.php', notes='$user, $monitor_server_ip, $dialplan_number, $session_id, $phone_login', url='REALTIME BLIND MONITOR',run_time='$TOTALrun';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + ##### END log visit to the vicidial_report_log table ##### + $result = 'SUCCESS'; $result_reason = "blind_monitor HAS BEEN LAUNCHED"; echo "$result: $result_reason - $phone_login|$monitor_dialstring$stage$session_id|$dialplan_number|$session_id|$man_id|$user\n"; @@ -1500,7 +1563,7 @@ if ($function == 'add_user') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_users='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1660,6 +1723,97 @@ if ($function == 'add_user') +################################################################################ +### add_group_alias - adds group alias to the system +################################################################################ +if ($function == 'add_group_alias') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "add_group_alias USER DOES NOT HAVE PERMISSION TO ADD GROUP ALIASES"; + $data = "$allowed_user"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($caller_id_number)<6) + { + $result = 'ERROR'; + $result_reason = "add_group_alias YOU MUST USE ALL REQUIRED FIELDS"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (strlen($group_alias_id)<2) {$group_alias_id = $caller_id_number;} + if (strlen($group_alias_name)<2) {$group_alias_name = $caller_id_number;} + if (strlen($active)<1) {$active = 'Y';} + if (strlen($admin_user_group)<1) {$admin_user_group = '---ALL---';} + $group_alias_name = preg_replace("/\+/",' ',$group_alias_name); + $caller_id_name = preg_replace("/\+/",' ',$caller_id_name); + + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $alias_exists=$row[0]; + if ($alias_exists > 0) + { + $result = 'ERROR'; + $result_reason = "add_group_alias GROUP ALIAS ALREADY EXISTS"; + $data = "$group_alias_id|$caller_id_number"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active,user_group) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active','$admin_user_group');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$user', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN API ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $result = 'SUCCESS'; + $result_reason = "add_group_alias GROUP ALIAS HAS BEEN ADDED"; + $data = "$group_alias_id|$group_alias_name|$caller_id_number"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + } + exit; + } +################################################################################ +### END add_group_alias +################################################################################ + + ################################################################################ ### add_phone - adds phone to the phones table @@ -1677,7 +1831,7 @@ if ($function == 'add_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1815,7 +1969,7 @@ if ($function == 'update_phone') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -1896,7 +2050,7 @@ if ($function == 'update_phone') { if ($delete_phone == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2210,8 +2364,6 @@ if ($function == 'update_phone') - - ################################################################################ ### add_phone_alias - adds phone alias to the system ################################################################################ @@ -2228,7 +2380,7 @@ if ($function == 'add_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2337,7 +2489,7 @@ if ($function == 'update_phone_alias') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_admin_access='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2380,7 +2532,7 @@ if ($function == 'update_phone_alias') { if ($delete_alias == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and ast_delete_phones='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2522,7 +2674,7 @@ if ($function == 'update_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2609,6 +2761,7 @@ if ($function == 'update_list') $webformSQL=''; $webformtwoSQL=''; $resettimeSQL=''; + $expiration_dateSQL=''; if (strlen($campaign_id) > 0) { $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; @@ -2758,6 +2911,25 @@ if ($function == 'update_list') {$resettimeSQL = " ,reset_time='$reset_time'";} } } + if (strlen($expiration_date) > 9) + { + if ($expiration_date == '--BLANK--') + {$expiration_dateSQL = " ,expiration_date='2099-12-31'";} + else + { + if (strlen($expiration_date) < 10) + { + $result = 'ERROR'; + $result_reason = "update_list EXPIRATION DATE IS NOT VALID, THIS IS AN OPTIONAL FIELD"; + $data = "$expiration_date"; + echo "$result: $result_reason: |$user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + {$resettimeSQL = " ,expiration_date='$expiration_date'";} + } + } if (strlen($web_form_address) > 0) { if ($web_form_address == '--BLANK--') @@ -2773,7 +2945,7 @@ if ($function == 'update_list') {$webformtwoSQL = " ,web_form_address_two='$web_form_address_two'";} } - $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL"; + $updateSQL = "$webformtwoSQL$webformSQL$ammessageSQL$outboundcidSQL$activeSQL$listnameSQL$campaignSQL$scriptSQL$dropingroupSQL$resettimeSQL$expiration_dateSQL"; if (strlen($updateSQL)< 3) { @@ -2846,7 +3018,7 @@ if ($function == 'update_list') if ($delete_list == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2884,7 +3056,7 @@ if ($function == 'update_list') if ($delete_leads == 'Y') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and delete_lists='1' and modify_leads='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -2950,7 +3122,7 @@ if ($function == 'add_list') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_lists='1' and user_level >= 8 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3086,8 +3258,9 @@ if ($function == 'add_list') exit; } if (strlen($active)<1) {$active='N';} + if (strlen($expiration_date)<10) {$expiration_date='2099-12-31';} - $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time';"; + $stmt="INSERT INTO vicidial_lists SET list_id='$list_id', list_name='$list_name', campaign_id='$campaign_id', active='$active', campaign_cid_override='$outbound_cid', agent_script_override='$script', am_message_exten_override='$am_message', drop_inbound_group_override='$drop_inbound_group', web_form_address='$web_form_address', web_form_address_two='$web_form_address_two', reset_time='$reset_time', expiration_date='$expiration_date';"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "|$stmt|\n";} @@ -3136,7 +3309,7 @@ if ($function == 'recording_lookup') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3308,7 +3481,7 @@ if ($function == 'did_log_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3448,7 +3621,7 @@ if ($function == 'agent_stats_export') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $allowed_user=$row[0]; @@ -3596,6 +3769,7 @@ if ($function == 'agent_stats_export') if ($AScalls[$k] < 1) { $cust_sec = 0; + $wait_sec = 0; $avg_cust_sec = 0; $avg_wait_sec = 0; $pct_of_queue = 0; @@ -3603,6 +3777,7 @@ if ($function == 'agent_stats_export') else { $cust_sec = ($AStalk_sec[$k] - $ASdead_sec[$k]); + $wait_sec = $ASwait_sec[$k]; $avg_cust_sec = ($cust_sec / $AScalls[$k]); $avg_wait_sec = ($ASwait_sec[$k] / $AScalls[$k]); $pct_of_queue = ( ($AScalls[$k] / $total_calls) * 100); @@ -3618,10 +3793,11 @@ if ($function == 'agent_stats_export') $avg_session_sec = sec_convert($avg_session_sec,$time_format); $avg_pause_sec = sec_convert($avg_pause_sec,$time_format); $cust_sec = sec_convert($cust_sec,$time_format); + $wait_sec = sec_convert($wait_sec,$time_format); $avg_cust_sec = sec_convert($avg_cust_sec,$time_format); $avg_wait_sec = sec_convert($avg_wait_sec,$time_format); - $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session\n"; + $output .= "$ASuser[$k]$DL$ASfull_name[$k]$DL$ASuser_group[$k]$DL$AScalls[$k]$DL$login_sec$DL$cust_sec$DL$avg_cust_sec$DL$avg_wait_sec$DL$pct_of_queue%$DL$ASpause_sec[$k]$DL$ASsessions[$k]$DL$avg_session_sec$DL$ASpauses[$k]$DL$avg_pause_sec$DL$pct_pause%$DL$avg_pause_session$DL$wait_sec\n"; $k++; } @@ -3647,6 +3823,737 @@ if ($function == 'agent_stats_export') +################################################################################ +### user_group_status - exports user group real-time stats +################################################################################ +if ($function == 'user_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status USER DOES NOT HAVE PERMISSION TO GET USER GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($user_groups)>0) and (strlen($user_groups)<10000) ) + { + $user_groupsOUTPUT = preg_replace("/\|/",' ',$user_groups); + $user_groupsSQL = preg_replace("/\|/","','",$user_groups); + $search_SQL .= "and user_group IN('$user_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "user_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$user_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $whereLOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $whereLOGallowed_callsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'usergroups' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dead_calls' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $whereLOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $i++; + } + } + + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $search_SQL $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: user_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + + if (eregi("INCALL",$row[1])) + { + $stmtP="select count(*) from parked_channels where channel_group='$row[5]';"; + $rsltP=mysql_query($stmtP,$link); + $rowP=mysql_fetch_row($rsltP); + $parked_channel = $rowP[0]; + + if ($parked_channel > 0) + {$row[1] = 'PARK';} + else + { + if (!ereg("$row[5]\|",$callerids)) + {$row[1] = 'DEAD';} + } + } + + if ($row[1]=='DEAD') + {$total_agents_dead++;} + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$user_groupsOUTPUT$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dead$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$user_groups|$stage"; + $result_reason = "user_group_status AGENTS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END user_group_status +################################################################################ + + + + + +################################################################################ +### in_group_status - exports in-group real-time stats +################################################################################ +if ($function == 'in_group_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status USER DOES NOT HAVE PERMISSION TO GET IN-GROUP INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($in_groups)>0) and (strlen($in_groups)<10000) ) + { + $in_groupsOUTPUT = preg_replace("/\|/",' ',$in_groups); + $in_groupsSQL = preg_replace("/\|/","','",$in_groups); + $search_SQL .= "where campaign_id IN('$in_groupsSQL')"; + $agent_search_SQL .= "where group_id IN('$in_groupsSQL')"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "in_group_status INVALID SEARCH PARAMETERS"; + $data = "$user|$in_groups"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT allowed_campaigns,admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGadmin_viewable_groups = $row[1]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + $LOGallowed_campaignsSQL=''; + $whereLOGallowed_campaignsSQL=''; + $LOGallowed_callsSQL=''; + if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) + { + $rawLOGallowed_campaignsSQL = preg_replace("/ -/",'',$LOGallowed_campaigns); + $rawLOGallowed_campaignsSQL = preg_replace("/ /","','",$rawLOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL')"; + $whereLOGallowed_campaignsSQL = "where campaign_id IN('$rawLOGallowed_campaignsSQL')"; + + $stmt="select group_id from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $rawLOGallowed_ingroupsSQL=''; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $rawLOGallowed_ingroupsSQL .= "row[0]','"; + $i++; + } + $LOGallowed_callsSQL = "and campaign_id IN('$rawLOGallowed_campaignsSQL','$rawLOGallowed_ingroupsSQL')"; + } + + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'ingroups' . $DL . 'total_calls' . $DL . 'calls_waiting' . $DL . 'agents_logged_in' . $DL . 'agents_in_calls' . $DL . 'agents_waiting' . $DL . 'agents_paused' . $DL . 'agents_in_dispo' . "\n";} + + $total_agents=0; + $total_agents_in_calls=0; + $total_agents_waiting=0; + $total_agents_paused=0; + $total_agents_dead=0; + $total_agents_dispo=0; + $total_calls=0; + $total_calls_waiting=0; + $call_camps[0]=''; + $call_types[0]=''; + + $callerids=''; + $pausecode=''; + $stmt="select callerid,status,campaign_id,call_type from vicidial_auto_calls $search_SQL $LOGallowed_callsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + if (eregi("LIVE",$row[1])) + {$total_calls_waiting++;} + $call_camps[$i] = $row[2]; + $call_types[$i] = $row[3]; + $total_calls++; + $i++; + } + } + + $users=''; + $stmt="SELECT distinct user from vicidial_live_inbound_agents where group_id IN('$in_groupsSQL');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $IG_users = mysql_num_rows($rslt); + if ($IG_users > 0) + { + $i=0; + while ($i < $IG_users) + { + $row=mysql_fetch_row($rslt); + $users .= "$row[0]','"; + $i++; + } + } + + $k=0; + $stmt="select vicidial_live_agents.user,vicidial_live_agents.status,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_live_agents.comments,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and vicidial_live_agents.user IN('$users') $LOGadmin_viewable_groupsSQL limit 10000000;"; + $rslt=mysql_query($stmt, $link); + $rec_recs = mysql_num_rows($rslt); + if ($DB>0) {echo "DEBUG: in_group_status query - $rec_recs|$stmt\n";} + if ($rec_recs > 0) + { + while ($rec_recs > $k) + { + # user,status,campaign_id,user_group,comments,callerid,lead_id + $row=mysql_fetch_row($rslt); + + if (eregi("READY|PAUSED",$row[1])) + { + if ($row[6] > 0) + {$row[1] = 'DISPO';} + } + if ($row[1]=='DISPO') + {$total_agents_dispo++;} + if ($row[1]=='PAUSED') + {$total_agents_paused++;} + if ( (eregi("INCALL",$row[1])) or (eregi("QUEUE",$row[1])) or (eregi("PARK",$row[1]))) + {$total_agents_in_calls++;} + if ( (eregi("READY",$row[1])) or (eregi("CLOSER",$row[1])) ) + {$total_agents_waiting++;} + + $total_agents++; + $k++; + } + } + $output .= "$in_groupsOUTPUT$DL$total_calls$DL$total_calls_waiting$DL$total_agents$DL$total_agents_in_calls$DL$total_agents_waiting$DL$total_agents_paused$DL$total_agents_dispo\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$in_groups|$stage"; + $result_reason = "in_group_status CALLS FOUND: $k"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } +################################################################################ +### END in_group_status +################################################################################ + + + + +################################################################################ +### agent_status - exports agent user real-time stats +################################################################################ +if ($function == 'agent_status') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and view_reports='1' and user_level > 6 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status USER DOES NOT HAVE PERMISSION TO GET AGENT INFO"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $agent_search_SQL=''; + $search_ready=0; + + require_once("functions.php"); + + if ( (strlen($agent_user)>0) and (strlen($agent_user)<100) ) + { + $agent_search_SQL .= "where user='$agent_user'"; + $search_ready++; + } + if ($search_ready < 1) + { + $result = 'ERROR'; + $result_reason = "agent_status INVALID SEARCH PARAMETERS"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT user_group from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and view_reports='1' and active='Y';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGuser_group = $row[0]; + + $stmt="SELECT admin_viewable_groups from vicidial_user_groups where user_group='$LOGuser_group';"; + if ($DB) {$MAIN.="|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGadmin_viewable_groups = $row[0]; + + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + + $k=0; + $output=''; + $DLset=0; + if ($stage == 'csv') + {$DL = ','; $DLset++;} + if ($stage == 'tab') + {$DL = "\t"; $DLset++;} + if ($stage == 'pipe') + {$DL = '|'; $DLset++;} + if ($DLset < 1) + {$DL='|'; $stage='pipe';} + if (strlen($time_format) < 1) + {$time_format = 'HF';} + if ($header == 'YES') + {$output .= 'status' . $DL . 'callerid' . $DL . 'lead_id' . $DL . 'campaign_id' . $DL . 'calls_today' . $DL . 'full_name' . $DL . 'user_group' . $DL . 'user_level' . "\n";} + + $stmt="select full_name,user_group,user_level from vicidial_users $agent_search_SQL $LOGadmin_viewable_groupsSQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $user_to_list = mysql_num_rows($rslt); + if ($user_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + $user_level = $row[2]; + + $stmt="select status,callerid,lead_id,campaign_id,calls_today from vicidial_live_agents $agent_search_SQL;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agent_to_list = mysql_num_rows($rslt); + if ($agent_to_list > 0) + { + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $callerid = $row[1]; + $lead_id = $row[2]; + $campaign_id = $row[3]; + $calls_today = $row[4]; + + $output .= "$status$DL$callerid$DL$lead_id$DL$campaign_id$DL$calls_today$DL$full_name$DL$user_group$DL$user_level\n"; + + echo "$output"; + + $result = 'SUCCESS'; + $data = "$user|$agent_user|$stage"; + $result_reason = "agent_status $output"; + + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT LOGGED IN"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_status AGENT NOT FOUND"; + $data = "$user|$agent_user"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + } + exit; + } +################################################################################ +### END agent_status +################################################################################ + + + +################################################################################ +### update_log_entry - updates the status of a log entry +################################################################################ +if ($function == 'update_log_entry') + { + if (strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_user=$row[0]; + if ($allowed_user < 1) + { + $result = 'ERROR'; + $result_reason = "update_log_entry USER DOES NOT HAVE PERMISSION TO UPDATE LOGS"; + echo "$result: $result_reason: |$user|$allowed_user|\n"; + $data = "$allowed_user"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $search_SQL=''; + $search_ready=0; + if ( (strlen($group)<2) or (strlen($call_id)<8) or (strlen($status)<8) ) + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $inbound_call=$row[0]; + + if ($inbound_call < 1) + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $outbound_call=$row[0]; + } + + if ( ($inbound_call < 1) and ($outbound_call < 1) ) + { + $result = 'ERROR'; + $result_reason = "update_log_entry GROUP NOT FOUND"; + $data = "$user|$group"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if (preg_match("/\./",$call_id)) + { + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and uniqueid='$call_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and uniqueid='$call_id';";} + } + else + { + $lead_id = substr($call_id, -10); + $lead_id = ($lead_id + 0); + + if ($inbound_call > 0) + {$stmt="SELECT lead_id,status,closecallid from vicidial_closer_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + else + {$stmt="SELECT lead_id,status,uniqueid from vicidial_log where campaign_id='$group' and lead_id='$lead_id' order by call_date desc limit 1;";} + } + $rslt=mysql_query($stmt, $link); + $found_recs = mysql_num_rows($rslt); + if ($found_recs > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id = $row[0]; + $old_status = $row[1]; + $uniqueid = $row[2]; + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS FOUND"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + + if ($inbound_call > 0) + {$stmt="UPDATE vicidial_closer_log SET status='$status' where campaign_id='$group' and closecallid='$uniqueid' order by call_date desc limit 1;";} + else + {$stmt="UPDATE vicidial_log SET status='$status' where campaign_id='$group' and uniqueid='$uniqueid';";} + $rslt=mysql_query($stmt, $link); + $update_count = mysql_affected_rows($link); + if ($update_count > 0) + { + $result = 'SUCCESS'; + $result_reason = "update_log_entry RECORD HAS BEEN UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid|$affected_rows"; + echo "$result: $result_reason - $user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry NO RECORDS UPDATED"; + $data = "$user|$group|$call_id|$status|$old_status|$uniqueid"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + else + { + $result = 'ERROR'; + $result_reason = "update_log_entry INVALID SEARCH PARAMETERS"; + $data = "$user|$group|$call_id|$status"; + echo "$result: $result_reason: $data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + } + exit; + } +################################################################################ +### END update_log_entry +################################################################################ + + + + + ################################################################################ ### add_lead - inserts a lead into the vicidial_list table ################################################################################ @@ -3663,7 +4570,7 @@ if ($function == 'add_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -3683,6 +4590,24 @@ if ($function == 'add_lead') if (strlen($rank)<1) {$rank='0';} if (strlen($list_id)<3) {$list_id='999';} if (strlen($phone_code)<1) {$phone_code='1';} + if ( ($nanpa_ac_prefix_check == 'Y') or (eregi("NANPA",$tz_method)) ) + { + $stmt="SELECT count(*) from vicidial_nanpa_prefix_codes;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vicidial_nanpa_prefix_codes_count = $row[0]; + if ($vicidial_nanpa_prefix_codes_count < 10) + { + $nanpa_ac_prefix_check='N'; + $tz_method = preg_replace("/NANPA/",'',$tz_method); + + $result = 'NOTICE'; + $result_reason = "add_lead NANPA options disabled, NANPA prefix data not loaded"; + echo "$result: $result_reason - $vicidial_nanpa_prefix_codes_count|$user\n"; + $data = "$inserted_alt_phones|$lead_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } $valid_number=1; if ( (strlen($phone_number)<6) || (strlen($phone_number)>16) ) @@ -3713,6 +4638,20 @@ if ($function == 'add_lead') $result_reason = "add_lead INVALID PHONE NUMBER AREACODE"; } } + if ( ($nanpa_ac_prefix_check=='Y') and ($valid_number > 0) ) + { + $phone_areacode = substr($phone_number, 0, 3); + $phone_prefix = substr($phone_number, 3, 3); + $stmt = "SELECT count(*) from vicidial_nanpa_prefix_codes where areacode='$phone_areacode' and prefix='$phone_prefix';"; + if ($DB>0) {echo "DEBUG: add_lead areacode check query - $stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $valid_number=$row[0]; + if ($valid_number < 1) + { + $result_reason = "add_lead INVALID PHONE NUMBER NANPA AREACODE PREFIX"; + } + } if ($valid_number < 1) { $result = 'ERROR'; @@ -3753,14 +4692,22 @@ if ($function == 'add_lead') if ( ($campaign_dnc_check == 'Y') or ($campaign_dnc_check == 'AREACODE') ) { if ($DB>0) {echo "DEBUG: Checking for campaign DNC\n";} + + $stmt="SELECT use_other_campaign_dnc from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $use_other_campaign_dnc = $row[0]; + $temp_campaign_id = $campaign_id; + if (strlen($use_other_campaign_dnc) > 0) {$temp_campaign_id = $use_other_campaign_dnc;} + if ($campaign_dnc_check == 'AREACODE') { $phone_areacode = substr($phone_number, 0, 3); $phone_areacode .= "XXXXXXX"; - $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$campaign_id';"; + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$phone_number','$phone_areacode') and campaign_id='$temp_campaign_id';"; } else - {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign_id';";} + {$stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$temp_campaign_id';";} if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -4035,7 +4982,7 @@ if ($function == 'add_lead') ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); $new_status='NEW'; if ($callback == 'Y') @@ -4225,13 +5172,11 @@ if ($function == 'add_lead') $result = 'NOTICE'; $result_reason = "add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME"; echo "$result: $result_reason - $phone_number|$lead_id|$gmt_offset|$dialable|$user\n"; - $data = "$phone_number|$lead_id|$gmt_offset|$dialable"; + $data = "$phone_number|$lead_id|$gmt_offset|$dialable|$state"; api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); } else { - ### code to insert into hopper goes here - ### insert record into vicidial_hopper for alt_phone call attempt $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$list_id',gmt_offset_now='$gmt_offset',state='$state',user='',priority='$hopper_priority',source='P',vendor_lead_code='$vendor_lead_code';"; if ($DB>0) {echo "DEBUG: add_lead query - $stmt\n";} @@ -4366,7 +5311,7 @@ if ($function == 'update_lead') } else { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1' and user_level > 7 and active='Y';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $modify_leads=$row[0]; @@ -4561,6 +5506,7 @@ if ($function == 'update_lead') if (strlen($owner)>0) {$VL_update_SQL .= "owner='$owner',";} if (strlen($called_count)>0) {$VL_update_SQL .= "called_count='$called_count',";} if ( (strlen($reset_lead) > 0 && $reset_lead == 'Y') ) {$VL_update_SQL .= "called_since_last_reset='N',";} + if ( (strlen($update_phone_number)>0 && $update_phone_number=='Y' && strlen($phone_number)>0) ) {$VL_update_SQL .= "phone_number='$phone_number',";} $VL_update_SQL = preg_replace("/,$/","",$VL_update_SQL); $VL_update_SQL = preg_replace("/'--BLANK--'/","''",$VL_update_SQL); $VL_update_SQL = preg_replace("/\n/","!N",$VL_update_SQL); @@ -4900,7 +5846,7 @@ if ($function == 'update_lead') else { ### get current gmt_offset of the phone_number - $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner); + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix); if (strlen($status)<1) {$status='NEW';} @@ -5094,11 +6040,6 @@ api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$resul - - - - - if ($format=='debug') { $ENDtime = date("U"); @@ -5119,7 +6060,7 @@ exit; ##### LOOKUP GMT, FINDS THE CURRENT GMT OFFSET FOR A PHONE NUMBER ##### -function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner) +function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$tz_method,$postal_code,$owner,$USprefix) { require("dbconnect.php"); @@ -5171,6 +6112,24 @@ if ( ($tz_method=="TZCODE") && (strlen($owner)>1) ) if (strlen($dst_range)>2) {$dst = 'Y';} } } +if ( (eregi("NANPA",$tz_method)) && (strlen($USarea)>2) && (strlen($USprefix)>2) ) + { + $stmt="select GMT_offset,DST from vicidial_nanpa_prefix_codes where areacode='$USarea' and prefix='$USprefix';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[0]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[1]; + $dst_range = ''; + if ($dst == 'Y') + {$dst_range = 'SSM-FSN';} + $PC_processed++; + $postalgmt_found++; + $post++; + } + } if ($postalgmt_found < 1) { $PC_processed=0; @@ -5924,273 +6883,160 @@ function dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state) $stmt="SELECT call_time_id,call_time_name,call_time_comments,ct_default_start,ct_default_stop,ct_sunday_start,ct_sunday_stop,ct_monday_start,ct_monday_stop,ct_tuesday_start,ct_tuesday_stop,ct_wednesday_start,ct_wednesday_stop,ct_thursday_start,ct_thursday_stop,ct_friday_start,ct_friday_stop,ct_saturday_start,ct_saturday_stop,ct_state_call_times FROM vicidial_call_times where call_time_id='$local_call_time';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $rowx=mysql_fetch_row($rslt); - $Gct_default_start = "$rowx[3]"; - $Gct_default_stop = "$rowx[4]"; - $Gct_sunday_start = "$rowx[5]"; - $Gct_sunday_stop = "$rowx[6]"; - $Gct_monday_start = "$rowx[7]"; - $Gct_monday_stop = "$rowx[8]"; - $Gct_tuesday_start = "$rowx[9]"; - $Gct_tuesday_stop = "$rowx[10]"; - $Gct_wednesday_start = "$rowx[11]"; - $Gct_wednesday_stop = "$rowx[12]"; - $Gct_thursday_start = "$rowx[13]"; - $Gct_thursday_stop = "$rowx[14]"; - $Gct_friday_start = "$rowx[15]"; - $Gct_friday_stop = "$rowx[16]"; - $Gct_saturday_start = "$rowx[17]"; - $Gct_saturday_stop = "$rowx[18]"; - $Gct_state_call_times = "$rowx[19]"; + $call_times_to_print = mysql_num_rows($rslt); + if ($call_times_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[3]; + $Gct_default_stop = $rowx[4]; + $Gct_sunday_start = $rowx[5]; + $Gct_sunday_stop = $rowx[6]; + $Gct_monday_start = $rowx[7]; + $Gct_monday_stop = $rowx[8]; + $Gct_tuesday_start = $rowx[9]; + $Gct_tuesday_stop = $rowx[10]; + $Gct_wednesday_start = $rowx[11]; + $Gct_wednesday_stop = $rowx[12]; + $Gct_thursday_start = $rowx[13]; + $Gct_thursday_stop = $rowx[14]; + $Gct_friday_start = $rowx[15]; + $Gct_friday_stop = $rowx[16]; + $Gct_saturday_start = $rowx[17]; + $Gct_saturday_stop = $rowx[18]; + $Gct_state_call_times = $rowx[19]; - if ($GMT_day==0) #### Sunday local time - { - if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + if ( (strlen($Gct_state_call_times) > 2) and (strlen($state)>0) ) { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==1) #### Monday local time - { - if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==2) #### Tuesday local time - { - if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==3) #### Wednesday local time - { - if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==4) #### Thursday local time - { - if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==5) #### Friday local time - { - if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) - {$dialable=1;} - } - } - if ($GMT_day==6) #### Saturday local time - { - if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) - { - if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) - {$dialable=1;} - } - else - { - if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) - {$dialable=1;} - } - } + $Gct_state_call_timesSQL = $Gct_state_call_times; + $Gct_state_call_timesSQL = preg_replace("/\|/","','",$Gct_state_call_timesSQL); + $Gct_state_call_timesSQL = preg_replace("/^',|,'$/",'',$Gct_state_call_timesSQL); - return $dialable; - } - -/* - $ct_states = ''; - $ct_state_gmt_SQL = ''; - $ct_srs=0; - $b=0; - if (strlen($Gct_state_call_times)>2) - { - $state_rules = explode('|',$Gct_state_call_times); - $ct_srs = ((count($state_rules)) - 2); - } - while($ct_srs >= $b) - { - if ( (strlen($state_rules[$b])>1) and (strlen($state)>1) ) - { - $stmt="SELECT STAR from vicidial_state_call_times where state_call_time_id='$state_rules[$b]' and state_call_time_state='$state';"; + $stmt="SELECT sct_default_start,sct_default_stop,sct_sunday_start,sct_sunday_stop,sct_monday_start,sct_monday_stop,sct_tuesday_start,sct_tuesday_stop,sct_wednesday_start,sct_wednesday_stop,sct_thursday_start,sct_thursday_stop,sct_friday_start,sct_friday_stop,sct_saturday_start,sct_saturday_stop FROM vicidial_state_call_times where state_call_time_id IN($Gct_state_call_timesSQL) and state_call_time_state='$state';"; + if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $Gstate_call_time_id = "$row[0]"; - $Gstate_call_time_state = "$row[1]"; - $Gsct_default_start = "$row[4]"; - $Gsct_default_stop = "$row[5]"; - $Gsct_sunday_start = "$row[6]"; - $Gsct_sunday_stop = "$row[7]"; - $Gsct_monday_start = "$row[8]"; - $Gsct_monday_stop = "$row[9]"; - $Gsct_tuesday_start = "$row[10]"; - $Gsct_tuesday_stop = "$row[11]"; - $Gsct_wednesday_start = "$row[12]"; - $Gsct_wednesday_stop = "$row[13]"; - $Gsct_thursday_start = "$row[14]"; - $Gsct_thursday_stop = "$row[15]"; - $Gsct_friday_start = "$row[16]"; - $Gsct_friday_stop = "$row[17]"; - $Gsct_saturday_start = "$row[18]"; - $Gsct_saturday_stop = "$row[19]"; - - $ct_states .="'$Gstate_call_time_state',"; - - $r=0; - $state_gmt=''; - while($r < $g) + $state_times_to_print = mysql_num_rows($rslt); + if ($state_times_to_print > 0) { - if ($GMT_day[$r]==0) #### Sunday local time - { - if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==1) #### Monday local time - { - if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==2) #### Tuesday local time - { - if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==3) #### Wednesday local time - { - if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==4) #### Thursday local time - { - if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==5) #### Friday local time - { - if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - if ($GMT_day[$r]==6) #### Saturday local time - { - if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) - { - if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - else - { - if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) - {$state_gmt.="'$GMT_gmt[$r]',";} - } - } - $r++; + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = $rowx[0]; + $Gct_default_stop = $rowx[1]; + $Gct_sunday_start = $rowx[2]; + $Gct_sunday_stop = $rowx[3]; + $Gct_monday_start = $rowx[4]; + $Gct_monday_stop = $rowx[5]; + $Gct_tuesday_start = $rowx[6]; + $Gct_tuesday_stop = $rowx[7]; + $Gct_wednesday_start = $rowx[8]; + $Gct_wednesday_stop = $rowx[9]; + $Gct_thursday_start = $rowx[10]; + $Gct_thursday_stop = $rowx[11]; + $Gct_friday_start = $rowx[12]; + $Gct_friday_stop = $rowx[13]; + $Gct_saturday_start = $rowx[14]; + $Gct_saturday_stop = $rowx[15]; } - $state_gmt = "$state_gmt'99'"; - $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; } - $b++; - } - if (strlen($ct_states)>2) - { - $ct_states = eregi_replace(",$",'',$ct_states); - $ct_statesSQL = "and state NOT IN($ct_states)"; + ### go through each day to determine dialability + if ($GMT_day==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) + {$dialable=1;} + } + } + if ($GMT_day==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) + {$dialable=1;} + } + } + + return $dialable; } else { - $ct_statesSQL = ""; + return 0; } - -*/ - + } @@ -6208,7 +7054,6 @@ function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$val $TOTALrun = ($runS + $runM); $NOW_TIME = date("Y-m-d H:i:s"); - # api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script',run_time='$TOTALrun';"; $rslt=mysql_query($stmt, $link); } diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include01.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include01.php new file mode 100644 index 00000000..23f68033 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include01.php @@ -0,0 +1,105 @@ +
    \n"; echo ""; echo "
    Administration: Maximum System Stats   $NWB#vicidial_max_stats$NWE

    \n"; - echo "
    \n"; + echo ""; + + echo "\n"; + + echo " to "; + + echo "    
    \n"; + echo "
    [DOWNLOAD ALL]
    \n"; if ( (preg_match("/Maximum System Stats/",$LOGallowed_reports)) or (preg_match("/ALL REPORT/",$LOGallowed_reports)) ) { @@ -33149,31 +36113,38 @@ if ($ADD==999992) } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } else @@ -33182,8 +36153,128 @@ if ($ADD==999992) } ##### END max system stats report ##### +##### If report run, update the time in the vicidial_report_log table ##### +if ( ($ADD==999993) or ($ADD==999992) or ($ADD==730000000000000) or ($ADD==830000000000000) ) + { + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } +###################### +# ADD=999991 display server version info +###################### +if ($ADD==999991) + { + echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls','total call count in and out',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls','total call count in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_inbound_all','total inbound call count',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_inbound_all','total inbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'total_calls_outbound_all','total outbound call count',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'total_calls_outbound_all','total outbound call count',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'(max_inbound + max_outbound)','most concurrent calls in and out',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_inbound','most concurrent calls inbound total',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_inbound','most concurrent calls inbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_outbound','most concurrent calls outbound total',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_outbound','most concurrent calls outbound total',0,$end_date,$download_link); echo "
    \n"; - horizontal_bar_chart($campaign_id,'30','system',$link,'max_agents','most concurrent agents',0); + $download_link="[DOWNLOAD]"; + horizontal_bar_chart($campaign_id,$num_graph_days,'system',$link,'max_agents','most concurrent agents',0,$end_date,$download_link); echo "
    \n"; + echo ""; + + echo "
    Administration: Server Version Information

    \n"; + + if ($LOGview_reports==1) + { + if ($reports_only_user < 1) + { + echo "
    \n";
    +
    +			echo "";
    +			echo "\n";
    +
    +			$stmt="SELECT server_id,server_description,server_ip,active,sysload,channels_total,cpu_idle_percent,disk_usage from servers order by server_id;";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$servers_to_print = mysql_num_rows($rslt);
    +			$i=0;
    +			while ($i < $servers_to_print)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$server_id[$i] =			$row[0];
    +				$server_description[$i] =	$row[1];
    +				$server_ip[$i] =			$row[2];
    +				$active[$i] =				$row[3];
    +				$sysload[$i] =				$row[4];
    +				$channels_total[$i] =		$row[5];
    +				$cpu_idle_percent[$i] =		$row[6];
    +				$disk_usage[$i] =			$row[7];
    +				$i++;
    +				}
    +
    +			$o=0;
    +			while ($servers_to_print > $o)
    +				{
    +				$cpu = (100 - $cpu_idle_percent[$o]);
    +				$disk = '';
    +				$disk_ary = explode('|',$disk_usage[$o]);
    +				$disk_ary_ct = count($disk_ary);
    +				$k=0;
    +				while ($k < $disk_ary_ct)
    +					{
    +					$disk_ary[$k] = preg_replace("/^\d* /","",$disk_ary[$k]);
    +					if ($k<1) {$disk = "$disk_ary[$k]";}
    +					else
    +						{
    +						if ($disk_ary[$k] > $disk) {$disk = "$disk_ary[$k]";}
    +						}
    +					$k++;
    +					}
    +				$disk = "$disk%";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +				echo "\n";
    +
    +				$s_time=' ';
    +				$s_ver=' ';
    +				$s_info_print='no svn information';
    +				$stmt="SELECT last_update from server_updater where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$servertime_to_print = mysql_num_rows($rslt);
    +				if ($servertime_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_time = $row[0];
    +					}
    +				$stmt="SELECT svn_revision,svn_info from servers where server_ip='$server_ip[$o]';";
    +				$rslt=mysql_query($stmt, $link);
    +				if ($DB) {echo "$stmt\n";}
    +				$serverver_to_print = mysql_num_rows($rslt);
    +				if ($serverver_to_print)
    +					{
    +					$row=mysql_fetch_row($rslt);
    +					$s_ver = $row[0];
    +					$s_info = $row[1];
    +					$s_info_print = preg_replace("/\n/",'
    ',$s_info); + } + if (strlen($s_info_print) < 1) {$s_info_print='no svn information';} + echo ""; + echo ""; + + echo "\n"; + $o++; + } + echo "
    SERVERDESCRIZIONEIPACTLOADCHANDISKTIMEVER
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]$sysload[$o] - $cpu%$channels_total[$o]$disk$s_time$s_ver
     $s_info_print
    \n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } +##### END server version info ##### echo "
    \n"; @@ -33199,7 +36290,7 @@ echo "

    "; echo "VERSIONE: $admin_version
    "; echo "BUILD: $build\n"; if (!preg_match("/_BUILD_/",$SShosted_settings)) - {echo "
    © 2012 ViciDial Group
    ";} + {echo "
    © 2013 ViciDial Group
    ";} echo "
    \n"; ?> @@ -33646,7 +36737,27 @@ if (isset($camp_lists)) $CCLsql = "and (called_count < $call_count_limit)"; } - $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL"; + $EXPsql=''; + $expired_lists=''; + $REPORTdate = date("Y-m-d"); + $stmt="SELECT list_id FROM vicidial_lists where list_id IN($camp_lists) and (active='Y') and (expiration_date < \"$REPORTdate\");"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + $f=0; + while ($rslt_rows > $f) + { + $rowx=mysql_fetch_row($rslt); + $expired_lists .= "'$rowx[0]',"; + $f++; + } + $expired_lists = preg_replace("/,$/",'',$expired_lists); + if (strlen($expired_lists) < 2) {$expired_lists = "''";} + $EXPsql = "and list_id NOT IN($expired_lists)"; + + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $CCLsql $DLTsql $fSQL $EXPsql"; #$DB=1; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/admin_email_accounts.php b/agc_2-X/trunk/LANG_www/vicidial_it/admin_email_accounts.php new file mode 100644 index 00000000..de30888c --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/admin_email_accounts.php @@ -0,0 +1,884 @@ + LICENSE: AGPLv2 +# +# This page manages the inbound email accounts in ViciDial +# +# changes: +# 121214-2245 - First Build +# 130102-1131 - Small admin log change +# 130221-1754 - Added level 8 disable add feature +# + +$admin_version = '2.6-3'; +$build = '130221-1754'; + +$sh="emails"; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["action"])) {$action=$_GET["action"];} + elseif (isset($_POST["action"])) {$action=$_POST["action"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["eact"])) {$eact=$_GET["eact"];} + elseif (isset($_POST["eact"])) {$eact=$_POST["eact"];} +if (isset($_GET["email_account_id"])) {$email_account_id=$_GET["email_account_id"];} + elseif (isset($_POST["email_account_id"])) {$email_account_id=$_POST["email_account_id"];} +if (isset($_GET["email_account_name"])) {$email_account_name=$_GET["email_account_name"];} + elseif (isset($_POST["email_account_name"])) {$email_account_name=$_POST["email_account_name"];} +if (isset($_GET["email_account_description"])) {$email_account_description=$_GET["email_account_description"];} + elseif (isset($_POST["email_account_description"])) {$email_account_description=$_POST["email_account_description"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["email_account_server"])) {$email_account_server=$_GET["email_account_server"];} + elseif (isset($_POST["email_account_server"])) {$email_account_server=$_POST["email_account_server"];} +if (isset($_GET["email_account_user"])) {$email_account_user=$_GET["email_account_user"];} + elseif (isset($_POST["email_account_user"])) {$email_account_user=$_POST["email_account_user"];} +if (isset($_GET["email_account_pass"])) {$email_account_pass=$_GET["email_account_pass"];} + elseif (isset($_POST["email_account_pass"])) {$email_account_pass=$_POST["email_account_pass"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["email_frequency_check_mins"])) {$email_frequency_check_mins=$_GET["email_frequency_check_mins"];} + elseif (isset($_POST["email_frequency_check_mins"])) {$email_frequency_check_mins=$_POST["email_frequency_check_mins"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["default_list_id"])) {$default_list_id=$_GET["default_list_id"];} + elseif (isset($_POST["default_list_id"])) {$default_list_id=$_POST["default_list_id"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["new_account_id"])) {$new_account_id=$_GET["new_account_id"];} + elseif (isset($_POST["new_account_id"])) {$new_account_id=$_POST["new_account_id"];} +if (isset($_GET["source_email_account"])) {$source_email_account=$_GET["source_email_account"];} + elseif (isset($_POST["source_email_account"])) {$source_email_account=$_POST["source_email_account"];} +if (isset($_GET["confirm_deletion"])) {$confirm_deletion=$_GET["confirm_deletion"];} + elseif (isset($_POST["confirm_deletion"])) {$confirm_deletion=$_POST["confirm_deletion"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_replyto_address"])) {$email_replyto_address=$_GET["email_replyto_address"];} + elseif (isset($_POST["email_replyto_address"])) {$email_replyto_address=$_POST["email_replyto_address"];} +if (isset($_GET["email_account_type"])) {$email_account_type=$_GET["email_account_type"];} + elseif (isset($_POST["email_account_type"])) {$email_account_type=$_POST["email_account_type"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,allow_emails,allow_emails,level_8_disable_add FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_queuemetrics_logging = $row[1]; + $SSenable_vtiger_integration = $row[2]; + $SSqc_features_active = $row[3]; + $SSoutbound_autodial_active = $row[4]; + $SSsounds_central_control_active = $row[5]; + $SSenable_second_webform = $row[6]; + $SSuser_territories_active = $row[7]; + $SScustom_fields_enabled = $row[8]; + $SSadmin_web_directory = $row[9]; + $SSwebphone_url = $row[10]; + $SSfirst_login_trigger = $row[11]; + $SShosted_settings = $row[12]; + $SSdefault_phone_registration_password =$row[13]; + $SSdefault_phone_login_password = $row[14]; + $SSdefault_server_password = $row[15]; + $SStest_campaign_calls = $row[16]; + $SSactive_voicemail_server = $row[17]; + $SSvoicemail_timezones = $row[18]; + $SSdefault_voicemail_timezone = $row[19]; + $SSdefault_local_gmt = $row[20]; + $SScampaign_cid_areacodes_enabled = $row[21]; + $SSpllb_grouping_limit = $row[22]; + $SSdid_ra_extensions_enabled = $row[23]; + $SSexpanded_list_stats = $row[24]; + $SScontacts_enabled = $row[25]; + $SSalt_log_server_ip = $row[26]; + $SSalt_log_dbname = $row[27]; + $SSalt_log_login = $row[28]; + $SSalt_log_pass = $row[29]; + $SStables_use_alt_log_db = $row[30]; + $SSallow_emails = $row[31]; + $SSemail_enabled = $row[32]; + $SSlevel_8_disable_add = $row[33]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $email_account_id = ereg_replace("[^_0-9a-zA-Z]","",$email_account_id); + $email_account_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_name); + $email_account_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$email_account_description); + $user_group = ereg_replace("[^_0-9a-zA-Z]","",$user_group); + $protocol = ereg_replace("[^_0-9a-zA-Z]","",$protocol); + $email_account_server = ereg_replace("[^\.\-\_0-9a-zA-Z]","",$email_account_server); + $active = ereg_replace("[^_0-9a-zA-Z]","",$active); + $email_frequency_check_mins = preg_replace("/^0-9/","",$email_frequency_check_mins); + $list_id = ereg_replace("[^0-9]","",$list_id); + + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$add_copy_disabled=0; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_email_accounts='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($webroot_writable > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$user = $PHP_AUTH_USER; + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Utentename/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + if ($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,user_level,user_group,modify_email_accounts from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $LOGuser_level = $row[1]; + $LOGuser_group = $row[2]; + $LOGemails_modify = $row[3]; + + if (($LOGuser_level < 9) and ($SSlevel_8_disable_add > 0)) + {$add_copy_disabled++;} + + $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns = $row[0]; + $LOGallowed_reports = $row[1]; + $LOGadmin_viewable_groups = $row[2]; + $LOGadmin_viewable_call_times = $row[3]; + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!eregi("--ALL--",$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} + $regexLOGadmin_viewable_groups = " $LOGadmin_viewable_groups "; + + $UUgroups_list=''; + if ($admin_viewable_groupsALL > 0) + {$UUgroups_list .= "\n";} + $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; + $rslt=mysql_query($stmt, $link); + $UUgroups_to_print = mysql_num_rows($rslt); + $o=0; + while ($UUgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $UUgroups_list .= "\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_handling='EMAIL' $LOGadmin_viewable_groupsSQL order by group_id;"; + # $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ADMINISTRATION: Dialer campi dell'account e-mail +<?php + +##### BEGIN Set variables to make header show properly ##### +$ADD = '0'; +$hh = 'admin'; +$sh = 'emails'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$admin_color = '#FFFF99'; +$admin_font = 'BLACK'; +$admin_color = '#E6E6E6'; +$emails_color = '#FFFF99'; +$emails_font = 'BLACK'; +$emails_color = '#C6C6C6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +if ( ($LOGemails_modify < 1) or ($LOGuser_level < 8) ) + { + echo "You are not authorized to view this section\n"; + exit; + } + +if ($SSemail_enabled < 1) + { + echo "ERRORE: messaggi di posta elettronica in entrata non sono attivi su questo sistema\n"; + exit; + } + + +$NWB = "   <a href=\"javascript:openNewWindow('admin.php?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"AIUTO\" ALIGN=TOP></A>"; + + +if ($DB > 0) +{ +echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_email_account,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order"; +} + +if ($eact=="DELETE" && $confirm_deletion=="yes" && $email_account_id) + { + $del_stmt="delete from vicidial_email_accounts where email_account_id='$email_account_id'"; + $del_rslt=mysql_query($del_stmt, $link); + $message="ACCOUNT $email_account_id DELETED<BR/>"; + $eact=""; + } + + + +if (($INVIA=="INVIA" || $INVIA=="UPDATE") && $email_account_id) + { + $error_msg=""; + if (!$list_id) {$error_msg.="- Default list ID is invalido o nullo<BR/>";} + if (!$email_account_id) {$error_msg.="- Email account ID is invalido o nullo<BR/>";} + if (!$email_account_name) {$error_msg.="- Email account name is invalido o nullo<BR/>";} + if (!$email_account_server) {$error_msg.="- Email account server is invalido o nullo<BR/>";} + if (!$email_account_user) {$error_msg.="- Email account user is invalido o nullo<BR/>";} + if (!$email_account_pass) {$error_msg.="- Email account password is invalido o nullo<BR/>";} + if (!filter_var($email_replyto_address, FILTER_VALIDATE_EMAIL)) {$error_msg.="- Email reply-to address is invalido o nullo<BR/>";} + + if (!$error_msg) + { + if ($INVIA=="INVIA") + { + if ($add_copy_disabled > 0) + { + echo "<br>Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } + else + { + $ins_stmt="INSERT INTO vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, email_replyto_address, protocol, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$email_account_id', '$email_account_name', '$email_account_description', '$user_group', '$email_replyto_address', '$protocol', '$email_account_server', '$email_account_user', '$email_account_pass', '$active', '$email_frequency_check_mins', '$group_id', '$default_list_id', '$email_account_type', '$call_handle_method', '$agent_search_method', '$list_id', '$campaign_id')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to create the new account<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NUOVO CONTO $email_account_id SUCCESSO CREATO"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $upd_stmt="update vicidial_email_accounts set email_account_name='$email_account_name', email_account_description='$email_account_description', user_group='$user_group', protocol='$protocol', email_replyto_address='$email_replyto_address', email_account_server='$email_account_server', email_account_user='$email_account_user', email_account_pass='$email_account_pass', active='$active', email_frequency_check_mins='$email_frequency_check_mins', group_id='$group_id', default_list_id='$default_list_id', email_account_type='$email_account_type', call_handle_method='$call_handle_method', agent_search_method='$agent_search_method', campaign_id='$campaign_id', list_id='$list_id' WHERE email_account_id='$email_account_id'"; + $upd_rslt=mysql_query($upd_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- There was an unknown error when attempting to update account $email_account_id<BR/>"; + if($DB>0) {$error_msg.="<B>$upd_stmt</B><BR>";} + } + else + { + $message="ACCOUNT $email_account_id SUCCESSO MODIFICATI"; + # $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$upd_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='MODIFY', record_id='$email_account_id', event_code='EMAIL ACCOUNT MODIFIED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } +else if ($INVIA=="COPY") + { + $stmt="select * from vicidial_email_accounts where email_account_id='$source_email_account'"; + $rslt=mysql_query($stmt, $link); + if (mysql_num_rows($rslt)>0) + { + if ($add_copy_disabled > 0) + { + echo "<br>Non si dispone dell'autorizzazione per aggiungere record su questo sistema -system_settings-\n"; + } + else + { + $row=mysql_fetch_array($rslt); + $ins_stmt="insert into vicidial_email_accounts(email_account_id, email_account_name, email_account_description, user_group, protocol, email_replyto_address, email_account_server, email_account_user, email_account_pass, active, email_frequency_check_mins, group_id, default_list_id, email_account_type, call_handle_method, agent_search_method, list_id, campaign_id) VALUES('$new_account_id', '$email_account_name', '$row[email_account_description]', '$row[user_group]', '$row[protocol]', '$row[email_replyto_address]', '$row[email_account_server]', '$row[email_account_user]', '$row[email_account_pass]', '$row[active]', '$row[email_frequency_check_mins]', '$row[group_id]','$row[default_list_id]', '$row[email_account_type]', '$row[call_handle_method]','$row[agent_search_method]', '$row[list_id]', '$row[campaign_id]')"; + $ins_rslt=mysql_query($ins_stmt, $link); + if (mysql_affected_rows($link)==0) + { + $error_msg.="- Si è verificato un errore sconosciuto nel tentativo di copiare il nuovo account<BR/>"; + if($DB>0) {$error_msg.="<B>$ins_stmt</B><BR>";} + } + else + { + $message="NUOVO CONTO $new_account_id SUCCESSO copiato da $source_email_account<BR/>"; + $eact=""; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$ins_stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=now(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='EMAIL', event_type='ADD', record_id='$user', event_code='NEW EMAIL ACCOUNT ADDED', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + $error_msg="- Error - email origine non esiste<BR/>"; + if($DB>0) {$error_msg.="<B>$stmt</B><BR>";} + } + } + + +################################################################################ +##### BEGIN copy fields to a list form +if ($eact == "COPY") + { + ##### get lists listing for dynamic pulldown + $stmt="SELECT email_account_id, email_account_name from vicidial_email_accounts order by email_account_id"; + $rsltx=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rsltx); + $accounts_list=''; + $o=0; + if ($accounts_to_print>0) + { + while ($accounts_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $accounts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "CONTO NON COPIATO<BR/>I dati da Lei presentato ha i seguenti errori:<BR/>$error_msg";} + echo "<br>Copiare un nuovo account da account esistente<form action='$PHP_SELF' method='GET'>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=action value=COPY_EMAIL_INVIA>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>ID account da cui copiare: </td><td align=left><select size=1 name=source_email_account>\n"; + echo "$accounts_list"; + echo "</select></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nuovo ID account: </td><td align=left><input type=text name=new_account_id value='$new_account_id' size=10 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nuovo nome account: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100>$NWB#vicidial_email_accounts-carrier_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=INVIA value='COPY'></td></tr>\n"; + echo "</TABLE></center>\n"; + echo "</TD></TR></TABLE>\n"; + } + else + { + echo "<TABLE><TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><br>*** Non ci sono conti esistenti per copiare da ***\n"; + echo "</TD></TR></TABLE>\n"; + } + } +### END copy fields to a list form +else if ($eact == "ADD") + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($error_msg) {echo "CONTO NON INSERITA<BR/>I dati da Lei presentato ha i seguenti errori:<BR/>$error_msg";} + echo "<br>AGGIUNGI NUOVO ACCOUNT EMAIL INBOUND<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email ID account: </td><td align=left><input type=text name=email_account_id size=15 maxlength=20 value='$email_account_id'>$NWB#vicidial_email_accounts-email_account_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Nome account: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Attivo: </td><td align=left><select size=1 name=active><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Descrizione: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Tipo di account: </td><td align=left><select size=1 name=email_account_type><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Admin Gruppo Utente: </td><td align=left><select size=1 name=user_group>\n"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Tutti i gruppi di utenti Admin</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account protocollo: </td><td align=left><select size=1 name=protocol><option SELECTED>IMAP</option><option>POP3</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Indirizzo di risposta: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Server: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Utente: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Password account: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">ID In-Group</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "</select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Predefinito ID List</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo di chiamata Maneggiare Metodo:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo di agente Metodo di ricerca:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo Elenco ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo-ID campagna:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=INVIA VALUE=INVIA><input type=hidden name='eact' value='ADD'></td></tr>\n"; + echo "</TABLE></center></form>\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } +else if (($eact=="DELETE" || $eact=="UPDATE") && $email_account_id) + { + if ( ($LOGemails_modify==1) ) + { + $stmt="SELECT * from vicidial_email_accounts where email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_array($rslt); + + $email_account_id=$row["email_account_id"]; + $email_account_name=$row["email_account_name"]; + $email_account_description=$row["email_account_description"]; + $user_group=$row["user_group"]; + $protocol=$row["protocol"]; + $email_replyto_address=$row["email_replyto_address"]; + $email_account_server=$row["email_account_server"]; + $email_account_user=$row["email_account_user"]; + $email_account_pass=$row["email_account_pass"]; + $active=$row["active"]; + $email_frequency_check_mins=$row["email_frequency_check_mins"]; + $group_id=$row["group_id"]; + $call_handle_method=$row["call_handle_method"]; + $agent_search_method=$row["agent_search_method"]; + $campaign_id=$row["campaign_id"]; + $list_id=$row["list_id"]; + $default_list_id=$row["default_list_id"]; + $email_account_type=$row["email_account_type"]; + + if ($eact=="DELETE" && $email_account_id) + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + echo "<br><B>Confermare l'eliminazione INBOUND email dell'account $email_account_id</B><BR>\n"; + echo "<a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id&confirm_deletion=yes'>Fare clic per eliminare l'account $email_account_id</a>\n"; + echo "</font>"; + } + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $whereLOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $FXgroups_menu=''; + $FXgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "<option "; + $FXgroups_menu .= "<option "; + if ($user_route_settings_ingroup == "$rowx[0]") + { + $Xgroups_menu .= "SELECTED "; + $Xgroups_selected++; + } + if ($filter_user_route_settings_ingroup == "$rowx[0]") + { + $FXgroups_menu .= "SELECTED "; + $FXgroups_selected++; + } + $Xgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FXgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Xgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FXgroups_selected < 1) + {$FXgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FXgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') $LOGadmin_viewable_groupsSQL order by group_id;"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $FDgroups_menu=''; + $FDgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "<option "; + $FDgroups_menu .= "<option "; + if ($group_id == "$rowx[0]") + { + $Dgroups_menu .= "SELECTED "; + $Dgroups_selected++; + } + if ($filter_group_id == "$rowx[0]") + { + $FDgroups_menu .= "SELECTED "; + $FDgroups_selected++; + } + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$Dgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + if ($FDgroups_selected < 1) + {$FDgroups_menu .= "<option SELECTED value=\"---NONE---\">---NONE---</option>\n";} + else + {$FDgroups_menu .= "<option value=\"---NONE---\">---NONE---</option>\n";} + + ## Get unhandled count + $stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$email_account_id'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $unhandled_emails=$row[0]; + + echo "<TABLE>\n"; + echo "<TR><TD>\n"; + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + if ($error_msg) {echo "CONTO NON AGGIORNATO<BR/>I dati da Lei presentato ha i seguenti errori:<BR/>$error_msg";} + echo "<br>Aggiornare una esistente INBOUND email dell'account<form action='$PHP_SELF' method='GET'>\n"; + echo "<center><TABLE width=$section_width cellspacing=3>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Email ID account: </td><td align=left><input type=hidden name=email_account_id value='$email_account_id'><B>$email_account_id$NWB#vicidial_email_accounts-email_account_id$NWE</B></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Nome account: </td><td align=left><input type=text name=email_account_name size=40 maxlength=100 value='$email_account_name'>$NWB#vicidial_email_accounts-email_account_name$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Attivo: </td><td align=left><select size=1 name=active>"; + echo "<option value='$active' selected>$active</option>"; + echo "<option>Y</option><option>N</option></select>$NWB#vicidial_email_accounts-email_account_active$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Descrizione: </td><td align=left><input type=text name=email_account_description size=70 maxlength=255 value='$email_account_description'>$NWB#vicidial_email_accounts-email_account_description$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Tipo di account: </td><td align=left><select size=1 name=email_account_type><option value='$email_account_type' selected>$email_account_type</option><option>INBOUND</option></select>$NWB#vicidial_email_accounts-email_account_type$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Admin Gruppo Utente: </td><td align=left><select size=1 name=user_group>\n"; + echo "<option value='$user_group' selected>$user_group</option>"; + echo "$UUgroups_list"; + echo "<option SELECTED value=\"---ALL---\">Tutti i gruppi di utenti Admin</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-admin_user_group$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account protocollo: </td><td align=left><select size=1 name=protocol><option>IMAP</option><option>POP3</option><option SELECTED>$protocol</option></select>$NWB#vicidial_email_accounts-protocol$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Indirizzo di risposta: </td><td align=left><input type=text name=email_replyto_address size=70 maxlength=255 value='$email_replyto_address'>$NWB#vicidial_email_accounts-email_replyto_address$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Server: </td><td align=left><input type=text name=email_account_server size=70 maxlength=255 value='$email_account_server'>$NWB#vicidial_email_accounts-email_account_server$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Account Utente: </td><td align=left><input type=text name=email_account_user size=30 maxlength=255 value='$email_account_user'>$NWB#vicidial_email_accounts-email_account_user$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Password account: </td><td align=left><input type=text name=email_account_pass size=30 maxlength=100 value='$email_account_pass'>$NWB#vicidial_email_accounts-email_account_pass$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Email Frequency Check Rate (mins): </td><td align=left><select name='email_frequency_check_mins'>"; + echo "<option value='$email_frequency_check_mins' selected>$email_frequency_check_mins</option>"; + $i=5; + while ($i<=60) + { + echo "<option value='$i'>$i</option>"; + $i+=5; + } + echo "</select>$NWB#vicidial_email_accounts-email_frequency_check_mins$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=3811&group_id=$group_id\">ID In-Group</a>: </td><td align=left><select size=1 name=group_id>"; + echo "$Dgroups_menu"; + echo "<option value='$group_id' selected>$group_id</option></select>$NWB#vicidial_email_accounts-in_group$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"admin.php?ADD=1000\">Predefinito ID List</a>: </td><td align=left><input type=text name=default_list_id size=20 maxlength=255 value='$default_list_id'>$NWB#vicidial_email_accounts-default_list_id$NWE</td></tr>\n"; + +############### + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo di chiamata Maneggiare Metodo:</td><td align=left><select size=1 name=call_handle_method><option>EMAIL</option><option>EMAILLOOKUP</option><option>EMAILLOOKUPRL</option><option>EMAILLOOKUPRC</option><option SELECTED>$call_handle_method</option></select>$NWB#vicidial_email_accounts-call_handle_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo di agente Metodo di ricerca:</td><td align=left><select size=1 name=agent_search_method><option value=\"LB\">LB - Load Balanced</option><option value=\"LO\">LO - Load Balanced Overflow</option><option value=\"SO\">SO - Server Only</option><option SELECTED>$agent_search_method</option></select>$NWB#vicidial_email_accounts-agent_search_method$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo Elenco ID:</td><td align=left><input type=text name=list_id size=14 maxlength=14 value=\"$list_id\">$NWB#vicidial_email_accounts-ingroup_list_id$NWE</td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Nel gruppo-ID campagna:</td><td align=left><select size=1 name=campaign_id>\n"; + echo "$campaigns_list"; + echo "<option SELECTED>$campaign_id</option>\n"; + echo "</select>$NWB#vicidial_email_accounts-ingroup_campaign_id$NWE</td></tr>\n"; + + echo "<tr bgcolor=#B6D3FC><td align=right>Messaggi di posta elettronica non-trattati: </td><td align=left><B>$unhandled_emails</B></td></tr>\n"; +################ + + echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=INVIA VALUE=UPDATE><input type=hidden name='eact' value='UPDATE'></td></tr>\n"; + echo "</TABLE><BR><BR>"; + if ($LOGuser_level >= 9) + { + echo "<br><br><a href=\"admin.php?ADD=720000000000000&category=EMAIL&stage=$email_account_id\">Clicca qui per vedere i cambiamenti di amministratore per questo record</FONT>\n"; + } + echo "<BR><BR><a href='$PHP_SELF?eact=DELETE&email_account_id=$email_account_id'>DELETE EMAIL ACCOUNT</a></center></form>\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } +else + { + echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>"; + if ($message) {echo "<B>$message</B><BR>";} + echo "<br>INBOUND EMAIL Annunci account:\n"; + echo "<center><TABLE width=750 cellspacing=0 cellpadding=1>\n"; + echo "<TR BGCOLOR=BLACK>\n"; + echo "<TD><font size=1 color=white>ACCOUNT ID</TD>\n"; + echo "<TD><font size=1 color=white>ACCOUNT NAME</TD>\n"; + echo "<TD><font size=1 color=white>DESCRIZIONE</TD>\n"; + echo "<TD><font size=1 color=white>REPLY-TO ADDRESS</TD>\n"; + echo "<TD><font size=1 color=white>PROTOCOL</TD>\n"; + echo "<TD><font size=1 color=white>SERVER</TD>\n"; + echo "<TD><font size=1 color=white>FREQUENCY</TD>\n"; + echo "<TD><font size=1 color=white>ATTIVO</TD>\n"; + echo "<TD><font size=1 color=white>Mail non lette</TD>\n"; + echo "<TD><font size=1 color=white>MODIFICA</TD></tr>\n"; + + $stmt="SELECT email_account_id, email_account_name, email_account_description, email_replyto_address, protocol, email_account_server, email_frequency_check_mins, active from vicidial_email_accounts $whereLOGadmin_viewable_groupsSQL order by email_account_id;"; + $rslt=mysql_query($stmt, $link); + $accounts_to_print = mysql_num_rows($rslt); + $o=0; + while ($accounts_to_print > $o) + { + $row=mysql_fetch_array($rslt); + + ## Get unhandled count + $ct_stmt="select count(*) From vicidial_email_list where status='NEW' and email_account_id='$row[email_account_id]'"; + $ct_rslt=mysql_query($ct_stmt, $link); + $ct_row=mysql_fetch_row($ct_rslt); + $unhandled_emails=$ct_row[0]; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<tr $bgcolor><td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">$row[email_account_id]</a></font></td>"; + echo "<td><font size=1> $row[email_account_name]</font></td>"; + echo "<td><font size=1> $row[email_account_description]</font></td>"; + echo "<td><font size=1> $row[email_replyto_address]</font></td>"; + echo "<td><font size=1> $row[protocol]</font></td>"; + echo "<td><font size=1> $row[email_account_server]</font></td>"; + echo "<td><font size=1> $row[email_frequency_check_mins] mins</font></td>"; + echo "<td><font size=1> $row[active]</font></td>"; + echo "<td><font size=1> $unhandled_emails</font></td>"; + echo "<td><font size=1><a href=\"$PHP_SELF?eact=UPDATE&email_account_id=$row[email_account_id]\">MODIFICA</a></font></td></tr>\n"; + $o++; + } + + echo "</table></font>"; + } + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $STARTtime); +echo "\n\n\n<br><br><br>\n<font size=1> runtime: $RUNtime seconds         Versione: $admin_version     Build: $build</font>"; + +?> + +</body> +</html> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/admin_header.php b/agc_2-X/trunk/LANG_www/vicidial_it/admin_header.php index f8cb734e..d196cc63 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/admin_header.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/admin_header.php @@ -1,7 +1,7 @@ <?php # admin_header.php - VICIDIAL administration header # -# Copyright (C) 2012 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 # # CHANGES @@ -37,6 +37,10 @@ # 111106-0939 - Changes for user group restrictions # 111116-0208 - Added ALT and ADDR3 in-group handle methods # 120402-2134 - Changed lead loader link to fourth gen +# 121116-1412 - Added QC functionality +# 121123-0911 - Added Call Times Holidays Inbound functionality +# 121214-2238 - Added email menus +# 130221-1830 - Added Level 8 disable add option # @@ -50,13 +54,14 @@ if($short_header) ?> <TD>   <A HREF="admin.php" ALT="Utenti"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Utenti</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10" ALT="Campagnas"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Campagnas</B></A>   </TD> + <?php include 'qc/QC_header_include02.php'; ?> <TD>   <A HREF="admin.php?ADD=100" ALT="Liste"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Liste</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000000" ALT="Script"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Script</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000000" ALT="Filtri"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Filtri</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=1000" ALT="Inbound"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Inbound</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=100000" ALT="Gruppi Utenti"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Gruppi Utenti</B></A>   </TD> <TD>   <A HREF="admin.php?ADD=10000" ALT="Operatori Remoti"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Operatori Remoti</B></A>   </TD> - <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Admin</B></A>   </TD> + <TD>   <A HREF="admin.php?ADD=999998" ALT="Admin"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B> Admin </B></A>   </TD> <?php } else @@ -110,6 +115,7 @@ if ($hh=='admin') if ($hh=='reports') {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} +include('qc/QC_header_include01.php'); echo "\n"; echo ""; $field_check=explode($delimiter, $buffer); flush(); -} else if ($form_action=="update_template") { + } +else if ($form_action=="update_template") + { echo "Hi"; -} else { + } +else + { + if ( (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$LF_orig)) or (preg_match("/;|:|\/|\^|\[|\]|\"|\'|\*/",$sample_template_file_name)) ) + { + echo "ERROR: Invalid File Name: $LF_orig $sample_template_file_name\n"; + exit; + } # echo "** $form_action"; die; $fields_stmt = "SELECT list_id, vendor_lead_code, source_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, rank, owner from vicidial_list limit 1"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/list_download.php b/agc_2-X/trunk/LANG_www/vicidial_it/list_download.php index f33dd1d8..22bddb0b 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/list_download.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/list_download.php @@ -4,7 +4,7 @@ # downloads the entire contents of a vicidial list ID to a flat text file # that is tab delimited # -# Copyright (C) 2010 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,8 +20,13 @@ # 100924-1609 - Added ALL-LISTS option for downloading everything # 100929-1919 - Fixed ALL-LISTS download option to include custom fields # 101004-2108 - Added generic custom column headers for custom fields +# 120713-2110 - Added extended_vl_fields option +# 120907-1217 - Raised extended fields up to 99 +# 130414-0228 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +69,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); -# echo "\n"; - } - $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -91,6 +87,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$list_id, $group_id, $download_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); +# echo "\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -112,6 +137,16 @@ if ( (!preg_match("/$report_name/",$LOGallowed_reports)) and (!preg_match("/ALL exit; } +if (file_exists('options.php')) + {require('options.php');} +$extended_vl_fields_SQL=''; +$extended_vl_fields_HEADER=''; +if ($extended_vl_fields > 0) + { + $extended_vl_fields_SQL = ',q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31,q32,q33,q34,q35,q36,q37,q38,q39,q40,q41,q42,q43,q44,q45,q46,q47,q48,q49,q50,q51,q52,q53,q54,q55,q56,q57,q58,q59,q60,q61,q62,q63,q64,q65,q66,q67,q68,q69,q70,q71,q72,q73,q74,q75,q76,q77,q78,q79,q80,q81,q82,q83,q84,q85,q86,q87,q88,q89,q90,q91,q92,q93,q94,q95,q96,q97,q98,q99'; + $extended_vl_fields_HEADER = "\tq01\tq02\tq03\tq04\tq05\tq06\tq07\tq08\tq09\tq10\tq11\tq12\tq13\tq14\tq15\tq16\tq17\tq18\tq19\tq20\tq21\tq22\tq23\tq24\tq25\tq26\tq27\tq28\tq29\tq30\tq31\tq32\tq33\tq34\tq35\tq36\tq37\tq38\tq39\tq40\tq41\tq42\tq43\tq44\tq45\tq46\tq47\tq48\tq49\tq50\tq51\tq52\tq53\tq54\tq55\tq56\tq57\tq58\tq59\tq60\tq61\tq62\tq63\tq64\tq65\tq66\tq67\tq68\tq69\tq70\tq71\tq72\tq73\tq74\tq75\tq76\tq77\tq78\tq79\tq80\tq81\tq82\tq83\tq84\tq85\tq86\tq87\tq88\tq89\tq90\tq91\tq92\tq93\tq94\tq95\tq96\tq97\tq98\tq99"; + } + $LOGallowed_campaignsSQL=''; if ( (!eregi("-ALL",$LOGallowed_campaigns)) ) { @@ -304,13 +339,13 @@ else { $TXTfilename = "LIST_$list_id$US$FILE_TIME.txt"; $list_id_header=''; - $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id='$list_id';"; + $stmt="select lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id='$list_id';"; if ($list_id=='ALL-LISTS') { $list_id_header="list_id\t"; - $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner from vicidial_list where list_id > 0;"; + $stmt="select list_id,lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner $extended_vl_fields_SQL from vicidial_list where list_id > 0;"; } - $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner"; + $header_row = $list_id_header . "lead_id\tentry_date\tmodify_date\tstatus\tuser\tvendor_lead_code\tsource_id\tlist_id\tgmt_offset_now\tcalled_since_last_reset\tphone_code\tphone_number\ttitle\tfirst_name\tmiddle_initial\tlast_name\taddress1\taddress2\taddress3\tcity\tstate\tprovince\tpostal_code\tcountry_code\tgender\tdate_of_birth\talt_phone\temail\tsecurity_phrase\tcomments\tcalled_count\tlast_local_call_time\trank\towner$extended_vl_fields_HEADER"; $header_columns=''; } @@ -342,16 +377,21 @@ while ($i < $leads_to_print) else { $row[29] = preg_replace("/\n|\r/",'!N',$row[29]); + $extended_vl_fields_DATA=''; if ($list_id=='ALL-LISTS') { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[33]\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]\t$row[34]$extended_vl_fields_DATA"; $export_list_id[$i] = $row[0]; $export_lead_id[$i] = $row[1]; } else { - $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]"; + if ($extended_vl_fields > 0) + {$extended_vl_fields_DATA = "\t$row[34]\t$row[35]\t$row[36]\t$row[37]\t$row[38]\t$row[39]\t$row[40]\t$row[41]\t$row[42]\t$row[43]\t$row[44]\t$row[45]\t$row[46]\t$row[47]\t$row[48]\t$row[49]\t$row[50]\t$row[51]\t$row[52]\t$row[53]\t$row[54]\t$row[55]\t$row[56]\t$row[57]\t$row[58]\t$row[59]\t$row[60]\t$row[61]\t$row[62]\t$row[63]\t$row[64]\t$row[65]\t$row[66]\t$row[67]\t$row[68]\t$row[69]\t$row[70]\t$row[71]\t$row[72]\t$row[73]\t$row[74]\t$row[75]\t$row[76]\t$row[77]\t$row[78]\t$row[79]\t$row[80]\t$row[81]\t$row[82]\t$row[83]\t$row[84]\t$row[85]\t$row[86]\t$row[87]\t$row[88]\t$row[89]\t$row[90]\t$row[91]\t$row[92]\t$row[93]\t$row[94]\t$row[95]\t$row[96]\t$row[97]\t$row[98]\t$row[99]\t$row[100]\t$row[101]\t$row[102]\t$row[103]\t$row[104]\t$row[105]\t$row[106]\t$row[107]\t$row[108]\t$row[109]\t$row[110]\t$row[111]\t$row[112]\t$row[113]\t$row[114]\t$row[115]\t$row[116]\t$row[117]\t$row[118]\t$row[119]\t$row[120]\t$row[121]\t$row[122]\t$row[123]\t$row[124]\t$row[125]\t$row[126]\t$row[127]\t$row[128]\t$row[129]\t$row[130]\t$row[131]\t$row[132]";} + $row_data[$i] .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\t$row[33]$extended_vl_fields_DATA"; $export_list_id[$i] = $list_id; $export_lead_id[$i] = $row[0]; } @@ -480,14 +520,6 @@ if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') ) } -### LOG INSERTION Admin Log Table ### -$SQL_log = "$stmt|$stmtA|"; -$SQL_log = ereg_replace(';','',$SQL_log); -$SQL_log = addslashes($SQL_log); -$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; -if ($DB) {echo "|$stmt|\n";} -$rslt=mysql_query($stmt, $link); - echo "$header_row$header_columns\r\n"; @@ -499,6 +531,33 @@ while ($i < $leads_to_print) $i++; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +### LOG INSERTION Admin Log Table ### +$SQL_log = "$stmt|$stmtA|"; +$SQL_log = ereg_replace(';','',$SQL_log); +$SQL_log = addslashes($SQL_log); +$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT $event_code_type', event_sql=\"$SQL_log\", event_notes='';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/non_agent_api.php b/agc_2-X/trunk/LANG_www/vicidial_it/non_agent_api.php index a4a8d34e..a59b4ffe 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/non_agent_api.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/non_agent_api.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # This script is designed as an API(Application Programming Interface) to allow # other programs to interact with all non-agent-screen VICIDIAL functions @@ -65,10 +65,20 @@ # 120213-1613 - Added optional logging of all non-admin.php requests, enabled in options.php # 120315-1537 - Added filter for single-quotes and backslashes on custom field data # 120326-1317 - Added agent_stats_export function +# 120810-0859 - Added add_group_alias function, altered agent_stats_export function +# 120831-1529 - Added vicidial_dial_log outbound call logging +# 120912-2042 - Added user_group_status and in_group_status functions +# 120913-1255 - Added update_log_entry function +# 121116-1938 - Added state call time restrictions to add_lead hopper insert function +# 121125-2210 - Added Other Campaign DNC option and list expiration date option +# 130328-0949 - Added update_phone_number option to update_lead function, issue #653 +# 130405-1539 - Added agent_status function +# 130414-0311 - Added report logging for blind_monitor function +# 130420-1938 - Added NANPA prefix validation and timezone options # -$version = '2.4-43'; -$build = '120326-1317'; +$version = '2.6-53'; +$build = '130420-1938'; $api_url_log = 0; $startMS = microtime(); @@ -88,6 +98,8 @@ if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["update_phone_number"])) {$update_phone_number=$_GET["update_phone_number"];} + elseif (isset($_POST["update_phone_number"])) {$update_phone_number=$_POST["update_phone_number"];} if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} @@ -298,6 +310,26 @@ if (isset($_GET["datetime_end"])) {$datetime_end=$_GET["datetime_end"];} elseif (isset($_POST["datetime_end"])) {$datetime_end=$_POST["datetime_end"];} if (isset($_GET["time_format"])) {$time_format=$_GET["time_format"];} elseif (isset($_POST["time_format"])) {$time_format=$_POST["time_format"];} +if (isset($_GET["group_alias_id"])) {$group_alias_id=$_GET["group_alias_id"];} + elseif (isset($_POST["group_alias_id"])) {$group_alias_id=$_POST["group_alias_id"];} +if (isset($_GET["group_alias_name"])) {$group_alias_name=$_GET["group_alias_name"];} + elseif (isset($_POST["group_alias_name"])) {$group_alias_name=$_POST["group_alias_name"];} +if (isset($_GET["caller_id_number"])) {$caller_id_number=$_GET["caller_id_number"];} + elseif (isset($_POST["caller_id_number"])) {$caller_id_number=$_POST["caller_id_number"];} +if (isset($_GET["caller_id_name"])) {$caller_id_name=$_GET["caller_id_name"];} + elseif (isset($_POST["caller_id_name"])) {$caller_id_name=$_POST["caller_id_name"];} +if (isset($_GET["user_groups"])) {$user_groups=$_GET["user_groups"];} + elseif (isset($_POST["user_groups"])) {$user_groups=$_POST["user_groups"];} +if (isset($_GET["in_groups"])) {$in_groups=$_GET["in_groups"];} + elseif (isset($_POST["in_groups"])) {$in_groups=$_POST["in_groups"];} +if (isset($_GET["call_id"])) {$call_id=$_GET["call_id"];} + elseif (isset($_POST["call_id"])) {$call_id=$_POST["call_id"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["expiration_date"])) {$expiration_date=$_GET["expiration_date"];} + elseif (isset($_POST["expiration_date"])) {$expiration_date=$_POST["expiration_date"];} +if (isset($_GET["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_GET["nanpa_ac_prefix_check"];} + elseif (isset($_POST["nanpa_ac_prefix_check"])) {$nanpa_ac_prefix_check=$_POST["nanpa_ac_prefix_check"];} header ("Content-type: text/html; charset=utf-8"); @@ -327,6 +359,7 @@ if ($non_latin < 1) $format = ereg_replace("[^0-9a-zA-Z]","",$format); $list_id = ereg_replace("[^0-9]","",$list_id); $phone_code = ereg_replace("[^0-9]","",$phone_code); + $update_phone_number=ereg_replace("[^A-Z]","",$update_phone_number); $phone_number = ereg_replace("[^0-9]","",$phone_number); $vendor_lead_code = ereg_replace(";","",$vendor_lead_code); $vendor_lead_code = ereg_replace("\+"," ",$vendor_lead_code); @@ -442,6 +475,16 @@ if ($non_latin < 1) $datetime_start = ereg_replace("[^- \+\:\_0-9]","",$datetime_start); $datetime_end = ereg_replace("[^- \+\:\_0-9]","",$datetime_end); $time_format = ereg_replace("[^A-Z]","",$time_format); + $group_alias_id = ereg_replace("[^\_0-9a-zA-Z]","",$group_alias_id); + $group_alias_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$group_alias_name); + $caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); + $caller_id_name = ereg_replace("[^- \+\_0-9a-zA-Z]","",$caller_id_name); + $user_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$user_groups); + $in_groups = ereg_replace("[^-\|\_0-9a-zA-Z]","",$in_groups); + $call_id = ereg_replace("[^0-9a-zA-Z]","",$call_id); + $group = ereg_replace("[^-\|\_0-9a-zA-Z]","",$group); + $expiration_date = ereg_replace("[^-_0-9a-zA-Z]","",$expiration_date); + $nanpa_ac_prefix_check = ereg_replace("[^A-Z]","",$nanpa_ac_prefix_check); } else { @@ -451,6 +494,7 @@ else } $USarea = substr($phone_number, 0, 3); +$USprefix = substr($phone_number, 3, 3); if (strlen($hopper_priority)<1) {$hopper_priority=0;} if ($hopper_priority < -99) {$hopper_priority=-99;} if ($hopper_priority > 99) {$hopper_priority=99;} @@ -535,7 +579,7 @@ if ($function == 'version') ################################################################################ if ($function == 'sounds_list') { - $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6;"; + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 6 and active='Y';"; if ($DB>0) {echo "DEBUG: sounds_list query - $stmt\n";} $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -556,10 +600,11 @@ if ($function == 'sounds_list') if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} else {$HTTPprotocol = 'http://';} $admDIR = "$HTTPprotocol$server_name:$server_port"; + $admin_web_dir=''; ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### - $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory FROM system_settings;"; + $stmt = "SELECT use_non_latin,sounds_central_control_active,sounds_web_server,sounds_web_directory,admin_web_directory FROM system_settings;"; $rslt=mysql_query($stmt, $link); $ss_conf_ct = mysql_num_rows($rslt); if ($ss_conf_ct > 0) @@ -569,6 +614,9 @@ if ($function == 'sounds_list') $sounds_central_control_active = $row[1]; $sounds_web_server = $row[2]; $sounds_web_directory = $row[3]; + $admin_web_directory = $row[4]; + if (preg_match("/\//",$admin_web_directory)) + {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} } ##### END SETTINGS LOOKUP ##### ########################################### @@ -631,7 +679,7 @@ if ($function == 'sounds_list') if (eregi('tab',$format)) {echo "$k\t$file_names[$m]\t$file_dates[$m]\t$file_sizes[$m]\t$file_epoch[$m]\n";} if (eregi('link',$format)) - {echo "$file_names[$m]
    \n";} + {echo "$file_names[$m]
    \n";} if (eregi('selectframe',$format)) { if ($sf < 1) @@ -674,7 +722,7 @@ if ($function == 'sounds_list') echo "
    $file_names[$m]$file_dates[$m]$file_sizes[$m]PLAY
    PLAY
    \n"; + echo ""; +//SELECT campaign_id,campaign_name from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' order by campaign_name"; +// echo $stmt="SELECT conf_exten,server_ip,extension from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + + echo "
    VICIDIAL QUALITY LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    CAMPAGNA IDCAMPAIGN NAMEQC STATUSESMODIFICA
    $row[0] $row[1] $row[2]MODIFICA
    \n"; +} +###################### +# ADD=881 VIEW one qc campaign +###################### +if (($ADD==881) && ($qc_auth=='1')) { + echo " + + + 1) { + ?> +> + + +> + + +> + + + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include01.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include01.php new file mode 100644 index 00000000..4cbe0593 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include01.php @@ -0,0 +1,16 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include02.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include02.php new file mode 100644 index 00000000..ca5f68d5 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include02.php @@ -0,0 +1,17 @@ + + + diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_status_codes_include.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_status_codes_include.php new file mode 100644 index 00000000..0c2d01ac --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_status_codes_include.php @@ -0,0 +1,140 @@ +"; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    QC CODICE STATO NON AGGIUNTO- vi è già un qc codice di stato del sistema con questo nome: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    QC CODICE STATO NON AGGIUNTO- Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
    codice deve essere compreso tra 1 e 8 caratteri di lunghezza\n"; + echo "
    nome in codice deve essere compreso tra 2 e 30 caratteri di lunghezza\n"; + } + else + { + echo "
    QC STATUS CODICE AGGIUNTO:$code_name - $code\n"; + if (isset($_POST["qc_category"])) {$qc_category=$_POST["qc_category"];} + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) values('$code','$code_name','$qc_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111111; + } + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) + { + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + if ( ($SSadmin_modify_rinfrescare > 1) and ($modify_rinfrescare_set < 1) ) + { + $modify_url = "$PHP_SELF?ADD=341111111111111"; + $modify_footer_rinfrescare=1; + } + echo "
    \n"; + echo ""; + $stmt="SELECT campaign_id,campaign_name, qc_statuses from vicidial_campaigns where active = 'Y' and qc_enabled='Y' and campaign_id='$campaign_id' limit 1"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + $row=mysql_fetch_row($rslt); + $o++; + } + $qc_status_list=substr($row[2],0,strlen($row[2])-2); + + echo "
    $campaign_id - {$row[1]} - Controllo di qualità Queue
    QC statuses: $qc_status_list\n"; + + $qc_statuses=explode(' ',$qc_status_list); + echo "
    \n"; + foreach ( $qc_statuses as $qc_status ) { + $stmt="SELECT lead_id,first_name,last_name,modify_date,user from vicidial_list inner join vicidial_lists on vicidial_list.list_id=vicidial_lists.list_id where campaign_id='$campaign_id' and status='$qc_status' order by status, modify_date"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + $o=0; + while ($vicidialconf_to_print > $o) { + if($o==0){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) { + $bgcolor='bgcolor="#B9CBFD"'; + } + else { + $bgcolor='bgcolor="#9BB9FB"'; + } + echo ""; + echo ""; + $lead_name=trim($row[1].' '.$row[2]); + $lead_nameENC=urlencode($lead_name); + if (strlen($lead_name)<1) $lead_name='No Name'; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + } + echo "
    $qc_status ($vicidialconf_to_print)LEAD IDNOMELast ModifiedUtenteID
      $row[0]$lead_name $row[3]$row[4]
    \n"; +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include02.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include02.php new file mode 100644 index 00000000..cd1664a9 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_include02.php @@ -0,0 +1,34 @@ + 1 and active='Y' and qc_enabled='1';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$qc_auth=$row[0]; +//Not "qc_" as it will interfere with ADD=4A storage of modified user. +if ($qc_auth=='1') { + $qcuser_level=$row[1]; + $qcpass=$row[2]; + $qcfinish=$row[3]; + $qccommit=$row[4]; +} +//Modificaremenuing to allow qc users into the system (if they have no permission otherwise) +//Copied Rapporti-Only user setup for QC-Only user (Poundteam QC setup) +$qc_only_user=0; +if ( ($qc_auth > 0) and ($auth < 1) ) + { + if ($ADD != '881'){ + $ADD=100000000000000; + } + $qc_only_user=1; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_modify_lead_include.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_modify_lead_include.php new file mode 100644 index 00000000..de645672 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_modify_lead_include.php @@ -0,0 +1,20 @@ + 0) + { + echo "

    Click here to QC Modificarethis lead\n"; + } +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_variables.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_variables.php new file mode 100644 index 00000000..f99255fb --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_admin_variables.php @@ -0,0 +1,15 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Utentename/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Citta`'; +$label_state = 'State'; +$label_province = 'Provincia'; +$label_postal_code = 'CAP'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sesso'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Note'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} +include('QC_call_client_include.php'); +$qc_user_logged_in=is_user_logged_in($PHP_AUTH_USER); +if ($qc_user_logged_in===true){ + echo "Call Lead"; +} else { + echo "$qc_user_logged_in"; +} +echo " Refresh"; + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_call_client_include.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_call_client_include.php new file mode 100644 index 00000000..02ea1866 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_call_client_include.php @@ -0,0 +1,45 @@ + diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include.php new file mode 100644 index 00000000..9c70e42b --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/QC_header_include.php @@ -0,0 +1,42 @@ + + + +
    > + SIZE=> Controllo di qualità +
      + > Show QC Campagne +
      + > Enter QC Queue +
      + > ModificareQC Codes +
      Controllo di qualità  
    "; + $alts_output .= ""; + $alts_output .= ""; + $alts_output .= "\n"; + $alts_output .= "\n"; + $alts_output .= "\n"; + } + + } + else + { + echo "las operaciones de búsqueda del plomo FALLARON para el lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + ##### grab vicidial_log records ##### + $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + if($DB) echo __LINE__."
    \n"; + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= ""; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select agent_log_id,user,server_ip,event_time,lead_id,campaign_id,pause_epoch,pause_sec,wait_epoch,wait_sec,talk_epoch,talk_sec,dispo_epoch,dispo_sec,status,user_group,comments,sub_status from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo __LINE__."
    \n"; + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_qc_agent_log records ##### + //Differentiate between View and Mod + $stmt="select * from vicidial_qc_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by qc_agent_log_id desc limit 100;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + if($DB) echo "$stmt
    \n"; + $y=0; + $qc_agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_assoc($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + if (strlen($row['save_epoch'])=='0'){ //VIEW ONLY record + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } else { // CHANGE record + $detailtooltip=str_replace("\n", " ", $row['details']); // tool tip line break and both work in IE, but not firefox. + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= ""; + $qc_agent_log .= "\n"; + } + } + + ##### grab vicidial_closer_log records ##### + $stmt="select closecallid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,queue_seconds,user_group,xfercallid,term_reason,uniqueid,agent_only from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,called_count,last_local_call_time,rank,owner,entry_list_id from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) + {$lead_id = $row[0];} + $dispo = $row[3]; + $tsr = $row[4]; + $vendor_id = $row[5]; + $list_id = $row[7]; + $gmt_offset_now = $row[8]; + $phone_code = $row[10]; + $phone_number = $row[11]; + $title = $row[12]; + $first_name = $row[13]; + $middle_initial = $row[14]; + $last_name = $row[15]; + $address1 = $row[16]; + $address2 = $row[17]; + $address3 = $row[18]; + $city = $row[19]; + $state = $row[20]; + $province = $row[21]; + $postal_code = $row[22]; + $country_code = $row[23]; + $gender = $row[24]; + $date_of_birth = $row[25]; + $alt_phone = $row[26]; + $email = $row[27]; + $security = $row[28]; + $comments = $row[29]; + $called_count = $row[30]; + $last_local_call_time = $row[31]; + $rank = $row[32]; + $owner = $row[33]; + $entry_list_id = $row[34]; + + if($DB) { + echo __LINE__."\n"; + } + echo "
    Informazioni Chiamata: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "QC VICIDIAL Status CODICI Nellambito di questo sistema:  $NWB#vicidial_qc_status_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
    STATUS CODEDESCRIZIONEQC CATEGORIAMODIFICA/CANCELLA
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    $rowx[2]         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "CANCELLA\n"; + } + else + { + echo "CANCELLA\n"; + } + echo "
    \n"; + + echo "
    ADD NEW QC CODICE STATO
    \n"; + echo "\n"; + echo "Esito:   \n"; + echo "Descrizione: \n"; + echo "QC Categoria:
    \n"; + + echo "

    \n"; + + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/audit_comments.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/audit_comments.php new file mode 100644 index 00000000..2279d12a --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/audit_comments.php @@ -0,0 +1,98 @@ +"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditNote2',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 0) { + $comment=$row[0]; + //Put comment in comment table + $stmt="INSERT INTO vicidial_comments (lead_id,user_id,list_id,campaign_id,comment) VALUES ('$lead_id','$user','$list_id','$campaign','$comment');"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditNote3',$user,$server_ip,$session_name,$one_mysql_log); + } + $affected=mysql_affected_rows(); + if($affected>0) { + $stmt="UPDATE vicidial_list set comments='' where lead_id='$lead_id';"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditNote4',$user,$server_ip,$session_name,$one_mysql_log); + } + } else { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditNoteERROR-Comment not moved',$user,$server_ip,$session_name,$one_mysql_log); + echo "\n"; + } + } + } +} +function audit_comments_active($list_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log){ + $stmt="select count(audit_comments) from vicidial_lists_custom where list_id='$list_id' and audit_comments='1' limit 1;"; + if ($format=='debug') { + echo "\n"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-AuditNote5',$user,$server_ip,$session_name,$one_mysql_log); + } + $row=mysql_fetch_row($rslt); + if ($row[0] == '1') { + return true; + } else { + return false; + } +} +function get_audited_comments($lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log) { + global $ACcount; + global $ACcomments; + $stmt="select user_id,comment from vicidial_comments where lead_id='$lead_id';"; + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"00142-65-AuditNote:$stmt LeadID: $lead_id,$format,$user,$mel,$NOW_TIME,$link,$server_ip,$session_name,$one_mysql_log",$user,$server_ip,$session_name,$one_mysql_log); + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) { + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-69-AuditNote',$user,$server_ip,$session_name,$one_mysql_log); + } + $ACcount=mysql_num_rows($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-72-AuditNote $ACcount='.$ACcount,$user,$server_ip,$session_name,$one_mysql_log); + if($ACcount>0) { + $i=0; + while ($i < $ACcount) { + $row=mysql_fetch_row($rslt); + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-77-AuditNote UtenteID='.$row[0],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= "UtenteID: $row[0]\n"; + mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142-79-AuditNote Comment='.$row[1],$user,$server_ip,$session_name,$one_mysql_log); + $ACcomments .= $row[1]; + $ACcomments .= "\n----------------------------------\n"; + $i++; + } + return true; + } else { + return false; + } +} +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_api.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_api.php new file mode 100644 index 00000000..ba018755 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_api.php @@ -0,0 +1,627 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$ingroup_choices = ereg_replace("\+"," ",$ingroup_choices); +$query_string = ereg_replace("'|\"|\\\\|;","",$query_string); + +if ($non_latin < 1) + { + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $agent_user=ereg_replace("[^0-9a-zA-Z]","",$agent_user); + $function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); + $value = ereg_replace("[^-\_0-9a-zA-Z]","",$value); + $vendor_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vendor_id); + $focus = ereg_replace("[^-\_0-9a-zA-Z]","",$focus); + $preview = ereg_replace("[^-\_0-9a-zA-Z]","",$preview); + $notes = ereg_replace("\+"," ",$notes); + $notes = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$notes); + $phone_code = ereg_replace("[^0-9X]","",$phone_code); + $search = ereg_replace("[^-\_0-9a-zA-Z]","",$search); + $group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); + $dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); + $source = ereg_replace("[^0-9a-zA-Z]","",$source); + $format = ereg_replace("[^0-9a-zA-Z]","",$format); + $vtiger_callback = ereg_replace("[^A-Z]","",$vtiger_callback); + $blended = ereg_replace("[^A-Z]","",$blended); + $ingroup_choices = ereg_replace("[^ -\_0-9a-zA-Z]","",$ingroup_choices); + $set_as_default = ereg_replace("[^A-Z]","",$set_as_default); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $address1 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address1); + $address2 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address2); + $address3 = ereg_replace("[^ -\_0-9a-zA-Z]","",$address3); + $alt_phone = ereg_replace("[^ -\_0-9a-zA-Z]","",$alt_phone); + $city = ereg_replace("[^ -\_0-9a-zA-Z]","",$city); + $comments = ereg_replace("[^ -\_0-9a-zA-Z]","",$comments); + $country_code = ereg_replace("[^A-Z]","",$country_code); + $date_of_birth = ereg_replace("[^ -\_0-9]","",$date_of_birth); + $email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); + $first_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$first_name); + $gender = ereg_replace("[^A-Z]","",$gender); + $gmt_offset_now = ereg_replace("[^ \.-\_0-9]","",$gmt_offset_now); + $last_name = ereg_replace("[^ -\_0-9a-zA-Z]","",$last_name); + $lead_id = ereg_replace("[^0-9]","",$lead_id); + $middle_initial = ereg_replace("[^ -\_0-9a-zA-Z]","",$middle_initial); + $province = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$province); + $security_phrase = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$security_phrase); + $source_id = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$source_id); + $state = ereg_replace("[^ -\_0-9a-zA-Z]","",$state); + $title = ereg_replace("[^ -\_0-9a-zA-Z]","",$title); + $vendor_lead_code = ereg_replace("[^ -\.\_0-9a-zA-Z]","",$vendor_lead_code); + $rank = ereg_replace("[^-0-9]","",$rank); + $owner = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$owner); + $dial_override = ereg_replace("[^A-Z]","",$dial_override); + $consultative = ereg_replace("[^A-Z]","",$consultative); + } +else + { + $user = ereg_replace("'|\"|\\\\|;","",$user); + $pass = ereg_replace("'|\"|\\\\|;","",$pass); + $source = ereg_replace("'|\"|\\\\|;","",$source); + $agent_user = ereg_replace("'|\"|\\\\|;","",$agent_user); + $alt_user = ereg_replace("'|\"|\\\\|;","",$alt_user); + } + +### date and fixed variables +$epoch = date("U"); +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$api_script = 'agent'; +$api_logging = 1; +if ($consultative != 'YES') {$consultative='NO';} + + +################################################################################ +### BEGIN - version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "VERSIONE: $version|BUILD: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } +################################################################################ +### END - version +################################################################################ + + + + + +################################################################################ +### BEGIN - user validation section (most functions run through this first) +################################################################################ + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + $result = 'ERROR'; + $result_reason = "Utentename/Password non validi"; + echo "$result: $result_reason: |$user|$pass|$auth|\n"; + $data = "$user|$pass|$auth"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from system_settings where vdc_agent_api_active='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + $result = 'ERROR'; + $result_reason = "System API NOT ACTIVE"; + echo "$result: $result_reason\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + # do nothing for now + } + } + } + } + +if ($format=='debug') + { + $DB=1; + echo "\n"; + echo "\n"; + echo "";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_dial function set"; + $data = "$phone_code|$search|$preview|$focus|$vendor_id|$epoch|$dial_prefix|$group_alias|$caller_id_number"; + echo "$result: Dispo in Agent Screen FIRST.\n"; + // echo "$result: $result_reason - $value|$agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not allowed to place manual dial calls"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not paused"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + +// external_dial +################################################################################ +### END - external_dial +################################################################################ + + + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + + +##### FUNCTIONS ##### + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) + { + if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } + return 1; + } + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_modify_lead.php b/agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_modify_lead.php new file mode 100644 index 00000000..cfa5a864 --- /dev/null +++ b/agc_2-X/trunk/LANG_www/vicidial_it/qc/qc_modify_lead.php @@ -0,0 +1,1294 @@ + 0) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $custom_fields_enabled = $row[1]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } # end of non_latin +else + { + $PHP_AUTH_USER = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_USER); + $PHP_AUTH_PW = ereg_replace("'|\"|\\\\|;","",$PHP_AUTH_PW); + } + +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and qc_enabled = '1' and qc_user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("../project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Utentename/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } +else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads,user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + $LOGuser_group =$row[2]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$label_title = 'Title'; +$label_first_name = 'First'; +$label_middle_initial = 'MI'; +$label_last_name = 'Last'; +$label_address1 = 'Address1'; +$label_address2 = 'Address2'; +$label_address3 = 'Address3'; +$label_city = 'Citta`'; +$label_state = 'State'; +$label_province = 'Provincia'; +$label_postal_code = 'CAP'; +$label_vendor_lead_code = 'Vendor ID'; +$label_gender = 'Sesso'; +$label_phone_number = 'Phone'; +$label_phone_code = 'DialCode'; +$label_alt_phone = 'Alt. Phone'; +$label_security_phrase = 'Show'; +$label_email = 'Email'; +$label_comments = 'Note'; + +### find any custom field labels +$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +if (strlen($row[0])>0) {$label_title = $row[0];} +if (strlen($row[1])>0) {$label_first_name = $row[1];} +if (strlen($row[2])>0) {$label_middle_initial = $row[2];} +if (strlen($row[3])>0) {$label_last_name = $row[3];} +if (strlen($row[4])>0) {$label_address1 = $row[4];} +if (strlen($row[5])>0) {$label_address2 = $row[5];} +if (strlen($row[6])>0) {$label_address3 = $row[6];} +if (strlen($row[7])>0) {$label_city = $row[7];} +if (strlen($row[8])>0) {$label_state = $row[8];} +if (strlen($row[9])>0) {$label_province = $row[9];} +if (strlen($row[10])>0) {$label_postal_code = $row[10];} +if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} +if (strlen($row[12])>0) {$label_gender = $row[12];} +if (strlen($row[13])>0) {$label_phone_number = $row[13];} +if (strlen($row[14])>0) {$label_phone_code = $row[14];} +if (strlen($row[15])>0) {$label_alt_phone = $row[15];} +if (strlen($row[16])>0) {$label_security_phrase = $row[16];} +if (strlen($row[17])>0) {$label_email = $row[17];} +if (strlen($row[18])>0) {$label_comments = $row[18];} + + +//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + +$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; +$rslt=mysql_query($stmt, $link); +if (mysql_num_rows ($rslt) < '1' ){ + if($DB) { echo "$stmt\n"; } + exit(); + } +$row=mysql_fetch_assoc($rslt); +$original_record=$row; +$campaign_id =$row['campaign_id']; +$campaign_name =$row['campaign_name']; +$phone_number =$row['phone_number']; +$phone_code =$row['phone_code']; +$lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); +$scheduled_callback =$row['scheduled_callback']; + +?> + + + +QC ModificareLead: <?php echo "$lead_id - ".urldecode($lead_name).urldecode(" (Campagna: $campaign_id - $campaign_name)"); ?> + + + + + +QC CAMPAIGN $campaign_id: Lead $lead_id - ".urldecode($lead_name)."
    \n"; +//end_call is set by submit button to denote "save", without it this is a VIEW, with it this is a SAVE +if ($end_call > 0) { + if($DB) { echo __LINE__."\n"; } + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',title='" . mysql_real_escape_string($title) . "',first_name='" . mysql_real_escape_string($first_name) . "',middle_initial='" . mysql_real_escape_string($middle_initial) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',rank='" . mysql_real_escape_string($rank) . "',owner='" . mysql_real_escape_string($owner) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + //STATUS just changed, re-capture all data for client! + //Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc. + $stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'"; + if($DB) { echo "$stmt\n"; } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_assoc($rslt); + //QUALITY CONTROL CHANGE LOG BEGIN - CHANGE VERSIONE (VIEW VERSIONE IS BELOW, WHICH CREATES THE RECORD, THIS ONE MERELY MODIFIES THE EXISTING RECORD) + $new_record=$row; + //if status has changed, the join query above will have the "status" field of "vicidial_list" overwritten by the status field of "vicidial_statuses" ... which will be EMPTY if there is no matching status to the new QC status chosen. This will cause the changelog to be incorrect. + if ( strlen($new_record['status']) == '0' ) { + $new_record['status']=$new_record['code']; + } + + if($original_record != $new_record) { + //Information changed: Find out what and record it, first disable "view" logging + $qcchange='Y'; + $qcchangelist=''; + $qcchangecounter=0; + foreach($original_record as $key=>$value){ + //only list the changes in the first 35 fiels, those are from the vicidial_list table (the rest are from joined tables, and the changes cascade) + if(($new_record[$key]!=$value)&&($qcchangecounter<=35)) $qcchangelist.="----$key----\n$value => $new_record[$key]\n"; + $qcchangecounter++; + } + ### insert a NEW record to the vicidial_closer_log table + $qcchangelist=mysql_real_escape_string($qcchangelist); + $view_epoch = ereg_replace("[^0-9]","",$_POST['viewtime']); + $elapsed_seconds=$STARTtime-$view_epoch; + + $stmt="UPDATE vicidial_qc_agent_log set save_datetime='$NOW_TIME',save_epoch='$STARTtime',elapsed_seconds='$elapsed_seconds',old_status='{$original_record['status']}',new_status='{$new_record['status']}',details='$qcchangelist' + where view_epoch='$view_epoch' and lead_id='$lead_id'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL CHANGE LOG END + $original_sales_rep=$row['user']; + $campaign_id =$row['campaign_id']; + $campaign_name =$row['campaign_name']; + $lead_name =trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']); + $scheduled_callback =$row['scheduled_callback']; + + echo "
    informazione modificata

    \n"; + echo "Go back to re-modify this QC lead


    \n"; + echo "
    Proceed to QC CAMPAIGN $campaign_id Queue

    Callback Information:\n"; + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if($DB) { + echo __LINE__."\n"; + } + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'CBHOLD') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='ANYONE',status='ACTIVE',user='$PHP_AUTH_USER',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + //Duped CBHOLD version for vicidial status type 'Scheduled Callback' + //This entry creates the callback + if ( ($dispo != $status) and ($scheduled_callback == 'Y') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CBM_to_print = mysql_num_rows($rslt); + if ($CBM_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $callback_id = $rowx[0]; + } + else + { + $defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))); + + $stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysql_real_escape_string($lead_id) . "',recipient='USERONLY',status='ACTIVE',user='$original_sales_rep',user_group='ADMIN',list_id='" . mysql_real_escape_string($list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysql_real_escape_string($campaign_id) . "';"; + $debug1=$stmt; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Scheduled Callback added: $lead_id - $phone_number
    \n"; + } + } + + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + if($DB) { + echo __LINE__."\n"; + } + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + if($DB) { + echo __LINE__."\n"; + } + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + if($DB) echo __LINE__."\n"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + } else { + echo "\n"; + //Not a "Submit" result, viewing the record (possibly with URL options such as those below which modify callback status but not record data) + if ($CBchangeUSERtoANY == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an ANYONE callback for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to ANYONE
    \n"; + $qcchange='Y'; + } + if ($CBchangeUSERtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to a different USERONLY callback record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeANYtoUSER == 'YES') { + if($DB) echo __LINE__."\n"; + ### set vicidial_callbacks record to an USERONLY callback for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + $qcchange='Y'; + } + if ($CBchangeDATE == 'YES') { + if($DB) echo __LINE__."\n"; + ### change date/time of vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set callback_time='" . mysql_real_escape_string($appointment_date) . " " . mysql_real_escape_string($appointment_time) . "',comments='" . mysql_real_escape_string($comments) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "
    vicidial_callback record changed to $appointment_date $appointment_time
    \n"; + $qcchange='Y'; + } + //QUALITY CONTROL LOGGING BEGIN - VIEW ONLY + //If no changes have been made, record "view" of this record. + if ($qcchange != 'Y') { + if($DB) echo __LINE__."\n QCCHANGE != Y"; + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_qc_agent_log (qc_user,qc_user_group,qc_user_ip,lead_user,web_server_ip,view_datetime,view_epoch,lead_id,list_id,campaign_id,processed) + values('" . mysql_real_escape_string($PHP_AUTH_USER) . "','$LOGuser_group','{$_SERVER['REMOTE_ADDR']}','{$original_record['user']}','{$_SERVER['SERVER_ADDR']}','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($original_record['list_id']) . "','" . mysql_real_escape_string($campaign_id) . "','N')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + //QUALITY CONTROL LOGGING END + if($DB) echo __LINE__."\n"; + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + if($DB) echo __LINE__."\n"; + ##### grab vicidial_list_alt_phones records ##### + $stmt="select phone_code,phone_number,alt_phone_note,alt_phone_count,active from vicidial_list_alt_phones where lead_id='" . mysql_real_escape_string($lead_id) . "' order by alt_phone_count limit 500;"; + $rslt=mysql_query($stmt, $link); + $alts_to_print = mysql_num_rows($rslt); + + $c=0; + $alts_output = ''; + while ($alts_to_print > $c) + { + if($DB) { + echo __LINE__."\n"; + } + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $c)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $c++; + $alts_output .= "
    $c$row[0] $row[1] $row[2] $row[3] $row[4]
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]   $row[10]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y{$row['view_datetime']}View Only - No changes{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}  
    $y{$row['view_datetime']}{$row['old_status']}{$row['new_status']}{$row['qc_user']}{$row['lead_user']}{$row['campaign_id']}{$row['list_id']}{$row['elapsed_seconds']} DETAILS
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $stmt="SELECT user_id, timestamp, list_id, campaign_id, comment from vicidial_comments where lead_id='$lead_id' order by timestamp"; + $rslt=mysql_query($stmt, $link); + $row_count = mysql_num_rows($rslt); + $o=0; + $comments=false; + while ($row_count > $o) + { + if (!$comments) { + echo "\n"; + $comments=true; + } + $rowx=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + if ($comments) { + echo "\n"; + } + echo "\n"; + +// Section Modified for QC Functionality By PoundTeam +// echo "\n"; +// echo "\n"; +// echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    $label_vendor_lead_code: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     ID Lista: $list_id     Called Count: $called_count
    $label_title:   \n"; + echo "$label_first_name:
    $label_middle_initial:   \n"; + echo " $label_last_name:
    $label_address1 :
    $label_address2 :
    $label_address3 :
    $label_city :
    $label_state:   \n"; + echo " $label_postal_code:
    $label_province :
    Stato :
    $label_phone_number :
    $label_phone_code :
    $label_alt_phone :
    $label_email :
    $label_security_phrase :
    Rank :
    Owner :
    $label_comments :
    Comment History
    $rowx[0] :
    $rowx[1]
    ID Lista: $rowx[2]; ID Campagna: $rowx[3]
    $rowx[4]

    QC Result: (with $list_campaign statuses)
    Modificarevicidial log
    Modificareagent log
    Modificarecloser log
    Disable QC log entry (this feature is not active yet)
    \n"; + echo "


    \n"; + + echo "
    \n"; + echo "Callback Dettagliatas:
    \n"; + //Added scheduled_callback regular statuses option + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') || $scheduled_callback=='Y' ) + { + if($DB) { + echo __LINE__."\n"; + } + ### find any vicidial_callback records for this lead + $stmt="select callback_id,lead_id,list_id,campaign_id,status,entry_time,callback_time,modify_date,user,recipient,comments,user_group from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UtenteID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UtenteID: \n"; + echo "

    \n"; + } + + $appointment_datetimeARRAY = explode(" ",$rowx[6]); + $appointment_date = $appointment_datetimeARRAY[0]; + $appointment_timeARRAY = explode(":",$appointment_datetimeARRAY[1]); + $appointment_hour = $appointment_timeARRAY[0]; + $appointment_min = $appointment_timeARRAY[1]; + + + ?> + +
    +
    Change Scheduled Callback Date:
    + + + + + + + + + + + + + +
    + > + + + + +
    CallBack Date/Time: + + +     + + : + + +
    + Note: + + +
    + + + + +
    +
    + + No Callback records found
    \n"; + } + + } + else + { + if($DB) { + echo __LINE__."\n"; + } + //Modifed text to allow for other than CBHOLD via custom statuses with scheduled callback chosen + echo "
    If you want to change this lead to a scheduled callback, first change the Disposition to CBHOLD or similar, then submit and you will be able to set the callback date and time.
    \n"; + } + echo "
    \n"; + + echo "

    \n"; + + echo "
    \n"; + + if ($c > 0) + { + if($DB) { + echo __LINE__."\n"; + } + echo "EXTENDED ALTERNATE NUMERI DI TELEFONO PER QUESTA PIOMBO:\n"; + echo "\n"; + echo "\n"; + + echo "$alts_output\n"; + + echo "
    # ALT PHONE ALT NOTE ALT COUNT ACTIVE
    \n"; + echo "

    \n"; + } + + + + ### iframe for custom fields display/editing + if ($custom_fields_enabled > 0) + { + $CLlist_id = $list_id; + if (strlen($entry_list_id) > 2) + {$CLlist_id = $entry_list_id;} + $stmt="MOSTRA TABELLAS LIKE \"custom_$CLlist_id\";"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $tablecount_to_print = mysql_num_rows($rslt); + if ($tablecount_to_print > 0) + { + $stmt="SELECT count(*) from custom_$CLlist_id where lead_id='$lead_id';"; + if ($DB>0) {echo "$stmt";} + $rslt=mysql_query($stmt, $link); + $fieldscount_to_print = mysql_num_rows($rslt); + if ($fieldscount_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $custom_records_count = $rowx[0]; + + echo "Campi personalizzati per QUESTO FILO:
    \n"; + echo "\n"; + echo "

    "; + } + } + } + + + echo "CHIAMATE VERSO QUESTO CONTATTO:\n"; + echo "\n"; + echo "\n"; + + echo "$call_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAGNA LIST LEAD HANGUP REASON PHONE
    \n"; + echo "

    \n"; + + echo "CLOSER RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$closer_log\n"; + + echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAGNA LIST LEAD WAIT HANGUP REASON
    \n"; + echo "

    \n"; + + + echo "AGENT LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + echo "$agent_log\n"; + echo "
    # DATE/TIME CAMPAGNA TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; + echo "

    \n"; + echo "QUALITY CONTROL LOG RECORDS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + echo "$qc_agent_log\n"; + echo "
    # DATE/TIME OLD STATUSNEW STATUSQC USERAGENTCAMPAGNALISTELAPSED 
    \n"; + echo "

    \n"; + + echo "RECORDINGS FOR THIS LEAD:\n"; + echo "\n"; + echo "\n"; + + $stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + if ($DB) {echo "$logs_to_print|$stmt|\n";} + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if ( (eregi("ftp",$location)) or (eregi("http",$location)) ) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + + echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]


    \n"; + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 9 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $admin_display=$row[0]; + if ($admin_display > 0) + { + echo "Click here to see Lead Modificarechanges to this lead\n"; + } + + echo "\n"; + } + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds
    "; + + +?> + + + + + +original_record:
    "; + print_r($original_record); + echo "
    new_record:
    "; + print_r($new_record); + echo "scheduled_callback:
    "; + print_r($scheduled_callback); + echo "debug1:
    "; + print_r($debug1); + echo "Post:
    "; + print_r($_POST); + echo "qcchangelist:
    "; + print_r($qcchangelist); + echo "
    "; +} +exit; + + +?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/realtime_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/realtime_report.php index ecf622e8..3633c323 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/realtime_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/realtime_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # live real-time stats for the VICIDIAL Auto-Dialer all servers # @@ -20,10 +20,14 @@ # 110516-2128 - IE fix # 110526-1807 - Added webphone_auto_answer option # 120223-1917 - Added multi-user-group options +# 121129-2131 - Fixed Choose link position +# 130414-0247 - Added report logging # -$version = '2.4-9'; -$build = '120223-1917'; +$startMS = microtime(); + +$version = '2.6-11'; +$build = '130414-0247'; header ("Content-type: text/html; charset=utf-8"); @@ -112,15 +116,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - echo "\n"; - } - $webphone_width = '460'; $webphone_height = '500'; $webphone_left = '600'; @@ -269,6 +264,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$groups[0]|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + echo "\n"; + } + if ($auth) { $office_no=strtoupper($PHP_AUTH_USER); @@ -1400,9 +1424,9 @@ echo "\n-->\n $stmt = "select count(*) from vicidial_campaigns where active='Y' and campaign_allow_inbound='Y' $group_SQLand;"; $rslt=mysql_query($stmt, $link); - if ($DB) {echo "$stmt\n";} - $row=mysql_fetch_row($rslt); - $campaign_allow_inbound = $row[0]; +if ($DB) {echo "$stmt\n";} +$row=mysql_fetch_row($rslt); +$campaign_allow_inbound = $row[0]; echo "\n"; echo "$report_name: $group\n"; @@ -1437,12 +1461,12 @@ echo "\n"; #echo "\n"; echo "Real-Time Report                                                                               \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo "Scegli Opzioni di visualizzazione Relazione"; echo "
    \n"; echo "
    \n"; -echo "\n"; +echo "\n"; echo "
    \n"; echo ""; echo "
    \n"; @@ -1517,6 +1541,24 @@ echo "\n"; +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/send_CID_call.php b/agc_2-X/trunk/LANG_www/vicidial_it/send_CID_call.php index 8549f6a3..521faf42 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/send_CID_call.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/send_CID_call.php @@ -3,11 +3,13 @@ # # Send calls with custom callerID numbers from web form # -# Copyright (C) 2009 Matt Florell LICENSE: GPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: GPLv2 # # CHANGES # # 90714-1355 - First Build +# 120831-1527 - Added vicidial_dial_log logging +# 130414-0039 - Added admin logging # require("dbconnect.php"); @@ -55,6 +57,7 @@ $auth=$row[0]; $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $STARTtime = date("U"); +$ip = getenv("REMOTE_ADDR"); ?> @@ -123,6 +126,17 @@ else if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); + $stmt = "INSERT INTO vicidial_dial_log SET caller_code='TESTCIDCALL098765432',lead_id='0',server_ip='$server_ip',call_date='$NOW_TIME',extension='91$receiver',channel='Local/91$sender$Local_end',timeout='$Local_dial_timeout',outbound_cid='\"$cid_number\" <$cid_number>',context='default';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='CIDSEND', event_type='OTHER', record_id='$PHP_AUTH_USER', event_code='ADMIN SEND CID CALL', event_sql=\"$SQL_log\", event_notes='Server: $server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + echo "Call sent from $sender to $receiver using CIDnumber: $cid_number"; } diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_report.php b/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_report.php index 8de55881..2799c723 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_report.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_report.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -18,8 +18,11 @@ # 110703-1830 - Added download option # 111104-1314 - Added user_group restrictions for selecting in-groups # 120224-0910 - Added HTML display option with bar graphs +# 130414-0150 - Added report logging # +$startMS = microtime(); + require("dbconnect.php"); ##### Pull values from posted form variables ##### @@ -73,15 +76,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -106,6 +100,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group[0], $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -530,13 +553,31 @@ $MAIN.="\n"; echo "$CSV_text"; - exit; } else { echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; ?> diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_status.php b/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_status.php index 2ce33f21..0eedab08 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/timeclock_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -15,10 +15,13 @@ # 100914-1326 - Added lookup for user_level 7 users to set to reports only which will remove other admin links # 110703-1833 - Added download option # 111104-1315 - Added user_group restrictions for selecting in-groups +# 130414-0152 - Added report logging # #header ("Content-type: text/html; charset=utf-8"); +$startMS = microtime(); + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -64,15 +67,6 @@ if ($qm_conf_ct > 0) ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); $PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); @@ -113,6 +107,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user_group, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT user_group from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and active='Y';"; if ($DB) {$MAIN.="|$stmt|\n";} $rslt=mysql_query($stmt, $link); @@ -233,6 +256,26 @@ if (strlen($user_group) < 1) echo "$HEADER"; require("admin_header.php"); echo "$MAIN"; + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -467,10 +510,8 @@ if ($file_download > 0) flush(); echo "$CSV_text"; - - exit; } - else +else { header ("Content-type: text/html; charset=utf-8"); echo "$HEADER"; @@ -478,6 +519,24 @@ if ($file_download > 0) echo "$MAIN"; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); exit; @@ -598,7 +657,25 @@ $MAIN.="
    \n"; $MAIN.="\n"; $MAIN.="\n"; - +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + exit; diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/user_stats.php b/agc_2-X/trunk/LANG_www/vicidial_it/user_stats.php index 6b68c981..72c1b143 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/user_stats.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/user_stats.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -34,8 +34,12 @@ # 111103-1050 - Added admin_hide_phone_data and admin_hide_lead_data options # 111106-1105 - Added user_group restrictions # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 121222-2152 - Added email log display +# 130124-1740 - Added option to display first and last name of lead +# 130414-0146 - Added report logging # +$startMS = microtime(); require("dbconnect.php"); require("functions.php"); @@ -44,9 +48,15 @@ require("functions.php"); $report_name = 'Statistiche utente'; $db_source = 'M'; +$firstlastname_display_user_stats=0; +if (file_exists('options.php')) + { + require('options.php'); + } + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable FROM system_settings;"; +$stmt = "SELECT use_non_latin,outbound_autodial_active,slave_db_server,reports_use_slave_db,user_territories_active,webroot_writable,allow_emails FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {$MAIN.="$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -59,19 +69,11 @@ if ($qm_conf_ct > 0) $reports_use_slave_db = $row[3]; $user_territories_active = $row[4]; $webroot_writable = $row[5]; + $allow_emails = $row[6]; } ##### END SETTINGS LOOKUP ##### ########################################### -if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) - { - mysql_close($link); - $use_slave_server=1; - $db_source = 'S'; - require("dbconnect.php"); - $MAIN.="\n"; - } - $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; @@ -130,6 +132,35 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) exit; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $query_date, $end_date, $shift, $file_download, $report_display_type|', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + +if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_slave_db)) ) + { + mysql_close($link); + $use_slave_server=1; + $db_source = 'S'; + require("dbconnect.php"); + $MAIN.="\n"; + } + $stmt="SELECT full_name,user_group,admin_hide_lead_data,admin_hide_phone_data from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); @@ -641,12 +672,27 @@ if ($did < 1) ##### vicidial agent outbound calls for this time period ##### $MAIN.="OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; - $MAIN.="
    \n"; - $MAIN.="\n"; + $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA GROUP LIST LEAD HANGUP REASON
    \n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } + else + { + $MAIN.="\n"; + } $CSV_text5.="\"OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; - $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + if ($firstlastname_display_user_stats > 0) + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n";} + else + {$CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"GROUP\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n";} $stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + if ($firstlastname_display_user_stats > 0) + { + $stmt="select uniqueid,vlog.lead_id,vlog.list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,vlog.status,vlog.phone_code,vlog.phone_number,vlog.user,vlog.comments,processed,user_group,term_reason,alt_dial,first_name,last_name from vicidial_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + if ($DB) {$MAIN.="outbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -687,27 +733,108 @@ if ($did < 1) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } $MAIN.="\n"; - $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[17] $row[18]\",\"$row[15]\"\n"; + } + else + { + $CSV_text5.="\"\",\"$u\",\"$row[4]\",\"$row[7]\",\"$row[8]\",\"$row[10]\",\"$row[3]\",\"$row[14]\",\"$row[2]\",\"$row[1]\",\"$row[15]\"\n"; + } } $MAIN.="
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA GROUP LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA GROUP LIST LEAD HANGUP REASON
    $row[14] $row[2] $row[1] $row[17] $row[18] $row[15]


    \n"; } + ##### vicidial agent outbound emails for this time period ##### + + if ($allow_emails>0) + { + $MAIN.="OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; + $MAIN.="\n"; + $MAIN.="\n"; + $CSV_text5.="\"OUTBOUND EMAILS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; + $CSV_text5.="\"\",\"#\",\"DATE/TIME\",\"USER\",\"CAMPAIGN\",\"EMAIL TO\",\"ATTACHMENT\",\"LEAD\",\"MESSAGE\"\n"; + + $stmt="select email_log_id,email_row_id,lead_id,email_date,user,email_to,message,campaign_id,attachments from vicidial_email_log where user='" . mysql_real_escape_string($user) . "' and email_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and email_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by email_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + if (strlen($row[6])>400) {$row[6]=substr($row[6],0,400)."...";} + $row[8]=preg_replace('/\|/', ', ', $row[8]); + $row[8]=preg_replace('/,\s+$/', '', $row[8]); + $u++; + + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= ""; + $MAIN .= "\n"; + $MAIN .= "\n"; + $MAIN .= "\n"; + + $CSV_text5.="\"\",\"$u\",\"$row[3]\",\"$row[4]\",\"$row[7]\",\"$row[5]\",\"$row[8]\",\"$row[2]\",\"$row[6]\"\n"; + } + + + $MAIN.="
    # DATE/TIME UTENTE CAMPAGNA EMAIL TO ATTACHMENTS LEAD
    $u   $row[3]   $row[4]   $row[7]   $row[5]   $row[8]   $row[2]
      MESSAGE: $row[6]


    \n"; + } + ##### vicidial agent inbound calls for this time period ##### $MAIN.="INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)     [DOWNLOAD]\n"; $MAIN.="\n"; -$MAIN.="\n"; +if ($firstlastname_display_user_stats > 0) + { + $MAIN.="\n"; + } +else + { + $MAIN.="\n"; + } $CSV_text6.="\"INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\"\n"; -$CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; +if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"NAME\",\"HANGUP REASON\"\n"; + } +else + { + $CSV_text6.="\"\",\"#\",\"DATE/TIME\",\"LENGTH\",\"STATUS\",\"PHONE\",\"CAMPAIGN\",\"WAIT(S)\",\"AGENT(S)\",\"LIST\",\"LEAD\",\"HANGUP REASON\"\n"; + } $stmt="select call_date,length_in_sec,status,phone_number,campaign_id,queue_seconds,list_id,lead_id,term_reason from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; if ($did > 0) { $stmt="select start_time,length_in_sec,0,caller_code,0,0,0,extension,0 from call_log where channel_group='DID_INBOUND' and number_dialed='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by start_time desc limit 10000;"; } +else + { + if ($firstlastname_display_user_stats > 0) + { + $stmt="select call_date,length_in_sec,vlog.status,vlog.phone_number,campaign_id,queue_seconds,vlog.list_id,vlog.lead_id,term_reason,first_name,last_name from vicidial_closer_log vlog, vicidial_list vlist where vlog.user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and vlog.lead_id=vlist.lead_id order by call_date desc limit 10000;"; + } + } +if ($DB) {$MAIN.="inbound calls|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -768,8 +895,17 @@ while ($logs_to_print > $u) $MAIN.="\n"; $MAIN.="\n"; $MAIN.="\n"; + if ($firstlastname_display_user_stats > 0) + {$MAIN.="\n";} $MAIN.="\n"; - $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + if ($firstlastname_display_user_stats > 0) + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[9] $row[10]\",\"$row[8]\"\n"; + } + else + { + $CSV_text6.="\"\",\"$u\",\"$row[0]\",\"$row[1]\",\"$row[2]\",\"$row[3]\",\"$row[4]\",\"$row[5]\",\"$AGENTseconds\",\"$row[6]\",\"$row[7]\",\"$row[8]\"\n"; + } } $MAIN.=""; @@ -793,6 +929,7 @@ if ($did < 1) $CSV_text7.="\"\",\"#\",\"DATE/TIME\",\"PAUSE\",\"WAIT\",\"TALK\",\"DISPO\",\"DEAD\",\"CUSTOMER\",\"STATUS\",\"LEAD\",\"CAMPAIGN\",\"PAUSE CODE\"\n"; $stmt="select event_time,lead_id,campaign_id,pause_sec,wait_sec,talk_sec,dispo_sec,dead_sec,status,sub_status,user_group from vicidial_agent_log where user='" . mysql_real_escape_string($user) . "' and event_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' and ( (pause_sec > 0) or (wait_sec > 0) or (talk_sec > 0) or (dispo_sec > 0) ) order by event_time desc limit 10000;"; + if ($DB) {$MAIN.="agent activity|$stmt|";} $rslt=mysql_query($stmt, $link); $logs_to_print = mysql_num_rows($rslt); @@ -1177,8 +1314,6 @@ if ($file_download>0) flush(); echo "$CSV_text"; - - exit; } else { @@ -1186,9 +1321,29 @@ else echo $HEADER; require("admin_header.php"); echo $MAIN; - exit; } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + +exit; + diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/user_status.php b/agc_2-X/trunk/LANG_www/vicidial_it/user_status.php index afea05c0..ec2f2485 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/user_status.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/user_status.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # CHANGES # @@ -20,10 +20,15 @@ # 110224-2350 - Small QM logout fix # 110420-0344 - Added DEAD/PARK agent statuses # 120223-2135 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0252 - Added report logging # +$startMS = microtime(); + header ("Content-type: text/html; charset=utf-8"); +$report_name='Status Utente'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -95,6 +100,26 @@ if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) } else { + ##### BEGIN log visit to the vicidial_report_log table ##### + $LOGip = getenv("REMOTE_ADDR"); + $LOGbrowser = getenv("HTTP_USER_AGENT"); + $LOGscript_name = getenv("SCRIPT_NAME"); + $LOGserver_name = getenv("SERVER_NAME"); + $LOGserver_port = getenv("SERVER_PORT"); + $LOGrequest_uri = getenv("REQUEST_URI"); + $LOGhttp_referer = getenv("HTTP_REFERER"); + if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} + if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} + else {$LOGserver_port = ":$LOGserver_port";} + $LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + + $stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name |$user, $stage, $group|', url='$LOGfull_url';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $report_log_id = mysql_insert_id($link); + ##### END log visit to the vicidial_report_log table ##### + if($auth>0) { $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; @@ -486,7 +511,26 @@ if ($stage == "log_agent_out") { echo "Agent $user is not logged in
    \n"; } - + + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -652,6 +696,25 @@ if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($mod echo "$VDdisplayMESSAGE\n"; + if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + exit; } @@ -768,6 +831,26 @@ echo "|$stage|$group|";   ">Elenco Territori
    - 0) { ?> - diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/voice_lab.php b/agc_2-X/trunk/LANG_www/vicidial_it/voice_lab.php index 2eaaf88c..18c238aa 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/voice_lab.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/voice_lab.php @@ -4,7 +4,7 @@ # This script is designed to broadcast a recorded message or allow a person to # speak to all agents logged into a VICIDIAL campaign. # -# Copyright (C) 2012 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2013 Matt Florell LICENSE: AGPLv2 # # # CHANGES @@ -13,8 +13,13 @@ # 70115-1246 - Added ability to define an exten to play # 90508-0644 - Changed to PHP long tags # 120223-2124 - Removed logging of good login passwords if webroot writable is enabled +# 130414-0045 - Added report logging # +$startMS = microtime(); + +$report_name='Voice Lab'; + require("dbconnect.php"); $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; @@ -52,24 +57,24 @@ $local_DEF = 'Local/'; $local_AMP = '@'; $ext_context = 'demo'; - $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - $auth=$row[0]; +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; $fp = fopen ("./project_auth_entries.txt", "a"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); - if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) +if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) { Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); Header("HTTP/1.0 401 Unauthorized"); echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; exit; } - else +else { if($auth>0) { @@ -94,6 +99,26 @@ $browser = getenv("HTTP_USER_AGENT"); $full_name = $row[0]; } +##### BEGIN log visit to the vicidial_report_log table ##### +$LOGip = getenv("REMOTE_ADDR"); +$LOGbrowser = getenv("HTTP_USER_AGENT"); +$LOGscript_name = getenv("SCRIPT_NAME"); +$LOGserver_name = getenv("SERVER_NAME"); +$LOGserver_port = getenv("SERVER_PORT"); +$LOGrequest_uri = getenv("REQUEST_URI"); +$LOGhttp_referer = getenv("HTTP_REFERER"); +if (preg_match("/443/i",$LOGserver_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($LOGserver_port == '80') or ($LOGserver_port == '443') ) {$LOGserver_port='';} +else {$LOGserver_port = ":$LOGserver_port";} +$LOGfull_url = "$HTTPprotocol$LOGserver_name$LOGserver_port$LOGrequest_uri"; + +$stmt="INSERT INTO vicidial_report_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$LOGip', report_name='$report_name', browser='$LOGbrowser', referer='$LOGhttp_referer', notes='$LOGserver_name:$LOGserver_port $LOGscript_name', url='$LOGfull_url';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$report_log_id = mysql_insert_id($link); +##### END log visit to the vicidial_report_log table ##### + ##### get server listing for dynamic pulldown $stmt="SELECT server_ip,server_description from servers order by server_ip"; @@ -307,6 +332,25 @@ if ($KILL_VOICE_LAB > 1) } +if ($db_source == 'S') + { + mysql_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect.php"); + } + +$endMS = microtime(); +$startMSary = explode(" ",$startMS); +$endMSary = explode(" ",$endMS); +$runS = ($endMSary[0] - $startMSary[0]); +$runM = ($endMSary[1] - $startMSary[1]); +$TOTALrun = ($runS + $runM); + +$stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + ?> \ No newline at end of file diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/welcome_demo.php b/agc_2-X/trunk/LANG_www/vicidial_it/welcome_demo.php index 81c3bc8f..48a594da 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/welcome_demo.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/welcome_demo.php @@ -62,6 +62,9 @@ echo "   \n"; echo "\n"; +echo "
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA WAIT (S) AGENT (S) LIST LEAD HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA WAIT (S) AGENT (S) LIST LEAD NAME HANGUP REASON
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA WAIT (S) AGENT (S) LIST LEAD HANGUP REASON
    $AGENTseconds $row[6] $row[7] $row[9] $row[10] $row[8]
      ?action=ADD_TERRITORY">Aggiungi Territorio   ?action=ADD_USER_TERRITORY">Aggiungi Utente Territorio   ?action=CHANGE_TERRITORY_OWNER">Change Vtiger Territorio Owner
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
  • \n"; diff --git a/agc_2-X/trunk/LANG_www/vicidial_it/welcome_languages.php b/agc_2-X/trunk/LANG_www/vicidial_it/welcome_languages.php index e00e310e..d94ba3e1 100644 --- a/agc_2-X/trunk/LANG_www/vicidial_it/welcome_languages.php +++ b/agc_2-X/trunk/LANG_www/vicidial_it/welcome_languages.php @@ -62,6 +62,9 @@ echo "  
    "; echo "   Danish Agent Login"; +echo "
    "; +echo "   Japanese Agent Login"; echo "
    \n"; echo "
    \n"; diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index 0aa5cd65..cacecc53 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -276,6 +276,8 @@ OTHER CHANGES: added red indicator on Reports page servers table if server falls out of sync. +47. Updated and cleaned up other language builds for agent and admin. + diff --git a/agc_2-X/trunk/translations/br_language.txt b/agc_2-X/trunk/translations/br_language.txt index 0e6f004a..6fffb4fc 100644 --- a/agc_2-X/trunk/translations/br_language.txt +++ b/agc_2-X/trunk/translations/br_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"JAN"| @@ -322,7 +324,7 @@ Dial Override|Discagem Sobreposta| digits only please|digitos apenas por favor| Dial Now|Discar Agora| CB Comments|Comentarios do CB| -Title|Título| + Title| Título| STATUS| STATUS| RESET| REINICIAR| CLEAR FORM|LIMPAR FORMULÁRIO| @@ -331,10 +333,9 @@ Incoming|Entrante| Calling|Ligando| Called|Ligado| Campaign|Campanha| -Status|Status| +>Status|>Status| Inserted|Inserido| seconds| segundos| -HELP|AJUDA| Login | Login | Login:|Login:| User |Usuário | @@ -345,7 +346,6 @@ Server|Servidor| RECORD |REGISTRO | >HANGUP|>DESLIGAR| >XFER|>TRANFERÊNCIA| -PARK|ESPERA| IN-NUMBER|NÚMERO ENTRANTE| NUMBER|NÚMERO| CALLERID|CALLERID| @@ -354,17 +354,15 @@ PICKUP|CAPTURAR| CONFERENCE|CONFERÊNCIA| Refresh|Atualizar| Send DTMF|Enviar DTMF| -BORDER|BORDA| -ORDER|ORDEM| +>ORDER|>ORDEM| on |ligado| >LOGOUT|>SAIR| Channel| Canal| Extensions|Extensões| Conferences|Conferências| Conference|Conferência| -Recording|Gravando| -Record|Gravar| -Welcome|Bem vindo| + Recording| Gravando| +Welcome |Bem vindo | VOICEMAIL|CAIXA POSTAL| NEW| NOVO| OLD| VELHO| @@ -375,21 +373,21 @@ Slower|Mais devagar| Initializing|Inicializando| Invalid|Inválido| Username|Usuário| -Notes|Notas| +Notes:|Notas:| First|Nome| MI: |Inicial:| -Last|Sobrenome| +Last |Sobrenome | Address|Endereço| City|Cidade| -State|Estado| + State| Estado| PostCode|CEP| Province|Bairro| Vendor ID|Vendedor| DialCode|Codigo de Área| Alt. Phone|Telefone Alternativo| Show|Mostrar| -Email|Email| -Comments|Comentários| + Email| Email| + Comments| Comentários| REFRESH|ATUALIZAR| ALT PHONE DIAL|DISCAR FONE ALT| MAIN PHONE|FONE PRINC| @@ -568,3 +566,79 @@ Agents View|Agentes Ver| -INCALL|-Chamadas| -PAUSED|-PAUSA| CALL DISPOSITION|CONVITE DISPOSIÇÃO| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|clique aqui para escolher uma marcação em grupo| +SELECT A DIAL IN-GROUP|selecionar uma discagem em grupo| +DIAL IN-GROUP|discar grupo| +Dial In-Group|discar grupo| +Click Here to Activate|Clique aqui para ativar| +Click Here to Deactivate|clique aqui para desativar| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: id chumbo, identificação do fornecedor, número de telefone, sobrenome| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: Número de escritório, sobrenome, nome| +ERROR: There was a problem with your search terms|Erro: Ocorreu um problema com seus termos de pesquisa| +Phone and Post Code Time Zone Mismatch|telefone e código postal fuso horário incompatibilidade| +Last Local Call Time|última vez chamada local| +Called Count|número de chamadas| +Unidentified Hangup Cause Code|não identificado código causa hangup| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|você deve selecionar um agente de transferir ao usar agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|outra sessão de agente ao vivo foi aberta usando o seu ID de usuário. ele foi desativado. Clique em OK para continuar a tela do agente| +View Comment History|ver a história comentário| +reset form|forma de repor| +SELECT THIS LEAD|selecionar essa liderança| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|você deve estar em uma chamada de entrada ativa para procurar uma vantagem| +Attachments|anexos| +Next Call Pause|próxima pausa chamada| +-History-|-história-| +SUBMIT SEARCH|submeter pesquisa| +close |fechar | +AGENT CALL LOG|registro de chamadas agente| + LENGTH | comprimento | + PHONE | telefone | + FULL NAME | nome completo | + CAMPAIGN | campanha | + ALT | alternado | + HANGUP | hangup | + INFO | informações | +phone login|telefone de login| +LAST CALL|última chamada| + CALLBACK | callback | + CITY | cidade | + STATE | estado | + ZIP | zip | +Phone Number|número de telefone| +Phone Number Fields|campos de número de telefone| +Lead ID|levar id| + WAIT | esperar | + AGENT | agente | + CALL GROUP | grupo chamar | + TYPE | tipo | +digits only|só dígitos| +DIAL ALERT|discar alerta| +WEB FORM SUBMIT|forma webpage apresentar| +in campaign|na campanha| + DATE\/TIME | data\/hora| + IN\/OUT | dentro e fora | +>GROUPS<|>GRUPOS<| +>GO<|>ir<| +>recording<|>gravação<| +>SELECT<|>selecione<| +Alert is ON|alerta está ligado| +Alert is OFF|alerta estiver desligado| +EMAIL LOG FOR THIS LEAD|log e-mail para este chumbo| +EMAIL TO|enviar e-mail para| + ATTACHMENTS | anexos | +Called Since Last Reset|chamado desde a última reposição| +Timezone:|fuso horário:| +Dial Link|ligação discar| + LAST | último | +SEARCH FOR A CONTACT|procurar um contato| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Notas: quando se faz uma busca por um contato, termos de pesquisa curinga ou parciais não são permitidos| +Contact search requests are all logged in the system|pedidos de busca contato são todos registrados no sistema| +Office Number|número do escritório| +First Name|primeiro nome| +Last Name|sobrenome| +BU Name|nome da empresa| +Department:|departamento:| +Group Name|nome do grupo| +Job Title|cargo| +Location:|localização:| diff --git a/agc_2-X/trunk/translations/br_language_admin.txt b/agc_2-X/trunk/translations/br_language_admin.txt index 7e0f4d88..970ba992 100644 --- a/agc_2-X/trunk/translations/br_language_admin.txt +++ b/agc_2-X/trunk/translations/br_language_admin.txt @@ -65,7 +65,7 @@ vicidial|welcome_languages.php|1 vicidial|vicidial_admin_web_logo.gif|1 vicidial|vicidial_admin_web_logo_small.gif|1 vicidial|user_territories.php|0 -vicidial|audio_store.php|1 +vicidial|audio_store.php|0 vicidial|AST_agent_time_detail.php|0 vicidial|AST_agent_timeclock_detail.php|0 vicidial|AST_OUTBOUNDsummary_interval.php|0 @@ -96,6 +96,25 @@ vicidial|admin_listloader_fourth_gen.php|0 vicidial|AST_admin_template_maker.php|0 vicidial|leadloader_template_display.php|0 vicidial|admin_listloader_third_gen.php|0 +vicidial|callbacks_bulk_change.php|0 +vicidial|lead_tools.php|0 +vicidial|admin_email_accounts.php|0 +vicidial|AST_email_log_report.php|0 +vicidial|AST_email_log_display.php|0 +vicidial/qc|qc_modify_lead.php|0 +vicidial/qc|QC_admin_variables.php|0 +vicidial/qc|QC_admin_variables01.php|0 +vicidial/qc|QC_call_client_iframe.php|0 +vicidial/qc|QC_call_client_include.php|0 +vicidial/qc|QC_header_include.php|0 +vicidial/qc|QC_header_include01.php|0 +vicidial/qc|QC_header_include02.php|0 +vicidial/qc|audit_comments.php|0 +vicidial/qc|qc_api.php|0 +vicidial/qc|QC_admin_include01.php|0 +vicidial/qc|QC_admin_include02.php|0 +vicidial/qc|QC_admin_modify_lead_include.php|0 +vicidial/qc|QC_status_codes_include.php|0 vicidial|wz_jsgraphics.js|1 vicidial|verticalbargraph.css|1 vicidial|horizontalbargraph.css|1 @@ -3408,3 +3427,224 @@ Search Method|Método de Pesquisa| USING THIS CALL MENU|Usando este menu CHAMADA| DELETE THIS CALL MENU|DELETE THIS MENU CHAMADA| Click here to see Admin changes to this CALL MENU|Clique aqui para ver as mudanças de administrador para este menu de chamada| +### START translations for 2.6 release ### +In-Group Manual Dial|Manual de In-Grupo Dial| +In-Group Manual Dial Select|No Grupo Discagem Manual Select| +This feature allows you to enable the ability for agents to place manual dial outbound calls that are logged as in-group calls assigned to a specific in-group. The MANUAL_DIAL option allows the placing of phone calls out through an In-Group to the agent placing the call. The NO_DIAL option allows the agent to log time on a call that does not exist, as if it were a real call, this is often used for logging email or faxing time. The BOTH option will allow both call and no-call in-group dialing. The default is DISABLED|Este recurso permite que você ative a capacidade de agentes para colocar marcação chamadas de saída manuais que são registrados como em grupo chama atribuído a um específico grupo. A opção MANUAL_DIAL permite a colocação de chamadas telefônicas através de uma In-Group com o agente efetuar uma chamada. A opção NO_DIAL permite ao agente registar tempo numa chamada que não existe, como se fosse uma chamada real, isto é frequentemente usado para registo de e-mail ou fax tempo. A opção Ambos irão permitir que tanto apelo e sem chamada de marcação em grupo. O padrão é desabilitado| +This option is only active if the above In-Group Manual Dial feature is not DISABLED. This option restricts the selectable In-Groups that the agent can place In-Group Manual Dial calls through. CAMPAIGN_SELECTED will show only the in-groups that the campaign has set as allowable in-groups. ALL_USER_GROUP will show all of the in-groups that are viewable to the members of the user group that the agent belongs to|Esta opção só está activo se o exposto no Grupo característica Dial manual não está desativado. Esta opção restringe o selecionável In-Grupos que o agente pode colocar no Grupo manual Dial chama completamente. CAMPAIGN_SELECTED só aparecem as em grupos que a campanha estabeleceu como permitido em grupos. ALL_USER_GROUP vai mostrar todos os grupos em que são visíveis para os membros do grupo de usuário que o agente pertence| +Dial In-Group CID|Disque No Grupo CID| +If the agent campaign allows for Manual In-Group Dialing, this caller ID number will be sent as the outgoing CID of the phone call if it is populated, overriding the campaign settings and list CID override setting. Default is empty|Se a campanha do agente permite o manual no Grupo de discagem, este número de identificação de chamada será enviada como o CID de saída da chamada de telefone se ele está preenchido, substituindo as configurações de campanha e lista de configuração de substituição CID. O padrão é vazio| +You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option|Você também pode usar LTMG ou XFTAMM como status para desencadear uma transferência automática para a opção Leave-Voicemail| +Send to Answering Machine Message|Enviar a Secretária Eletrônica Mensagem| +Safe Harbor Audio Field|Safe Harbor Áudio Campo| +This optional setting allows you to define a field in the list that the system will use as the audio filename for each lead in place of the Safe Harbor Audio file. If this is set to DISABLED the Safe Harbor Audio file will always be used. The system will do no validation to make sure that the audio file exists other than to make sure the value of the field is at least one character, so if you want a lead to use the default Safe harbor Audio then you just set the field value in the lead to empty. You can use the pipe character to link multiple audio files together in the field value for each lead. Default is DISABLED. Here is the list of fields that can be used for this setting|Esta configuração opcional permite que você defina um campo na lista que o sistema usará como o nome do arquivo de áudio para cada liderança no lugar do arquivo de áudio de Porto Seguro. Se isso for definido como desativado o arquivo de áudio de Porto Seguro será sempre utilizado. O sistema irá fazer nenhuma validação para certificar-se de que o arquivo de áudio existe a não ser para garantir que o valor do campo é de pelo menos um personagem, então se você quiser uma vantagem de usar o padrão de áudio porto seguro, então você apenas definir o valor do campo na liderança para esvaziar. Você pode usar o caractere pipe para conectar vários arquivos de áudio em conjunto no valor de campo para cada ligação. O padrão é desabilitado. Aqui é a lista de campos que podem ser utilizados para esta configuração| +Call Menu Qualify Enabled|Menu de chamada Qualificar Ativado| +This setting enables the option in Call Menus to put a SQL qualification on the people that hear that call menu. For more information on how that feature works, view the help for Call Menus. Default is 0 for disabled|Esta configuração permite a opção nos menus de chamadas para colocar uma qualificação SQL sobre as pessoas que ouvem esse menu chamada. Para mais informações sobre como esse recurso funciona, consulte a ajuda para menus de atendimento. O padrão é 0 para deficientes| +Qualify SQL|Qualificar SQL| +This field allows you to input SQL - Structured Query Language - database fragments, like with Filters, to determine whether this call menu should play for the caller or not. This feature only works if the call has the callerIDname set prior to being sent to this call menu, either as an outbound survey transfer, or through the use of a drop call menu for an In-Group call. If there is a match, the call will proceed as normal. If there is no match, the call will go to the D option or the invalid option if no D option is set. You cannot use single-quotes in this field, only double-quotes if they are needed. Default is empty for disabled|Este campo permite a entrada de SQL - Structured Query Language - fragmentos do banco de dados, como com filtros, para determinar se este menu chamada deve jogar para o chamador ou não. Esta característica só funciona se a chamada tem o conjunto callerIDname antes de ser enviado para este menu de chamada, quer como uma transferência de levantamento de saída, ou através da utilização de um menu de chamada para uma chamada de gota no grupo. Se houver uma coincidência, a chamada será prosseguir normalmente. Se não houver correspondência, a chamada vai para a opção D ou a opção inválida se nenhuma opção D está definido. Você não pode usar aspas simples neste campo, apenas aspas, se eles são necessários. O padrão é vazio para deficientes| +Admin List Counts|Administração das listas Counts| +This setting allows you to disable the list counts that appear on the Lists listing and the Campaign modify screens. Default is 1 for enabled|Esta configuração permite que você desabilite a contagem da lista que aparecem na lista Listas e as telas de modificação da campanha. O padrão é 1 para enabled| +The Y_API_LAUNCH option can be used with the agent API to launch the webphone in a separate Iframe or window|A opção Y_API_LAUNCH pode ser usado com a API para lançar o agente webphone numa janela separada ou Iframe| +If the option has BLANK at the end, then users are allowed to dial leads with no owner defined in addition to owner defined leads|Se a opção tem em branco no final, então os usuários podem discar ligações sem proprietário definido, além de proprietário definido leva| +Voicemail Greeting|Saudação de correio de voz| +This optional setting allows you to define a voicemail greeting audio file from the audio store. Default is blank|Esta configuração opcional permite que você defina um arquivo de áudio de saudação de correio de voz a partir da loja de áudio. O padrão é em branco| +Allow Voicemail Greeting Chooser|Permitir Voicemail saudação Chooser| +If this setting is enabled it will allow you to choose an audio file from the audio store to be played as the voicemail greeting to a specific voicemail box. Default is 0 for disabled|Se essa configuração for habilitada permitirá que você escolha um arquivo de áudio a partir da loja de áudio para ser jogado como a saudação de correio de voz a uma caixa de correio de voz específico. O padrão é 0 para deficientes| +File to Delete|Arquivo a ser excluído| +Agent Pause After Next Call Link|Pausa agente After Next chamada de vínculo| +This option if enabled will display a link on the agent screen that will let the agent go on pause automatically after they hang up their next call. Default is DISABLED|Esta opção se estiver ativado irá exibir um link na tela do agente que vai deixar o agente entrar em pausa automaticamente depois que pendurar sua próxima chamada. O padrão é desabilitado| +Owner Populate|Proprietário Preencher| +If this is enabled and the owner field of the lead is blank, the owner field for the lead will populate with the user ID of the agent that handles the call first. Default is DISABLED|Se estiver habilitado eo campo proprietário do chumbo estiver em branco, o campo proprietário para a liderança vai preencher com o ID do usuário do agente que lida com a chamada pela primeira vez. O padrão é desabilitado| +This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are|Este campo permite que você personalize o nome da gravação durante a gravação de campanha é ONDEMAND ou ALLCALLS. As variáveis ​​são permitidas| +The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length|O padrão é FULLDATE_AGENT e ficaria assim 20051020-103108_6666. Outro exemplo é CAMPAIGN_TINYDATE_CUSTPHONE que ficaria assim TESTCAMP_51020103108_3125551212. Te resultando nome do arquivo deve ser inferior a 90 caracteres| +This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are|Este campo irá substituir o regime de nomes de arquivos de gravação de campanha, a menos que ela é definida como NONE. As variáveis ​​são permitidas| +Audit Comments|Auditoria Comments| +This option allows comments to be moved to an audit table. No longer editable, but viewable along with the date-time-creator of each comment. Default is N. This is a part of the Quality Control Add-On|Esta opção permite que comentários sejam transferidos para uma tabela de auditoria. Não é mais editável, mas visível, juntamente com a data e hora-criador de cada comentário. O padrão é N. Esta é uma parte do Controle de Qualidade Add-On| +QueueMetrics Socket Send|QueueMetrics Soquete Enviar| +This option, if enabled, will send QM data to a web page that will send it through a socket for logging. The CONNECT_COMPLETE option will send CONNECT, COMPLETEAGENT and COMPLETECALLER events to the url defined below. Default is NONE for disabled|Esta opção, se estiver ativado, enviará dados QM para uma página web que irá enviá-lo através de um soquete para a exploração madeireira. A opção CONNECT_COMPLETE enviará eventos CONNECT, COMPLETEAGENT e COMPLETECALLER a url abaixo definido. O padrão é NONE para deficientes| +QueueMetrics Socket Send URL|QueueMetrics Soquete Enviar URL| +If Socket Send is enabled above, this is the URL that is used to send the data to. Default is EMPTY for disabled|Se enviar socket está habilitado acima, este é o URL que é usado para enviar os dados. Padrão é vazio para deficientes| +Add Holiday|Adicionar férias| +Modify Holiday|Modificar férias| +Delete Holiday|Eliminar férias| +New Holiday Addition|Nova adição de férias| +Holidays|Férias| +Holiday ID|Férias ID| +This is the short name of a Holiday Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 30 characters, minimum of 2 characters|Este é o nome abreviado de uma definição de férias. Isso precisa ser um identificador exclusivo. Não use espaços ou pontuação para este campo. máximo de 30 caracteres, mínimo de 2 caracteres| +Holiday Name|Nome do feriado| +This is a more descriptive name of the Holiday Definition. This is a short summary of the Holiday definition. max 100 characters, minimum of 2 characters|Este é um nome mais descritivo da definição de férias. Este é um breve resumo da definição de férias. máximo de 100 caracteres, mínimo de 2 caracteres| +Holiday Comments|Férias Comments| +This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-.max 255 characters|Isto é onde você pode colocar comentários em uma definição de férias, como, dez horas - quatro horas Boxing Day-restrições. máximo de 255 caracteres| +Holiday Date|Feriado Data| +This is the date of the holiday|Esta é a data do feriado| +Holiday Status|Férias Estado| +This is the status of the holiday entry. ACTIVE status means that the holiday will be enabled on the holiday date. INACTIVE status means that the holiday will be ignored even on the holiday date. EXPIRED means that the holiday has passed it's holiday date. Default is INACTIVE|Este é o estado da entrada de férias. Estado ACTIVE significa que o feriado será ativado na data do feriado. Estado Inativo significa que o feriado será ignorada até mesmo na data do feriado. Significa que o feriado passou sua data do feriado expirado. O padrão é INATIVOS| +short description of the holiday|breve descrição do feriado| +Day and time options will appear once you have created the Holiday Definition|Opções de dia e hora será exibida uma vez que criou a definição de férias| +HOLIDAY DEFINITION NOT ADDED|HOLIDAY DEFINIÇÃO não adicionado| +there is already a holiday entry with this ID|já existe uma entrada do feriado com este ID| +Holiday ID, name and date must be populated|Férias ID, nome e data devem ser preenchidos| +HOLIDAY ADDED|HOLIDAY ADICIONADO| +HOLIDAY NOT MODIFIED|HOLIDAY Não modificado| +HOLIDAY MODIFIED|HOLIDAY MODIFICADO| +HOLIDAY NOT DELETED|HOLIDAY não excluída| +Holiday ID must be at least 2 characters in length|Férias ID deve ser de pelo menos 2 caracteres| +HOLIDAY DELETION CONFIRMATION|HOLIDAY DELETION CONFIRMAÇÃO| +Click here to delete holiday|Clique aqui para apagar feriado| +HOLIDAY DELETION COMPLETED|EXCLUSÃO DE FÉRIAS CONCLUÍDO| +Holiday Rule Removed|Regra férias Removido| +MODIFY A HOLIDAY|MODIFICAR UM FERIADO| +CALL TIMES USING THIS HOLIDAY|CHAMADA vezes usando este feriado| +DELETE THIS HOLIDAY DEFINITION|APAGAR esta definição HOLIDAY| +Active Inbound Holiday Definitions for this Record|Ativos de entrada Definições de férias para este registro| +Add inbound holiday rule|Adicionar regra feriado de entrada| +Holiday Rule Added|Regra feriado Adicionado| +Holiday Rule Removed|Regra férias Removido| +Click here to see Admin changes to this holiday|Clique aqui para ver as mudanças de administração para este feriado| +Expiration Date|Data de Vencimento| +This option allows you to set the date after which leads in this list will not be allowed to be auto-dialed or manual-list-dialed by the system. Default is 2099-12-31|Esta opção permite que você defina a data após a qual lidera esta lista não será permitida a ser auto-discado ou manual-list-discado pelo sistema. O padrão é 2099/12/31| +Other Campaign DNC|Outros DNC Campanha| +If the option Use Campaign DNC List is enabled, this option can allow you to use a different campaign DNC list, just put the Campaign ID of the other campaign in this field. If you use this option, the original campaign DNC list will no longer be checked, only the OTHER campaign DNC list will be used. This does not affect use of the Internal System DNC list. Default is EMPTY|Se a opção de utilizar a lista DNC campanha está ativada, esta opção pode permitir que você use uma lista DNC campanha diferente, basta colocar o ID da campanha da outra campanha neste campo. Se você usar esta opção, a lista original DNC campanha não será mais marcada, apenas a outra lista DNC campanha será usado. Isso não afeta o uso da lista DNC sistema interno. Padrão é vazio| +LIST EXPIRED AND SET TO ACTIVE|LISTA expirados e definido como Ativo| +Enhanced Disconnect Logging|Maior Disconnect Logging| +This setting enables logging of calls that get a CONGESTION signal with a cause code of 1, 19, 21, 34 or 38. We usually do not recommend enabling this in the USA. Default is 0 for disabled|Essa configuração permite o registro de chamadas que recebem um sinal CONGESTIONAMENTO com um código de causa de 1, 19, 21, 34 ou 38. Nós geralmente não é recomendável habilitar esta nos EUA. O padrão é 0 para deficientes| +LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead|LIVE_CALL_INBOUND permitirá busca por um tempo de chumbo em apenas uma chamada de entrada. LIVE_CALL_INBOUND_AND_MANUAL permitirá busca por um tempo de chumbo em uma chamada de entrada ou durante a pausa. Quando Pesquisa chumbo é utilizado em uma chamada de entrada ao vivo, a liderança da chamada, quando ele foi para o agente será alterado para um status de LSMERG, e os logs para a chamada será modificado para ligar para o agente de ligação selecionado em vez| +If this is a call that will go to a Call Menu and then back to an in-group, we suggest you use CUSTOMERCLOSER in this field, and also you need to set the In-Group Search Method in the Call Menu to CLOSER|Se esta é uma chamada que vai para um menu Chamadas e depois voltar para um em grupo, sugerimos que você use CUSTOMERCLOSER neste campo, e você também precisa definir o método de pesquisa In-Group no menu Chamada de CLOSER| +Add New EMAIL In-Group|Adicionar Novo e-mail em Grupo| +Copy EMAIL In-Group|Copie e-mail em Grupo| +New Email Group Addition|Novo e-mail Grupo Adição| +New Copied Email Group Addition|New Copiado Email Grupo Adição| +Modify EMAIL In-Group|Modificar e-mail em Grupo| +Email In-Groups|E-mail em grupos| +Modify Email Accounts|Modificar Contas de Email| +This option if set to 1 allows the user to modify email accounts in the email account management page|Esta opção se definido como 1 permite ao usuário modificar contas de e-mail na página de gerenciamento de contas de e-mail| +Allow Emails|Permitir e-mails| +This is where you can set whether the users of this campaign will be able to receive inbound emails in addition to phone calls|Este é o lugar onde você pode definir se os usuários desta campanha será capaz de receber e-mails de entrada, além de telefonemas| +This is where you can set whether this system will be able to receive inbound emails in addition to phone calls|Este é o lugar onde você pode definir se o sistema será capaz de receber e-mails de entrada, além de telefonemas| +VICIDIAL EMAIL ACCOUNTS|Contas de email VICIDIAL| +The Vicidial Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls.EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE|A seção de gerenciamento de contas de e-mail Vicidial permite criar, copiar e apagar as configurações da conta de e-mail que lhe permitirá ter mensagens de e-mail entram em seu sistema Vicidial e ser tratado como chamadas regulares. Contas de email deve ser configurado por você e um serviço de provedor de email - que não está coberto por este módulo| +Email Account ID|Email Conta ID| +This is the short name of the email account, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length|Este é o nome curto da conta de e-mail, não é editável após a apresentação inicial, não deve conter espaços e deve ter entre 2 e 20 caracteres| +Email Account Name|Nome da conta de e-mail| +This is the full name of the email account, it must be between 2 and 30 characters in length|Este é o nome completo da conta de e-mail, deve ser entre 2 e 30 caracteres| +This determines whether this account will be checked for new email messages to be loaded into the dialer|Isso determina se esta conta será verificado se há novas mensagens de e-mail para ser carregado no discador| +Email Account Description|Email Descrição da Conta| +This allows for a lengthy description, if needed, of the email account.255 characters max|Isto permite uma longa descrição, se necessário, da conta de e-mail. Máximo de 255 caracteres| +Email Account Type|E-mail Tipo de Conta| +Specifies whether the account is used for inbound or outbound email messages.Should be set to INBOUND|Especifica se a conta é usada para mensagens de email de entrada ou de saída. Deve ser definido como INBOUND| +Admin User Group|Administrador Grupo de Usuários| +This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group|Este é o grupo do usuário administrativo para este grupo de entrada, o que permite visualizar administrador deste grupo em restringido por grupo de usuários. O padrão é - ALL - que permite que qualquer usuário admin para ver isso em grupo| +Email Account Protocol|Email Conta Protocolo| +This is the email protocol used by the account you are setting up access to.Currently only IMAP and POP3 accounts are supported|Este é o protocolo de e-mail utilizado pela conta que você está configurando acesso. Atualmente somente contas IMAP e POP3 são suportados| +Email Reply-to Address|E-mail Endereço de Resposta| +The email address of the account you are setting up access to.Replies to email messages from the agent interface will read as coming from this address|O endereço de email da conta que você está configurando acesso. Respostas a mensagens de e-mail a partir da interface agente vai ler como vindo de este endereço| +Email Account Server|Email conta do servidor| +The email server that the account is housed on|O servidor de e-mail que a conta está alojado em| +Email Account User|E-mail de Conta de Usuário| +The login used to access this account.Usually it's the portion of the reply-to address before the -at- symbol|O nome de login usado para acessar essa conta. Geralmente é a parte do endereço de resposta antes da-at-símbolo| +Email Account Password|E-mail a senha da conta| +The password used to access this account.This is usually set at the time the email account is created|A senha usada para acessar essa conta. Isso geralmente é definido no momento em que a conta de e-mail é criado| +Email Frequency Check Rate (mins)|E-mail Frequência verificar a taxa (mins)| +How often this email account should be checked.The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time|Quantas vezes este e-mail deve ser verificado. A maior taxa de frequência no momento é de cinco minutos, alguns provedores de e-mail não vai permitir que mais de três tentativas de login em quinze minutos antes de bloquear a conta por um período de tempo indeterminado| +In-Group ID|No Grupo ID| +The In-Group that email messages will be sent to|O In-Group de que as mensagens de e-mail será enviado para| +Default List ID|Padrão Lista de ID| +The List ID that leads will be inserted into if necessary|A lista de ID que leva será inserido, se necessário| +In-Group Call Handle Method|No Grupo Método identificador de chamada| +This is the action that will be taken when a new email is found in the account.EMAIL means all email messages will be inserted into vicidial_list as a new lead.EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table.EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Group Campaign ID" box below.EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group List ID" box below|Esta é a ação que será tomada quando um novo e-mail encontra-se na conta. EMAIL significa que todas as mensagens de e-mail serão inseridos vicidial_list como uma nova liderança. EMAILLOOKUP vai procurar a tabela vicidial_list inteiro para o endereço de e-mail na coluna e-mail - se a liderança for encontrado, lista de identificação que o chumbo será utilizado no registro que vai para a mesa vicidial_email_list. EMAILLOOKUPRC faz o mesmo, mas ela só vai procurar listas pertencentes à campanha selecionada na caixa "No Grupo Campanha ID" abaixo. EMAILLOOKUPRL só irá procurar uma lista particular, que é a entrada na caixa "No Grupo Lista ID" abaixo| +In-Group Agent Search Method|Agent No Grupo Método de Pesquisa| +The agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB.|O método de pesquisa agente a ser utilizado pelo grupo de entrada, LO é com Balanceamento de Carga-Transbordo e vai tentar enviar a chamada para um agente no servidor local antes de tentar enviá-lo a um agente em outro servidor, LB é com Balanceamento de Carga e vai tentar enviar a chamada para o próximo agente não importa o servidor no qual estão, por isso é servidor apenas e só vai tentar enviar as chamadas para os agentes no servidor que o convite veio em diante. O padrão é LB.| +In-Group List ID|No Grupo Lista de ID| +This is the List ID that will be used to search for a match within|Este é o ID da lista que irá ser utilizado para pesquisar uma correspondência dentro| +In-Group Campaign ID|No Grupo ID Campanha| +This is the Campaign ID that will be used to search for a match within|Este é o ID da campanha, que serão utilizados para pesquisar para uma correspondência dentro| +Group Handling|Handling Group| +COPY EMAIL GROUP|Cópia do grupo de EMAIL| +Email Group ID|Email Grupo ID| +Email Group Name|E-mail Nome do grupo| +Source Email Group ID|Fonte Email Grupo ID| +Email Accounts|Contas de Email| +Next Agent Email|Próxima Agent Email| +Start Email URL|Comece Email URL| +Dispo Email URL|Dispo-mail URL| +No Agent Email URL|No Agent Email URL| +EMAIL ACCOUNTS USING THIS IN-GROUP|Contas de email usando isso em-GROUP| +EMAIL GROUP NOT ADDED|GRUPO E-MAIL NÃO ADICIONADO| +Email group ID must be between 2 and 20 characters in length and contain no|Email grupo ID deve ter entre 2 e 20 caracteres de comprimento e não contêm| +Email group name and group color must be at least 2 characters in length|E-mail nome do grupo e cor grupo deve ter pelo menos dois caracteres| +EMAIL GROUP ADDED|GRUPO DE EMAIL ADICIONADO| +Show Email Accounts|Mostrar Contas de Email| +Add A New Account|Adicionar uma nova conta| +Copy An Account|Copie uma Conta| +Dialer Email Account fields|Dialer-mail campos Conta| +NEW ACCOUNT|NOVA CONTA| +SUCCESSFULLY CREATED|CRIADO COM SUCESSO| +All Admin User Groups|Todos os Grupos de Usuários de Admin| +ERROR: Inbound emails are not active on this system|ERRO: e-mails de entrada não estão ativos no sistema| +invalid or null|inválida ou nula| +SUCCESSFULLY MODIFIED|SUCESSO MODIFICADO| +There was an unknown error when attempting to copy the new account|Ocorreu um erro desconhecido ao tentar copiar a nova conta| +SUCCESSFULLY COPIED FROM|SUCESSO copiado de| +source email does not exist|e-mail de origem não existe| +ACCOUNT NOT COPIED|Conta não COPIADO| +Copy New Account from Existing Account|Copie Nova Conta de Conta Existente| +Account ID to Copy From|ID da conta para copiar de| +New Account ID|New ID Conta| +New Account Name|Novo Nome da conta| +There are no existing accounts to copy from|Não há contas existentes para copiar a partir de| +The data you submitted has the following errors|Os dados apresentados têm os seguintes erros| +ACCOUNT NOT INSERTED|Conta não INSERIDO| +ADD NEW INBOUND EMAIL ACCOUNT|Adicionar Nova Conta-mails recebidos| +CONFIRM DELETION OF INBOUND EMAIL ACCOUNT|Confirmar a exclusão do INBOUND conta de email| +Click to delete account|Clique para excluir conta| +ACCOUNT NOT UPDATED|Conta não ATUALIZADA| +UPDATE AN EXISTING INBOUND EMAIL ACCOUNT|Atualizar uma conta existente e-mails recebidos| +INBOUND EMAIL ACCOUNT LISTINGS|ENTRADA EMAIL LISTAS CONTA| +UNREAD EMAILS|-Mails não lidos| +Un-handled Emails|Os e-mails não-tratados| +Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system|Ajustando para ingroup irá enviar um atendedor de chamadas a um grupo de entrada. Ajustando para CALLMENU enviará uma secretária eletrônica com um menu de chamadas no sistema| +AMD send to Action|AMD enviar à Ação| +This option allows you to define whether a call is sent to the AMD Action when an answering machine is detected. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N|Esta opção permite definir se uma chamada é enviada para a Ação AMD quando uma secretária eletrônica é detectado. Se estiver definido para N, então a chamada será preso assim que está determinado a ser uma secretária eletrônica. O padrão é N| +AMD Inbound Group|AMD Inbound Grupo| +If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected|Se CPD AMD Ação está definido para ingroup, então este é o grupo de entrada que a chamada será enviada para Se uma secretária eletrônica é detectado| +AMD Call Menu|Menu de Chamada AMD| +If CPD AMD Action is set to CALLMENU, then this is the Call Menu that the call will be sent to if an answering machine is detected|Se CPD AMD Ação está definido para CALLMENU, então este é o menu de chamadas que a chamada será enviada para Se uma secretária eletrônica é detectado| +Level 8 Disable Add|Nível 8 Desativar Adicionar| +This setting if enabled will prevent any level 8 user from adding or copying any record in the system, no matter what their user settings are. Excluded from these restrictions are the ability to add DNC and Filter Phone Groups numbers and the Add a New Lead page. Default is 0 for disabled|Esta configuração se habilitado irá impedir qualquer nível 8 usuário adicione ou copiar qualquer registro no sistema, não importa o que suas configurações de usuário são. Excluem-se destas restrições são a capacidade de adicionar grupos de números de telefone do DNC e do filtro e uma página nova pista em Adicionar. O padrão é 0 para deficientes| +You do not have permission to add records on this system|Você não tem permissão para adicionar registros no sistema| +These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks.LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered.You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE.Default is ALL_ACTIVE|Estas opções permite limitar os retornos visíveis na seção de alerta de retorno do agente na tela do agente, apenas VIVO callbacks. Callbacks AO VIVO são somente de usuário retornos programados que atingiram a sua data e hora de disparo. Backs chamada ativa são somente usuário callbacks que estão ativos no sistema, mas ainda não acionado. Você pode ver retornos de chamada activa e VIVO, selecionando ALL_ACTIVE. O padrão é ALL_ACTIVE| +VICIDIAL ADMIN REPORT LOG|VICIDIAL Admin Report LOG| +VICIDIAL USER ADMIN REPORT LOG|VICIDIAL usuário admin relatório de log| +VICIDIAL DETAIL ADMIN REPORT LOG|VICIDIAL DETALHE Admin Report LOG| +ADMIN REPORT LOG|Admin Report LOG| +Admin Report Log Viewer|Administrador Log Viewer Relatório| +Survey Wait Seconds|Inquérito Espere Segundos| +This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds|Este é o número de segundos no modo de pesquisa o sistema irá aguardar pela entrada da pessoa chamada até que o inquérito ou a ação queda é acionado. Não é aplicada se o método de pesquisa é HANGUP. Padrão é de 10 segundos| +You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details|Você pode adicionar NOINT diretamente na frente de um nome de arquivo de áudio para fazê-lo assim que a reprodução não pode ser interrompido com uma tecla pressionada pelo chamador, o NOINT não deve ser uma parte do nome do arquivo, é uma bandeira especial para o sistema. Você também pode usar propósito especial. Agi scripts neste campo, bem como o roteiro cm_date.agi, discutir com o administrador para obter mais detalhes| +DROP will drop the call using the campaign drop method but still log the call as a PM played message status|GOTA vai cair a chamada usando o método da gota campanha, mas ainda registrar a chamada como a PM jogou status da mensagem| +Quality Control|Controle de qualidade| +Source User|Fonte Usuário| +>Admin<|> Admin <| +Campaign Call Date|Campanha Chamada Data| +Lead Recycling|Levar Reciclagem| +Day outbound call count for this campaign|Dia contagem chamada de saída para esta campanha| +State rules defined for this call time|Regras definidas pelo Estado para este tempo de chamada| +in seconds|em segundo| +Agent Display Dialable Leads|Agente Leads discável| +Agent Display Queue Count|Agente Conde Queue| +Manual Dial Filter|Manual Dial Filtro| +Agent Call Re-Queue Button|Chamada agente botão Re-Queue| +LEADS COUNT|LEVA COUNT| +number:|número:| +server:|servidor:| +audio chooser|audio seletor| +voicemail chooser|seletor de correio de voz| +FILTER ID|FILTER ID| +FILTER NAME|NOME FILTER| +Show Email Groups|Mostrar Grupos de E-mail| +Email Accounts|Contas de Email| +CallCard Admin|CallCard Administrador| + Contacts | Contactos | +We STRONGLY recommend uploading only 16bit Mono 8k PCM WAV audio files|Recomendamos fortemente upload de arquivos apenas 16bit Mono 8k PCM WAV de áudio| +All spaces will be stripped from uploaded audio file names|Todos os espaços serão removidos de enviados os nomes dos arquivos de áudio | +ERROR: Default value cannot be longer than maximum field length|erro: Valor padrão não pode ser maior do que o comprimento máximo do campo| diff --git a/agc_2-X/trunk/translations/de_language.txt b/agc_2-X/trunk/translations/de_language.txt index c985177e..0973ee56 100644 --- a/agc_2-X/trunk/translations/de_language.txt +++ b/agc_2-X/trunk/translations/de_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"JAN"| @@ -294,7 +296,7 @@ Dial Override|Wahl Override| digits only please|Bitte nur Zahlen| Dial Now|Jetzt wählen| CB Comments|WV Anmerkungen| -Title|Titel| + Title| Titel| Your Status|Ihr Status| STATUS| STATUS| RESET| ZURÜCKSETZEN| @@ -304,10 +306,9 @@ Incoming|Eingehend| Calling|Telefonierend| Called|Angerufen| Campaign|Kampagne| -Status|Status| +>Status|>Status| Inserted|Eingefügt| seconds| Sekunden| -HELP|HILFE| Login | Login | Login:|Login:| User |Benutzer | @@ -318,7 +319,6 @@ Server|Server| RECORD |AUFNAHME | >HANGUP|>AUFLEGEN| >XFER|VERBINDEN| -PARK|PARK| IN-NUMBER|IN-NUMMER| NUMBER|NUMMER| CALLERID|ANRUFERID| @@ -327,16 +327,15 @@ PICKUP|ABNEHMEN| CONFERENCE|KONFERENZ| Refresh|Aktualisieren| Send DTMF|DTMF Senden| -ORDER|BESTELLEN| +>ORDER|>BESTELLEN| on | an | >LOGOUT|>LOGOUT| Channel| Kanal| Extensions|Erweiterungen| Conferences|Konferenzen| Conference|Konferenz| -Recording|Aufnahme| -Record|Aufzeichnung| -Welcome|Willkommen| + Recording| Aufnahme| +Welcome |Willkommen | VOICEMAIL|VOICEMAIL| NEW| NEU| OLD| ALT| @@ -347,21 +346,21 @@ Slower|Langsamer| Initializing|Initialisierung| Invalid|Unzulässig| Username|Username| -Notes|Anmerkungen| +Notes:|Anmerkungen:| First|Vorname| MI: |MI:| -Last|Nachname| +Last |Nachname | Address|Adresse| City|Stadt| -State|Bundesland| + State| Bundesland| PostCode|Postleitzahl| Province|Region| Vendor ID|Anbieter ID| DialCode|LandesCode| Alt. Phone|Alternative Telefonnummer| Show|Zeigen| -Email|Email| -Comments|Anmerkungen| + Email| Email| + Comments| Anmerkungen| REFRESH|AKTUALISIEREN| ALT PHONE DIAL|ALT. NUMMER WÄHLEN| MAIN PHONE|TELEFONNUMMER| @@ -571,3 +570,79 @@ Agents View|Agents anzeigen| -INCALL|-INCALL| -PAUSED|-PAUSED| CALL DISPOSITION|Anruf-Dispositions| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|Klicken Sie hier, um eine Einwahl-Gruppe wählen| +SELECT A DIAL IN-GROUP|Wählen Sie eine DFÜ-Gruppe in| +DIAL IN-GROUP|Einwahl in-group| +Dial In-Group|Einwahl in-group| +Click Here to Activate|Hier klicken, um zu aktivieren| +Click Here to Deactivate|Klicken Sie hier, um zu deaktivieren| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|Fehler: Sie müssen in Suchbegriffe eingeben, muss einer von diesen sein besiedelte: Blei-ID, Hersteller-ID, die Telefonnummer, Nachname| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|Fehler: Sie müssen in Suchbegriffe eingeben, eine davon muss gefüllt werden: Büronummer, Nachname, Vorname| +ERROR: There was a problem with your search terms|Fehler: Es gab ein Problem mit Ihren Suchbegriffen| +Phone and Post Code Time Zone Mismatch|Telefon und Postleitzahl Zeitzone Mismatch| +Last Local Call Time|letzten Ortsgespräch Zeit| +Called Count|Anzahl der Anrufe| +Unidentified Hangup Cause Code|unbekannten Ursache hangup Code| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|Sie müssen wählen Sie einen Agenten, um bei der Verwendung agentdirect übertragen| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|ein weiterer Live-Agent-Sitzung wurde offen über Ihre Benutzerkennung. es wurde deaktiviert. Klicken Sie auf OK, um mit dem Agenten-Bildschirm weiter| +View Comment History|Kommentar ansehen Geschichte| +reset form|Formular zurücksetzen| +SELECT THIS LEAD|Wählen Sie dieses Kabel| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|Sie müssen an einem aktiven eingehenden Anruf sein, für eine Führung zu suchen| +Attachments|Zubehör| +Next Call Pause|nächsten Aufruf Pause| +-History-|-geschichte-| +SUBMIT SEARCH|Suche übergeben| +close |schließen | +AGENT CALL LOG|Agent Anrufliste| + LENGTH | Länge | + PHONE | telefonieren | + FULL NAME | vollständigen Namen | + CAMPAIGN | Kampagne | + ALT | alternate | + HANGUP | hangup | + INFO | info | +phone login|Telefon anmelden| +LAST CALL|letzten Anrufs| + CALLBACK | Rückruf | + CITY | Stadt | + STATE | Zustand | + ZIP | zip | +Phone Number|Telefonnummer| +Phone Number Fields|Telefonnummer Feldern| +Lead ID|führen id| + WAIT | warten | + AGENT | Agent | + CALL GROUP | rufen Gruppe | + TYPE | Art | +digits only|nur Ziffern| +DIAL ALERT|wählen Benachrichtigung| +WEB FORM SUBMIT|Homepage Formular abschicken| +in campaign|in der Kampagne| + DATE\/TIME | Datum\/Zeit | + IN\/OUT | und aus | +>GROUPS<|>GRUPPEN<| +>GO<|>gehen<| +>recording<|>Aufnahme<| +>SELECT<|>wählen<| +Alert is ON|Alarm auf| +Alert is OFF|Alarm ist ausgeschaltet| +EMAIL LOG FOR THIS LEAD|E-Mail-Protokoll für diesen Vorsprung| +EMAIL TO|E-Mail an| + ATTACHMENTS | Zubehör | +Called Since Last Reset|genannt seit dem letzten Reset| +Timezone:|Zeitzone:| +Dial Link|Link wählen| + LAST | letzte | +SEARCH FOR A CONTACT|Suche nach einem Kontakt| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Hinweise: Bei der Suche nach einem Kontakt, sind Platzhalter oder teilweise Suchbegriffe nicht erlaubt| +Contact search requests are all logged in the system|Kontakt Suchanfragen sind alle im System angemeldet| +Office Number|Büronummer| +First Name|Vorname| +Last Name|Nachname| +BU Name|Firma| +Department:|Abteilung:| +Group Name|Gruppennamen| +Job Title|Job-Titel| +Location:|Ort:| diff --git a/agc_2-X/trunk/translations/de_language_admin.txt b/agc_2-X/trunk/translations/de_language_admin.txt index 50626c9b..7792645c 100644 --- a/agc_2-X/trunk/translations/de_language_admin.txt +++ b/agc_2-X/trunk/translations/de_language_admin.txt @@ -65,7 +65,7 @@ vicidial|welcome_languages.php|1 vicidial|vicidial_admin_web_logo.gif|1 vicidial|vicidial_admin_web_logo_small.gif|1 vicidial|user_territories.php|0 -vicidial|audio_store.php|1 +vicidial|audio_store.php|0 vicidial|AST_agent_time_detail.php|0 vicidial|AST_agent_timeclock_detail.php|0 vicidial|AST_OUTBOUNDsummary_interval.php|0 @@ -96,6 +96,25 @@ vicidial|admin_listloader_fourth_gen.php|0 vicidial|AST_admin_template_maker.php|0 vicidial|leadloader_template_display.php|0 vicidial|admin_listloader_third_gen.php|0 +vicidial|callbacks_bulk_change.php|0 +vicidial|lead_tools.php|0 +vicidial|admin_email_accounts.php|0 +vicidial|AST_email_log_report.php|0 +vicidial|AST_email_log_display.php|0 +vicidial/qc|qc_modify_lead.php|0 +vicidial/qc|QC_admin_variables.php|0 +vicidial/qc|QC_admin_variables01.php|0 +vicidial/qc|QC_call_client_iframe.php|0 +vicidial/qc|QC_call_client_include.php|0 +vicidial/qc|QC_header_include.php|0 +vicidial/qc|QC_header_include01.php|0 +vicidial/qc|QC_header_include02.php|0 +vicidial/qc|audit_comments.php|0 +vicidial/qc|qc_api.php|0 +vicidial/qc|QC_admin_include01.php|0 +vicidial/qc|QC_admin_include02.php|0 +vicidial/qc|QC_admin_modify_lead_include.php|0 +vicidial/qc|QC_status_codes_include.php|0 vicidial|wz_jsgraphics.js|1 vicidial|verticalbargraph.css|1 vicidial|horizontalbargraph.css|1 @@ -3395,3 +3414,224 @@ Search Method|Suchmethode| USING THIS CALL MENU|Mit dieser Funktion MENU| DELETE THIS CALL MENU|DELETE THIS CALL MENU| Click here to see Admin changes to this CALL MENU|Klicken Sie hier um Admin Änderungen an dieser CALL MENU sehen| +### START translations for 2.6 release ### +In-Group Manual Dial|In-Gruppe Manuelle Wahl| +In-Group Manual Dial Select|In-Gruppe Manuelle Wahl Select| +This feature allows you to enable the ability for agents to place manual dial outbound calls that are logged as in-group calls assigned to a specific in-group. The MANUAL_DIAL option allows the placing of phone calls out through an In-Group to the agent placing the call. The NO_DIAL option allows the agent to log time on a call that does not exist, as if it were a real call, this is often used for logging email or faxing time. The BOTH option will allow both call and no-call in-group dialing. The default is DISABLED|Diese Funktion ermöglicht es Ihnen, die Möglichkeit für Agenten auf manuelle Einwahl ausgehende Anrufe, die als in-group ruft zugeordnet zu einem bestimmten in-group angemeldet sind platzieren können. Die MANUAL_DIAL Option ermöglicht die Platzierung von Telefonaten aus durch eine In-Gruppe an den Agenten, der den Anruf. Die NO_DIAL Option ermöglicht es dem Agenten zu Zeit auf einen Anruf, der nicht existiert einzuloggen, als ob es ein echtes Gespräch waren, wird dies oft für die Anmeldung per E-Mail oder per Fax Zeit verwendet. Die beiden Option erlaubt sowohl Call-keine-Call-in-Gruppenwahl. Die Standardeinstellung ist deaktiviert| +This option is only active if the above In-Group Manual Dial feature is not DISABLED. This option restricts the selectable In-Groups that the agent can place In-Group Manual Dial calls through. CAMPAIGN_SELECTED will show only the in-groups that the campaign has set as allowable in-groups. ALL_USER_GROUP will show all of the in-groups that are viewable to the members of the user group that the agent belongs to|Diese Option ist nur dann aktiv, wenn die oben genannten In-Gruppe Handbuch Dial-Funktion nicht deaktiviert ist. Diese Option schränkt die wählbare In-Groups, dass der Agent in-group Manuelle Wahl ruft durch platzieren. CAMPAIGN_SELECTED zeigt nur die in-Gruppen, die die Kampagne als zulässig in-Gruppen gesetzt. ALL_USER_GROUP zeigt alle in-Gruppen, die sichtbar an die Mitglieder der Benutzergruppe sind, dass der Agent gehört| +Dial In-Group CID|Dial-In-Gruppe CID| +If the agent campaign allows for Manual In-Group Dialing, this caller ID number will be sent as the outgoing CID of the phone call if it is populated, overriding the campaign settings and list CID override setting. Default is empty|Wenn der Agent Kampagne ermöglicht die manuelle In-Gruppenwahl, wird dieser Anrufer-ID-Nummer als ausgehende CID des Anrufs gesendet werden, wenn sie gefüllt wird, überschreibt die Kampagne Einstellungen und Liste CID Override-Einstellung. Der Standardwert ist leer| +You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option|Sie können auch LTMG oder XFTAMM als Zustände, eine automatische Übertragung der Leave-Voicemail-Option auslösen| +Send to Answering Machine Message|Senden Sie ANRUFBEANTWORTERS| +Safe Harbor Audio Field|Safe-Harbor-Audio-Bereich| +This optional setting allows you to define a field in the list that the system will use as the audio filename for each lead in place of the Safe Harbor Audio file. If this is set to DISABLED the Safe Harbor Audio file will always be used. The system will do no validation to make sure that the audio file exists other than to make sure the value of the field is at least one character, so if you want a lead to use the default Safe harbor Audio then you just set the field value in the lead to empty. You can use the pipe character to link multiple audio files together in the field value for each lead. Default is DISABLED. Here is the list of fields that can be used for this setting|Diese optionale Einstellung ermöglicht es Ihnen, ein Feld in der Liste zu definieren, dass das System als Audio-Dateinamen für jede Ableitung anstelle der Safe-Harbor-Audio-Datei verwenden. Wenn dies auf Disabled gestellt ist die Safe-Harbor-Audio-Datei wird immer verwendet werden. Das System wird nichts aus, um sicherzustellen, dass die Audio-Datei existiert als andere zu machen, dass der Wert des Feldes ist mindestens ein Zeichen, wenn Sie also einen Vorsprung, um die Standard-Safe harbor Audio verwenden möchten, dann setzen Sie einfach den Wert des Feldes in der Zuleitung zu entleeren. Sie können mit dem Pipe-Zeichen, um mehrere Audio-Dateien miteinander zu verknüpfen in dem Feld Wert für jedes Kabel. Ist standardmäßig deaktiviert. Hier ist die Liste der Felder, die für diese Einstellung verwendet werden können| +Call Menu Qualify Enabled|Aufruf Menü Qualifizieren Aktiviert| +This setting enables the option in Call Menus to put a SQL qualification on the people that hear that call menu. For more information on how that feature works, view the help for Call Menus. Default is 0 for disabled|Mit dieser Einstellung können Sie die Option Anruf in Menüs, um eine SQL Qualifikation auf die Leute, die diesen Ruf hören Menü setzen. Für weitere Informationen darüber, wie dieses Feature funktioniert, zeigen Sie die Hilfe für Call Menüs. Standard ist 0 für Behinderte| +Qualify SQL|Qualifizieren SQL| +This field allows you to input SQL - Structured Query Language - database fragments, like with Filters, to determine whether this call menu should play for the caller or not. This feature only works if the call has the callerIDname set prior to being sent to this call menu, either as an outbound survey transfer, or through the use of a drop call menu for an In-Group call. If there is a match, the call will proceed as normal. If there is no match, the call will go to the D option or the invalid option if no D option is set. You cannot use single-quotes in this field, only double-quotes if they are needed. Default is empty for disabled|Dieses Feld ermöglicht es Ihnen, SQL - Structured Query Language - Datenbank-Fragmente, wie mit Filtern, um festzustellen, ob dieser Aufruf Menü sollte für den Anrufer oder nicht spielen. Diese Funktion funktioniert nur, wenn der Anruf hat die CallerIDName Satz, bevor sie an diesem Aufruf Menü gesendet, entweder als Outbound-Umfrage zu übertragen oder durch den Einsatz von einem Tropfen Anruf-Menü für eine In-Gruppe anrufen. Wenn es eine Übereinstimmung gibt, wird der Anruf normal weitergehen. Wenn es keine Übereinstimmung gibt, wird der Anruf an die D-Option oder der ungültigen Option zu gehen, wenn kein D-Option eingestellt ist. Sie können keine einfachen Anführungszeichen in diesem Bereich, nur doppelte Anführungszeichen, wenn sie gebraucht werden. Der Standardwert ist leer für Behinderte| +Admin List Counts|Admin Liste Grafen| +This setting allows you to disable the list counts that appear on the Lists listing and the Campaign modify screens. Default is 1 for enabled|Diese Einstellung können Sie die Liste zählt, die auf den Listen Notierung und die Kampagne modify Bildschirme erscheinen deaktivieren. Der Standardwert ist 1 für aktivierte| +The Y_API_LAUNCH option can be used with the agent API to launch the webphone in a separate Iframe or window|Die Y_API_LAUNCH Option kann mit dem Agenten-API verwendet werden, um die webphone in einem separaten Fenster zu öffnen oder Iframe| +If the option has BLANK at the end, then users are allowed to dial leads with no owner defined in addition to owner defined leads|Wenn die Option BLANK hat am Ende, dann Benutzer können Leads ohne Besitzer neben Eigentümer definiert führt wählen| +Voicemail Greeting|Voicemail-Gruß| +This optional setting allows you to define a voicemail greeting audio file from the audio store. Default is blank|Diese optionale Einstellung ermöglicht es Ihnen, eine Voicemail-Ansage Audiodatei aus dem Audio-Speicher definieren. Standardeinstellung ist leer| +Allow Voicemail Greeting Chooser|Erlauben Voicemail Gruß Chooser| +If this setting is enabled it will allow you to choose an audio file from the audio store to be played as the voicemail greeting to a specific voicemail box. Default is 0 for disabled|Wenn diese Einstellung aktiviert ist es erlaubt Ihnen, eine Audio-Datei aus dem Audio-Speicher wählen, die als Voicemail-Ansage zu einem bestimmten Voicemail-Box gespielt werden. Standard ist 0 für Behinderte| +File to Delete|Zu löschende Datei| +Agent Pause After Next Call Link|Agenten Pause After Next Link Anruf| +This option if enabled will display a link on the agent screen that will let the agent go on pause automatically after they hang up their next call. Default is DISABLED|Diese Option wird angezeigt, wenn aktiviert einen Link auf der Agenten-Bildschirm, damit der Agent auf Pause automatisch gehen, nachdem sie ihre nächsten Anruf hängen wird. Standardmäßig deaktiviert| +Owner Populate|Besitzer Auffüllen| +If this is enabled and the owner field of the lead is blank, the owner field for the lead will populate with the user ID of the agent that handles the call first. Default is DISABLED|Wenn diese Option aktiviert ist und der Besitzer des Feldes führen leer ist, wird der Besitzer Feld für die Leitung mit der Benutzer-ID des Agenten, der den Anruf übernimmt erste bevölkern. Standardmäßig deaktiviert| +This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are|In diesem Feld können Sie den Namen der Aufnahme anpassen, wenn die Kampagne Aufnahme ist ONDEMAND oder ALLCALLS. Die Variablen sind erlaubt| +The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length|Der Standardwert ist FULLDATE_AGENT und möchte dieses 20051020-103108_6666 aussehen. Ein weiteres Beispiel ist die CAMPAIGN_TINYDATE_CUSTPHONE wie dieser TESTCAMP_51020103108_3125551212 aussehen würde. Te resultierende Dateiname muss weniger als 90 Zeichen lang sein| +This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are|Dieses Feld überschreibt die Kampagne Recording Dateibenennung Schema, es sei denn auf NONE gesetzt ist. Die Variablen sind erlaubt| +Audit Comments|Audit Kommentare| +This option allows comments to be moved to an audit table. No longer editable, but viewable along with the date-time-creator of each comment. Default is N. This is a part of the Quality Control Add-On|Diese Option ermöglicht es, Kommentare zu einer Audit-Tabelle verschoben werden. Nicht mehr bearbeitet werden, aber sichtbar zusammen mit dem Datum-Zeit-creator jeder Kommentar. Der Standardwert ist N. Dies ist ein Teil der Qualitätskontrolle Add-On| +QueueMetrics Socket Send|QueueMetrics Sockel senden| +This option, if enabled, will send QM data to a web page that will send it through a socket for logging. The CONNECT_COMPLETE option will send CONNECT, COMPLETEAGENT and COMPLETECALLER events to the url defined below. Default is NONE for disabled|Diese Option, falls aktiviert, werden QM-Daten zu einer Web-Seite, die es über eine Socket sendet für die Anmeldung zu senden. Die CONNECT_COMPLETE Option CONNECT, COMPLETEAGENT und COMPLETECALLER Ereignisse an den url nachstehend definiert senden. Der Standardwert ist NONE für Behinderte| +QueueMetrics Socket Send URL|QueueMetrics Sockel senden URL| +If Socket Send is enabled above, this is the URL that is used to send the data to. Default is EMPTY for disabled|Wenn Sockel Send oben aktiviert ist, ist dies die URL, die verwendet werden, um die Daten zu senden. Standardwert ist Empty für Behinderte| +Add Holiday|In Urlaub| +Modify Holiday|Ändern Urlaub| +Delete Holiday|Löschen Urlaub| +New Holiday Addition|New Holiday Addition| +Holidays|Feiertage| +Holiday ID|Ferien ID| +This is the short name of a Holiday Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 30 characters, minimum of 2 characters|Dies ist der Kurzname einer Ferienwohnung Definition. Dies muss eine eindeutige Kennung sein. Verwenden Sie keine Leerzeichen oder Satzzeichen für dieses Feld. max 30 Zeichen, mindestens 2 Zeichen| +Holiday Name|Feiertags-Name| +This is a more descriptive name of the Holiday Definition. This is a short summary of the Holiday definition. max 100 characters, minimum of 2 characters|Dies ist ein beschreibender Name der Ferienwohnung Definition. Dies ist eine kurze Zusammenfassung der Ferien Definition. max 100 Zeichen, mindestens 2 Zeichen| +Holiday Comments|Ferien Kommentare| +This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-.max 255 characters|Dies ist, wo Sie Kommentare für einen Urlaub Definition wie-von 10.00 bis 04.00 Uhr boxing day platzieren können Einschränkungen-. max 255 Zeichen| +Holiday Date|Feiertag Datum| +This is the date of the holiday|Dies ist das Datum des Feiertags| +Holiday Status|Ferien-Status| +This is the status of the holiday entry. ACTIVE status means that the holiday will be enabled on the holiday date. INACTIVE status means that the holiday will be ignored even on the holiday date. EXPIRED means that the holiday has passed it's holiday date. Default is INACTIVE|Dies ist der Status des Urlaubs Eintrag. ACTIVE-Status bedeutet, dass der Urlaub auf der Ferieninsel Datum wird aktiviert. INACTIVE Status bedeutet, dass der Urlaub auch am Feiertag Datum wird ignoriert. EXPIRED bedeutet, dass der Urlaub hat es Feiertagsdatum weitergegeben. Standard ist inaktiv| +short description of the holiday|kurze Beschreibung des Ferienhauses| +Day and time options will appear once you have created the Holiday Definition|Tag und Uhrzeit Optionen wird angezeigt, sobald Sie die Ferien Definition angelegt haben| +HOLIDAY DEFINITION NOT ADDED|HOLIDAY DEFINITION nicht zugesetzt| +there is already a holiday entry with this ID|es ist schon ein Urlaub Eintrag mit dieser ID| +Holiday ID, name and date must be populated|Ferien-ID, Name und Datum müssen aufgefüllt werden| +HOLIDAY ADDED|HOLIDAY NEU| +HOLIDAY NOT MODIFIED|HOLIDAY nicht geändert| +HOLIDAY MODIFIED|HOLIDAY MODIFIZIERTES| +HOLIDAY NOT DELETED|URLAUB NICHT GELÖSCHT| +Holiday ID must be at least 2 characters in length|Ferien ID muss mindestens 2 Zeichen lang sein| +HOLIDAY DELETION CONFIRMATION|HOLIDAY Löschbestätigung| +Click here to delete holiday|Klicken Sie hier, um Urlaub zu löschen| +HOLIDAY DELETION COMPLETED|HOLIDAY DELETION ABGESCHLOSSEN| +Holiday Rule Removed|Ferien Regel entfernt| +MODIFY A HOLIDAY|Ändern einer HOLIDAY| +CALL TIMES USING THIS HOLIDAY|CALL-mal mit dieser Feiertag| +DELETE THIS HOLIDAY DEFINITION|DELETE THIS HOLIDAY DEFINITION| +Active Inbound Holiday Definitions for this Record|Aktive Ferien Inbound Definitionen für diese Bilanz| +Add inbound holiday rule|In eingehenden Urlaub Regel| +Holiday Rule Added|Ferien Regel am| +Holiday Rule Removed|Ferien Regel entfernt| +Click here to see Admin changes to this holiday|Klicken Sie hier, um Admin Änderungen an diesem Urlaub zu sehen| +Expiration Date|Fälligkeitsdatum| +This option allows you to set the date after which leads in this list will not be allowed to be auto-dialed or manual-list-dialed by the system. Default is 2099-12-31|Diese Option ermöglicht es Ihnen, das Datum, nach dem führt in dieser Liste nicht erlaubt sein wird, werden automatisch gewählt oder durch das System-Handbuch-list-gewählt werden gesetzt. Standard ist 2099-12-31| +Other Campaign DNC|Andere Kampagne DNC| +If the option Use Campaign DNC List is enabled, this option can allow you to use a different campaign DNC list, just put the Campaign ID of the other campaign in this field. If you use this option, the original campaign DNC list will no longer be checked, only the OTHER campaign DNC list will be used. This does not affect use of the Internal System DNC list. Default is EMPTY|Wenn die Option Use Kampagne DNC Liste aktiviert ist, kann diese Option können Sie eine andere Kampagne DNC Liste verwenden, einfach die Kampagnen-ID der anderen Kampagne in diesem Bereich. Wenn Sie diese Option verwenden, wird die ursprüngliche Kampagne DNC Liste nicht mehr überprüft werden, nur die Andere Kampagne DNC Liste verwendet werden soll. Dies hat keinen Einfluss auf die Verwendung der internen Systemuhr DNC Liste. Standardwert ist Empty| +LIST EXPIRED AND SET TO ACTIVE|LIST abgelaufen ist und aktiv gesetzt| +Enhanced Disconnect Logging|Verbesserte Disconnect Logging| +This setting enables logging of calls that get a CONGESTION signal with a cause code of 1, 19, 21, 34 or 38. We usually do not recommend enabling this in the USA. Default is 0 for disabled|Diese Einstellung aktiviert die Protokollierung der Anrufe, die ein CONGESTION Signal mit einer Ursache-Code von 1, 19, 21, 34 oder 38 zu bekommen. Wir empfehlen in der Regel nicht mit dieser Freigabe in den USA. Standard ist 0 für Behinderte| +LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead|LIVE_CALL_INBOUND wird Suche nach einer Führung während eines eingehenden Anrufs nur zu ermöglichen. LIVE_CALL_INBOUND_AND_MANUAL wird Suche nach einer Führung während eines eingehenden Anrufs oder während der Pause zu ermöglichen. Als Lead-Suche auf einem Live eingehenden Anruf verwendet wird, wird die Führung des Gesprächs, wenn es um den Agenten gingen zu einem Status LSMERG geändert werden, und die Protokolle für den Anruf wird modifiziert, um dem Agenten eine Verknüpfung ausgewählt Blei stattdessen| +If this is a call that will go to a Call Menu and then back to an in-group, we suggest you use CUSTOMERCLOSER in this field, and also you need to set the In-Group Search Method in the Call Menu to CLOSER|Wenn dies ein Aufruf, die zu einem Aufruf Menü gehen und dann wieder zu einer in-group, empfehlen wir die Verwendung CUSTOMERCLOSER in diesem Bereich, und auch Sie brauchen, um die In-Gruppe Suchmethode im Call Menu eingestellt, um näher| +Add New EMAIL In-Group|Neues E-Mail-In-Gruppe| +Copy EMAIL In-Group|Kopieren EMAIL In-Gruppe| +New Email Group Addition|Neue E-Mail-Gruppe Hinzufügen| +New Copied Email Group Addition|New Kopierte Email Gruppe Addition| +Modify EMAIL In-Group|Ändern Email In-Gruppe| +Email In-Groups|Mail In-Groups| +Modify Email Accounts|Ändern Email Accounts| +This option if set to 1 allows the user to modify email accounts in the email account management page|Diese Option, wenn auf 1 gesetzt dem Benutzer, E-Mail-Konten in der E-Mail-Account-Management-Seite ändern können| +Allow Emails|Erlauben Sie E-Mails| +This is where you can set whether the users of this campaign will be able to receive inbound emails in addition to phone calls|Dies ist, wo Sie festlegen können, ob die Benutzer dieser Kampagne in der Lage, eingehende E-Mails zusätzlich zu Telefon Anrufe empfangen| +This is where you can set whether this system will be able to receive inbound emails in addition to phone calls|Dies ist, wo Sie festlegen können, ob dieses System in der Lage, eingehende E-Mails zusätzlich zu Telefon Anrufe empfangen| +VICIDIAL EMAIL ACCOUNTS|Vicidial-Mail-Konten| +The Vicidial Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls.EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE|Die Vicidial Email Accounts Management Abschnitt ermöglicht Ihnen das Erstellen, Kopieren und Löschen von E-Mail-Konto-Einstellungen, mit denen Sie haben E-Mails in Ihrem Vicidial System kommen und wie normale Anrufe behandelt werden sollen. Mail-Konten müssen von Ihnen und einem E-MAIL Dienstanbieter festgelegt werden -, die nicht von dieser Unterrichtseinheit behandelt| +Email Account ID|E-Mail-Konto-ID| +This is the short name of the email account, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length|Dies ist der kurze Name des E-Mail-Konto, es ist nicht editierbar nach anfänglichen Vorlage darf keine Leerzeichen enthalten und muss zwischen 2 und 20 Zeichen lang sein| +Email Account Name|E-Mail Account Name| +This is the full name of the email account, it must be between 2 and 30 characters in length|Dies ist der vollständige Name des E-Mail-Konto, muss er zwischen 2 und 30 Zeichen lang sein| +This determines whether this account will be checked for new email messages to be loaded into the dialer|Diese legt fest, ob dieses Konto für neue E-Mails überprüft werden, um in den Dialer geladen werden| +Email Account Description|Email Konto Beschreibung| +This allows for a lengthy description, if needed, of the email account.255 characters max|Dies ermöglicht eine längere Beschreibung, falls erforderlich, von der E-Mail-Konto. Maximal 255 Zeichen| +Email Account Type|E-Mail Account| +Specifies whether the account is used for inbound or outbound email messages.Should be set to INBOUND|Gibt an, ob das Konto für eingehende oder ausgehende E-Mails verwendet wird. Sollte auf INBOUND eingestellt werden| +Admin User Group|Admin User Group| +This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group|Dies ist die administrative Gruppe für das Inbound-Gruppe, ermöglicht diese Admin Betrachtung dieser in-group durch Benutzergruppe beschränkt. Standard ist - ALLE -, die jeder Benutzer admin, dies in-group sehen können| +Email Account Protocol|E-Mail-Konto-Protokoll| +This is the email protocol used by the account you are setting up access to.Currently only IMAP and POP3 accounts are supported|Dies ist die E-Mail-Protokoll, das vom Konto, das Sie einrichten Zugang zu verwendet. Derzeit ist nur IMAP und POP3-Konten werden unterstützt| +Email Reply-to Address|Email Reply-to Adresse| +The email address of the account you are setting up access to.Replies to email messages from the agent interface will read as coming from this address|Die E-Mail-Adresse des Kontos Sie die Einrichtung den Zugang zu. Antworten auf E-Mails von der Agenten-Interface wird als von dieser Adresse lesen| +Email Account Server|E-Mail-Konto Server| +The email server that the account is housed on|Die E-Mail-Server, dass das Konto auf untergebracht| +Email Account User|Email Konto Benutzername| +The login used to access this account.Usually it's the portion of the reply-to address before the -at- symbol|Der Login verwendet, um dieses Konto zugreifen. Normalerweise ist es der Teil der Antwort an-Adresse vor dem-at-Symbol| +Email Account Password|E-Mail Konto Passwort| +The password used to access this account.This is usually set at the time the email account is created|Das Passwort für dieses Konto zugreifen. Dieser ist in der Regel zum Zeitpunkt der E-Mail-Konto wird erstellt eingestellt| +Email Frequency Check Rate (mins)|Email Frequency Check Rate (Min.)| +How often this email account should be checked.The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time|Wie oft diese E-Mail-Konto überprüft werden. Die höchste Frequenz im Moment ist fünf Minuten, einige E-Mail-Anbieter werden nicht zulassen, dass mehr als drei Anmeldeversuche in fünfzehn Minuten vor dem Sperren des Kontos auf unbestimmte Zeit| +In-Group ID|In-Gruppen-ID| +The In-Group that email messages will be sent to|Die In-Fraktion, dass E-Mails an gesendet werden| +Default List ID|Standard Liste ID| +The List ID that leads will be inserted into if necessary|Die Liste führt die ID wird in gegebenenfalls eingefügt werden| +In-Group Call Handle Method|In-Group Call Handle Methode| +This is the action that will be taken when a new email is found in the account.EMAIL means all email messages will be inserted into vicidial_list as a new lead.EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table.EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Group Campaign ID" box below.EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group List ID" box below|Dies ist die Aktion, die ergriffen werden, wenn eine neue E-Mail in das Konto gefunden werden. E-MAIL bedeutet, dass alle E-Mails in vicidial_list wird als neue Führung eingesetzt werden. EMAILLOOKUP die gesamte vicidial_list Tabelle für die E-Mail-Adresse zu suchen in der E-Mail-Säule - wenn das Blei gefunden, dass Blei-Liste ID wird in der Aufzeichnung, die in der Tabelle geht vicidial_email_list verwendet werden. EMAILLOOKUPRC macht das Gleiche, aber es wird nur nach Listen aus der Kampagne in der "In-Gruppe Campaign ID" aktiviert unten. EMAILLOOKUPRL sucht nur eine bestimmte Liste, die einen in die "In-Group List ID" unten eingetragen ist| +In-Group Agent Search Method|In-Gruppe-Agent Suchmethode| +The agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB.|Der Agent Suchverfahren von der Inbound-Gruppe verwendet werden, LO Lastverteilte-Overflow ist und werden versuchen, den Anruf an einen Agenten auf dem lokalen Server zu senden, bevor Sie sie an einen Agenten auf einem anderen Server zu senden, ist LB Lastverteilte und wird versuchen, den Anruf an den nächsten Agenten, egal auf welchem ​​Server sie sind zu senden, SO ist Server-Only und nur versuchen, die Anrufe auf die Agenten auf dem Server zu senden, dass der Anruf einging. Standard ist LB.| +In-Group List ID|In-Group List ID| +This is the List ID that will be used to search for a match within|Dies ist die Liste ID, die verwendet werden, um für ein Spiel in dem gesucht werden soll| +In-Group Campaign ID|In-Gruppe Campaign ID| +This is the Campaign ID that will be used to search for a match within|Dies ist die Kampagnen-ID, die verwendet werden, um für ein Spiel in dem gesucht werden soll| +Group Handling|Gruppe Handhabung| +COPY EMAIL GROUP|Kopieren e-GROUP| +Email Group ID|E-Mail-Gruppen-ID| +Email Group Name|Email Group Name| +Source Email Group ID|Quelle Email Gruppen-ID| +Email Accounts|E-Mail-Konten| +Next Agent Email|Weiter Agenten Email| +Start Email URL|Starten Sie E-Mail URL| +Dispo Email URL|Dispo Email URL| +No Agent Email URL|Kein Agent-E-Mail URL| +EMAIL ACCOUNTS USING THIS IN-GROUP|E-Mail Konten mit dieser in-GROUP| +EMAIL GROUP NOT ADDED|E-MAIL GROUP nicht zugesetzt| +Email group ID must be between 2 and 20 characters in length and contain no|E-Mail-Gruppen-ID muss zwischen 2 und 20 Zeichen lang sein und darf keine| +Email group name and group color must be at least 2 characters in length|Email Gruppenname und Gruppen-Farbe muss mindestens 2 Zeichen lang sein| +EMAIL GROUP ADDED|E-MAIL-Gruppe hinzugefügt| +Show Email Accounts|Zeigen Email Accounts| +Add A New Account|Fügen Sie ein neues Konto| +Copy An Account|Kopieren Sie ein Konto| +Dialer Email Account fields|Dialer Email Konto Felder| +NEW ACCOUNT|NEUES KONTO| +SUCCESSFULLY CREATED|Erfolgreich erstellt| +All Admin User Groups|Alle Admin User Groups| +ERROR: Inbound emails are not active on this system|ERROR: Inbound E-Mails sind auf diesem System nicht aktiv| +invalid or null|unwirksam oder null| +SUCCESSFULLY MODIFIED|ERFOLGREICH VERÄNDERTER| +There was an unknown error when attempting to copy the new account|Es war ein unbekannter Fehler beim Versuch, das neue Konto kopieren| +SUCCESSFULLY COPIED FROM|Erfolgreich von KOPIERT| +source email does not exist|Quelle E-Mail existiert nicht| +ACCOUNT NOT COPIED|Konto NICHT KOPIERT| +Copy New Account from Existing Account|Kopieren New Account aus bestehenden Konto| +Account ID to Copy From|Konto-ID zu kopierenden| +New Account ID|New Account ID| +New Account Name|New Account Name| +There are no existing accounts to copy from|Es sind keine bestehende Konten zu kopierenden| +The data you submitted has the following errors|Die Daten, die Sie eingereicht hat folgende Fehler| +ACCOUNT NOT INSERTED|Account not INSERTED| +ADD NEW INBOUND EMAIL ACCOUNT|ADD NEW INBOUND-Mail-Konto| +CONFIRM DELETION OF INBOUND EMAIL ACCOUNT|Bestätigen Sie das Löschen der eingehenden E-Mail Konto| +Click to delete account|Klicken Sie auf Konto löschen| +ACCOUNT NOT UPDATED|Konto nicht aktualisiert| +UPDATE AN EXISTING INBOUND EMAIL ACCOUNT|Update einer bestehenden INBOUND-Mail-Konto| +INBOUND EMAIL ACCOUNT LISTINGS|Eingehende E-Mails Kontoeinträge| +UNREAD EMAILS|UNREAD EMAIL| +Un-handled Emails|Un-E-Mails behandelt| +Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system|Wird dies auf ingroup wird einen Anrufbeantworter an einer eingehenden Gruppe senden. Wird dies auf CALLMENU wird einen Anrufbeantworter an einem Aufruf Menü Nachricht im System| +AMD send to Action|AMD to Action senden| +This option allows you to define whether a call is sent to the AMD Action when an answering machine is detected. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N|Mit dieser Option können Sie festlegen, ob ein Aufruf der AMD Aktion wird gesendet, wenn ein Anrufbeantworter erkannt wird. Wenn diese auf N gesetzt ist, wird der Anruf, sobald festgestellt wird, um mit einem Anrufbeantworter aufgehängt. Der Standardwert ist N| +AMD Inbound Group|AMD Inbound-Gruppe| +If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected|Wenn CPD AMD Aktion ingroup gesetzt ist, dann ist dies der Inbound-Gruppe, dass der Aufruf gesendet werden, wenn ein Anrufbeantworter erkannt| +AMD Call Menu|AMD Aufruf Menü| +If CPD AMD Action is set to CALLMENU, then this is the Call Menu that the call will be sent to if an answering machine is detected|Wenn CPD AMD Aktion CALLMENU gesetzt ist, dann ist dies der Ruf-Menü, dass der Aufruf gesendet werden, wenn ein Anrufbeantworter erkannt| +Level 8 Disable Add|Level 8 Deaktivieren hinzufügen| +This setting if enabled will prevent any level 8 user from adding or copying any record in the system, no matter what their user settings are. Excluded from these restrictions are the ability to add DNC and Filter Phone Groups numbers and the Add a New Lead page. Default is 0 for disabled|Diese Einstellung wird aktiviert, wenn jede Stufe 8 Benutzer hinzufügen oder Kopieren auf einen Eintrag im System, egal, was ihre Benutzer-Einstellungen sind zu vermeiden. Ausgenommen von diesen Beschränkungen sind die Fähigkeit, DNC und Filter Phone Gruppen Zahlen zu addieren und das Hinzufügen eines neuen Lead-Seite. Standard ist 0 für Behinderte| +You do not have permission to add records on this system|Sie haben keine Berechtigung, um Datensätze auf diesem System hinzufügen| +These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks.LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered.You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE.Default is ALL_ACTIVE|Diese Optionen können Sie die sichtbar Rückrufe in der Agentenrückruf Alert Abschnitt auf dem Agenten-Bildschirm zu begrenzen, um nur leben, Rückrufe. LIVE-Rückrufe sind nur für Benutzer, die ihre geplante Rückrufe Trigger Datum und Zeit getroffen haben. ACTIVE Rückrufe sind nur für Benutzer Rückrufe, die im System aktiv sind, aber noch nicht ausgelöst. Sie können sowohl aktive als auch LIVE-Rückrufe indem Sie ALL_ACTIVE anzuzeigen. Standard ist ALL_ACTIVE| +VICIDIAL ADMIN REPORT LOG|Vicidial Admin zu melden LOG| +VICIDIAL USER ADMIN REPORT LOG|Vicidial USER Admin zu melden LOG| +VICIDIAL DETAIL ADMIN REPORT LOG|Vicidial DETAIL Admin zu melden LOG| +ADMIN REPORT LOG|Admin zu melden LOG| +Admin Report Log Viewer|Admin melden Log Viewer| +Survey Wait Seconds|Umfrage Warten Sekunden| +This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds|Dies ist die Anzahl der Sekunden, wenn in Umfrage-Modus wird das System für die Eingabe von der Person genannt, bis die Umfrage oder Drop-Aktion ausgelöst wird, warten. Wird nicht angewendet, wenn die Erhebungsmethode ist HANGUP. Standardwert ist 10 Sekunden| +You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details|Sie können NOINT direkt vor einer Audio-Datei, um ihn zu machen, so dass die Wiedergabe kann nicht mit einem Tastendruck vom Anrufer unterbrochen werden hinzufügen, desto NOINT sollte nicht ein Teil des Dateinamens sein, ist es eine besondere Flagge für das System. Sie können auch spezielle Zwecke. Agi Skripte in diesem Bereich als auch wie die cm_date.agi Skript, mit Ihren Administrator für weitere Details zu besprechen| +DROP will drop the call using the campaign drop method but still log the call as a PM played message status|DROP sinkt das Gespräch mit der Kampagne Drop-Methode, aber immer noch einloggen den Anruf als PM gespielt Meldungszustand| +Quality Control|Qualitätskontrolle| +Source User|Quelle Benutzer| +>Admin<|> Admin <| +Campaign Call Date|Kampagne Kündigungstag| +Lead Recycling|Blei-Recycling| +Day outbound call count for this campaign|Day Outbound-Call-Zählung für diese Kampagne| +State rules defined for this call time|Staatliche Regeln für dieses Gespräch Zeit definiert| +in seconds|in Sekunden| +Agent Display Dialable Leads|Agent-Anzeige wählbare Leads| +Agent Display Queue Count|Maklers Queue Count| +Manual Dial Filter|Manuelle Wahl Filter| +Agent Call Re-Queue Button|MANAGER Telefonisch Re-Queue Knopf| +LEADS COUNT|FÜHRT COUNT| +number:|Anzahl:| +server:|Server:| +audio chooser|Audio-Wahlmenü| +voicemail chooser|Voicemail-Wahlmenü| +FILTER ID|FILTER ID| +FILTER NAME|Filter Name| +Show Email Groups|Zeigen Email Gruppen| +Email Accounts|E-Mail-Konten| +CallCard Admin|CallCard Admin| + Contacts | Kontakte | +We STRONGLY recommend uploading only 16bit Mono 8k PCM WAV audio files|Wir empfehlen dringend, Upload nur 16bit PCM Mono 8k WAV-Audio-Dateien| +All spaces will be stripped from uploaded audio file names|Alle Räume werden von hochgeladenen Audiodatei Namen abgestreift werden | +ERROR: Default value cannot be longer than maximum field length|Fehler: Default-Wert kann nicht länger als maximale Feldlänge| diff --git a/agc_2-X/trunk/translations/dk_language.txt b/agc_2-X/trunk/translations/dk_language.txt index 600ad1e2..76225a82 100644 --- a/agc_2-X/trunk/translations/dk_language.txt +++ b/agc_2-X/trunk/translations/dk_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"JAN"| @@ -267,7 +269,7 @@ Dial Override|Dial Override| digits only please|kun tal tak| Dial Now|Ring Nu| CB Comments|Kommentar vdr genkald| -Title|Títel| + Title| Títel| Your Status|Din status| STATUS| STATUS| RESET| RESET| @@ -277,10 +279,9 @@ Incoming|Inkommende| Calling|Ringer| Called|Opringt| Campaign|Kampanje| -Status|Status| +>Status|>Status| Inserted|Indsat| seconds| sekunder| -HELP|HJÆLP| Login | Login | Login:| Login:| User |Bruger | @@ -291,7 +292,6 @@ Server|Server| RECORD |INDSPILLNING | >HANGUP|>LÆGPÅ| >XFER|>XFER| -PARK|HOLD| IN-NUMBER|IN-NUMMER| NUMBER|NUMMER| CALLERID|CALLERID| @@ -300,16 +300,15 @@ PICKUP|LØFT| CONFERENCE|konference| Refresh|Genopfrisk| Send DTMF|Send DTMF| -ORDER|ORDER| +>ORDER|>ORDER| on | på | >LOGOUT|>LOGUD| Channel| Kanal| Extensions|Linjer| Conferences|konferencer| Conference|konference| -Recording|Indspildning| -Record|indspild| -Welcome|Velkommen| + Recording| Indspildning| +Welcome |Velkommen | VOICEMAIL|VOICEMAIL| NEW| NY| OLD| GAMMEL| @@ -320,21 +319,21 @@ Slower|langsomt| Initializing|opstart| Invalid|Ikke gyldigt| Username|Brugernavn| -Notes|Notat| +Notes:|Notat:| First|Første| MI: |IM: | -Last|Sidste| +Last |Sidste | Address|Adresse| City|By| -State|Stat| + State| Stat| PostCode|Postnummer| Province|Provins| Vendor ID|Vendor ID| DialCode|Landsnummer| Alt. Phone|Alt. telefon| Show|Vis| -Email|Email| -Comments|kommentar| + Email| Email| + Comments| kommentar| REFRESH|GENOPFRISK| ALT PHONE DIAL|RING ALT NUMMER| MAIN PHONE|HOVED TELEFON| @@ -514,3 +513,79 @@ Agents View|Agenter Vis| -INCALL|-Indgående| -PAUSED|-PAUSE| CALL DISPOSITION|CALL Disposition| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|Klik her for at vælge en dial in-gruppen| +SELECT A DIAL IN-GROUP|vælge et dial-in-gruppen| +DIAL IN-GROUP|ringe ind-gruppen| +Dial In-Group|ringe ind-gruppen| +Click Here to Activate|klik her for at aktivere| +Click Here to Deactivate|klik her for at deaktivere| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|FEJL: Du skal indtaste søgetermer, skal en af ​​disse være befolket: lead id, leverandør-id, telefonnummer, efternavn| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|FEJL: Du skal indtaste søgetermer, skal en af ​​disse være befolket: kontor nummer, efternavn, fornavn| +ERROR: There was a problem with your search terms|fejl: der var et problem med dine søgetermer| +Phone and Post Code Time Zone Mismatch|telefon og postnummer tidszone mismatch| +Last Local Call Time|sidste lokalt opkald tid| +Called Count|Antallet af opkald| +Unidentified Hangup Cause Code|uidentificeret læg årsagskode| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|du skal vælge en agent til at overføre til, når du bruger agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|anden live agent session var åben ved hjælp af din bruger-id. Det er blevet deaktiveret. klik ok for at fortsætte til agenten skærmen| +View Comment History|se kommentar historik| +reset form|reset formular| +SELECT THIS LEAD|vælge denne bly| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|du skal være på et aktivt indgående opkald for at søge efter et kundeemne| +Attachments|vedhæftede filer| +Next Call Pause|næste opkald pause| +-History-|-history-| +SUBMIT SEARCH|Afsend søgning| +close |lukke | +AGENT CALL LOG|agent opkaldslog| + LENGTH | længde | + PHONE | telefon | + FULL NAME | fulde navn | + CAMPAIGN | kampagne | + ALT | suppleant | + HANGUP | dille | + INFO | info | +phone login|telefon login| +LAST CALL|sidste opkald| + CALLBACK | tilbagekald | + CITY | by | + STATE | stat | + ZIP | zip | +Phone Number|telefonnummer| +Phone Number Fields|telefonnummer felter| +Lead ID|lede id| + WAIT | vente | + AGENT | agent | + CALL GROUP | kalder gruppen | + TYPE | typen | +digits only|cifre kun| +DIAL ALERT|dial advare| +WEB FORM SUBMIT|webside formularindsendelse| +in campaign|i kampagnen| + DATE\/TIME | dato\/tid | + IN\/OUT | ind og ud | +>GROUPS<|>GRUPPER<| +>GO<|>gå<| +>recording<|>optagelse<| +>SELECT<|>Vælg<| +Alert is ON|indberetning er på| +Alert is OFF|indberetning er slukket| +EMAIL LOG FOR THIS LEAD|email loggen for denne bly| +EMAIL TO|e-mail til| + ATTACHMENTS | vedhæftede filer | +Called Since Last Reset|kaldte siden sidste nulstilling| +Timezone:|tidszone:| +Dial Link|dial link| + LAST | sidste | +SEARCH FOR A CONTACT|søge efter en kontakt| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|noter: når du laver en søgning efter en kontakt, der er wildcard eller delvis søgetermer ikke tilladt| +Contact search requests are all logged in the system|kontakt søgeanmodninger er alle logget ind i systemet| +Office Number|kontor nummer| +First Name|fornavn| +Last Name|efternavn| +BU Name|firmanavn| +Department:|afdeling:| +Group Name|gruppenavn| +Job Title|stillingsbetegnelse| +Location:|location:| diff --git a/agc_2-X/trunk/translations/el_language.txt b/agc_2-X/trunk/translations/el_language.txt index 84719957..8cf6685b 100644 --- a/agc_2-X/trunk/translations/el_language.txt +++ b/agc_2-X/trunk/translations/el_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"ΙΑΝ"| @@ -322,7 +324,7 @@ Dial Override|Αγνόησε Κλήση| digits only please|παρακαλώ μόνο ψηφία| Dial Now|Κάλεσε Τώρα| CB Comments|Σχόλια CB| -Title|Τίτλος| + Title| Τίτλος| STATUS| ΚΑΤΑΣΤΑΣΗ| RESET| ΕΠΑΝΑΦΟΡΑ| CLEAR FORM|ΕΠΑΝΑΦΟΡΑ| @@ -331,10 +333,9 @@ Incoming|Εισερχόμενο| Calling|Σε Κλήση| Called|Αποκαλούμενος| Campaign|Εκστρατεία| -Status|Κατάσταση| +>Status|>Κατάσταση| Inserted|Εισαγωγή | seconds| δευτερόλεπτα| -HELP|ΒΟΗΘΕΙΑ| Login | Σύνδεση | Login:|Σύνδεση:| User |Χρήστης | @@ -345,7 +346,6 @@ Server|Κεντρικός υπολογιστής| RECORD |ΕΓΓΡΑΦΗ | >HANGUP|>ΚΛΕΙΣΙΜΟ| >XFER|>XFER| -PARK|ΣΤΑΘΜΕΥΣΗ| IN-NUMBER|ΣΕ-ΑΡΙΘΜΟ| NUMBER|ΑΡΙΘΜΟΣ| CALLERID|CALLERID| @@ -354,16 +354,15 @@ PICKUP|ΕΠΑΝΑΛΕΙΨΗ| CONFERENCE|ΣΥΝΔΙΑΣΚΕΨΗ| Refresh|Ανανέωση| Send DTMF|Στείλε DTMF| -ORDER|ΤΑΞΙΝ| +>ORDER|>ΤΑΞΙΝ| on | στο | >LOGOUT|>ΑΠΟΣΥΝΔΕΣΗ| Channel| Κανάλι| Extensions|Τηλ.συνδέσεις| Conferences|Διασκέψεις| Conference|Διάσκεψη| -Recording|Καταγραφή| -Record|Εγγραφή| -Welcome|Χρήστης| + Recording| Καταγραφή| +Welcome |Χρήστης | VOICEMAIL|ΦΩΝ.ΤΑΧ.| NEW| ΝΕΟ| OLD| ΠΑΛΑΙΟ| @@ -374,21 +373,21 @@ Slower|Πιό αργά| Initializing|Αρχή| Invalid|Ακυρο| Username|Όνομα χρήστη| -Notes|Σημειώσεις| +Notes:|Σημειώσεις:| First|Πρώτο| MI: |Μσ:| -Last|Επίθετο| +Last |Επίθετο | Address|Διεύθυνση| City|Πόλη| -State|Κράτος| + State| Κράτος| PostCode|Ταχ.Κωδ.| Province|Επαρχία| Vendor ID|ID προμηθευτού| DialCode|Κωδικός Κλήσης| Alt. Phone|Εναλ/κό Τηλ| Show|Παρουσίαση| -Email|Ηλεκτρονικό ταχυδρομείο| -Comments|Σχόλια| + Email| Ηλεκτρονικό ταχυδρομείο| + Comments| Σχόλια| REFRESH|ΑΝΑΝΕΩΣΗ| ALT PHONE DIAL|ΚΛΗΣΗ ENAΛ/ΚΟΥ ΤΗΛΕΦΩΝΟΥ| MAIN PHONE|ΚΥΡΙΟ ΤΗΛΕΦΩΝΟ| @@ -563,3 +562,79 @@ Agents View|Δείτε πράκτορες| -INCALL|-Incall| -PAUSED|-ΠΑΥΣΗ| CALL DISPOSITION|ΠΡΟΣΚΛΗΣΗ διάθεση| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|κάντε κλικ εδώ για να επιλέξετε μια σύνδεση μέσω τηλεφώνου στην ομάδα| +SELECT A DIAL IN-GROUP|επιλέξτε μια κλήση στην ομάδα| +DIAL IN-GROUP|καλέσουν ομάδα| +Dial In-Group|καλέσουν ομάδα| +Click Here to Activate|κάντε κλικ εδώ για να ενεργοποιήσετε| +Click Here to Deactivate|κάντε κλικ εδώ για να απενεργοποιήσετε| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|error: θα πρέπει να εισάγετε όρους αναζήτησης, ένα από αυτά πρέπει να είναι πυκνοκατοικημένη: μόλυβδος id, id πωλητή, τον αριθμό τηλεφώνου, το επώνυμο| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|error: θα πρέπει να εισάγετε όρους αναζήτησης, μία από αυτές θα πρέπει να συμπληρωθεί: αριθμός του γραφείου, το επώνυμο, το όνομα| +ERROR: There was a problem with your search terms|error: υπήρχε ένα πρόβλημα με δικούς σας όρους αναζήτησης| +Phone and Post Code Time Zone Mismatch|τηλεφώνου και μετά του χρόνου κωδικό αναντιστοιχία ζώνη| +Last Local Call Time|τελευταία τοπική ώρα κλήσης| +Called Count|αριθμό των κλήσεων| +Unidentified Hangup Cause Code|αγνώστων κωδικό αιτία ανωμαλίας| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|θα πρέπει να επιλέξετε έναν πράκτορα να μεταφέρει κατά τη χρήση agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|μια άλλη ζωντανή συνεδρία παράγοντα που χρησιμοποιούν ανοικτού όνομα χρήστη σας. έχει απενεργοποιηθεί. κάντε κλικ στο κουμπί OK για να συνεχίσετε στην οθόνη παράγοντα| +View Comment History|δείτε το ιστορικό σχόλιο| +reset form|επαναφέρετε μορφή| +SELECT THIS LEAD|επιλέξτε αυτό το προβάδισμα| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|θα πρέπει να είναι σε μια ενεργή εισερχόμενη κλήση για να αναζητήσετε ένα προβάδισμα| +Attachments|συνημμένα| +Next Call Pause|επόμενη παύση κλήσης| +-History-|-history-| +SUBMIT SEARCH|υποβολή αναζήτησης| +close |κοντά | +AGENT CALL LOG|παράγοντα καταγραφής κλήσεων| + LENGTH | μήκος | + PHONE | τηλέφωνο | + FULL NAME | ονοματεπώνυμο | + CAMPAIGN | εκστρατεία | + ALT | αναπληρωματικό | + HANGUP | ανωμαλίας | + INFO | info | +phone login|Σύνδεση τηλεφώνου| +LAST CALL|τελευταία κλήση| + CALLBACK | επανάκλησης | + CITY | πόλη | + STATE | κατάσταση | + ZIP | zip | +Phone Number|αριθμός τηλεφώνου| +Phone Number Fields|πεδία αριθμού τηλεφώνου| +Lead ID|οδηγήσει id| + WAIT | περιμένετε | + AGENT | πράκτορας | + CALL GROUP | καλέστε την ομάδα | + TYPE | τύπος | +digits only|μόνο ψηφία| +DIAL ALERT|dial ειδοποιεί| +WEB FORM SUBMIT|ιστοσελίδα μορφή υποβάλλει| +in campaign|στην εκστρατεία| + DATE\/TIME | Ημερομηνία\/ώρα | + IN\/OUT | μέσα και έξω | +>GROUPS<|>ΟΜΆΔΕΣ<| +>GO<|>πάμε<| +>recording<|>σημειώνοντας<| +>SELECT<|>επιλέξτε<| +Alert is ON|συναγερμού είναι| +Alert is OFF|ειδοποίηση είναι απενεργοποιημένη| +EMAIL LOG FOR THIS LEAD|log email για αυτό το προβάδισμα| +EMAIL TO|email στο| + ATTACHMENTS | συνημμένα | +Called Since Last Reset|ζήτησε από τον τελευταίο μηδενισμό| +Timezone:|Χρονική ζώνη:| +Dial Link|dial link| + LAST | τελευταίος | +SEARCH FOR A CONTACT|αναζητήσετε μια επαφή| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Σημειώσεις: Όταν κάνετε μια αναζήτηση για μια επαφή, δεν επιτρέπεται μπαλαντέρ ή μερική όρους αναζήτησης| +Contact search requests are all logged in the system|Τα αιτήματα αναζήτησης επαφών όλοι συνδεδεμένοι στο σύστημα| +Office Number|αριθμός γραφείων| +First Name|όνομα| +Last Name|επώνυμο| +BU Name|εμπορική επωνυμία| +Department:|Τμήμα:| +Group Name|το όνομα της ομάδας| +Job Title|τίτλος θέσης εργασίας| +Location:|τοποθεσία:| diff --git a/agc_2-X/trunk/translations/el_language_admin.txt b/agc_2-X/trunk/translations/el_language_admin.txt index d74d8460..f5924f2f 100644 --- a/agc_2-X/trunk/translations/el_language_admin.txt +++ b/agc_2-X/trunk/translations/el_language_admin.txt @@ -65,7 +65,7 @@ vicidial|welcome_languages.php|1 vicidial|vicidial_admin_web_logo.gif|1 vicidial|vicidial_admin_web_logo_small.gif|1 vicidial|user_territories.php|0 -vicidial|audio_store.php|1 +vicidial|audio_store.php|0 vicidial|AST_agent_time_detail.php|0 vicidial|AST_agent_timeclock_detail.php|0 vicidial|AST_OUTBOUNDsummary_interval.php|0 @@ -96,6 +96,25 @@ vicidial|admin_listloader_fourth_gen.php|0 vicidial|AST_admin_template_maker.php|0 vicidial|leadloader_template_display.php|0 vicidial|admin_listloader_third_gen.php|0 +vicidial|callbacks_bulk_change.php|0 +vicidial|lead_tools.php|0 +vicidial|admin_email_accounts.php|0 +vicidial|AST_email_log_report.php|0 +vicidial|AST_email_log_display.php|0 +vicidial/qc|qc_modify_lead.php|0 +vicidial/qc|QC_admin_variables.php|0 +vicidial/qc|QC_admin_variables01.php|0 +vicidial/qc|QC_call_client_iframe.php|0 +vicidial/qc|QC_call_client_include.php|0 +vicidial/qc|QC_header_include.php|0 +vicidial/qc|QC_header_include01.php|0 +vicidial/qc|QC_header_include02.php|0 +vicidial/qc|audit_comments.php|0 +vicidial/qc|qc_api.php|0 +vicidial/qc|QC_admin_include01.php|0 +vicidial/qc|QC_admin_include02.php|0 +vicidial/qc|QC_admin_modify_lead_include.php|0 +vicidial/qc|QC_status_codes_include.php|0 vicidial|wz_jsgraphics.js|1 vicidial|verticalbargraph.css|1 vicidial|horizontalbargraph.css|1 @@ -2414,7 +2433,6 @@ ADDING NEW MUSIC ON HOLD ENTRY|Adding New Music on Hold ΕΙΣΟΔΟΥ| MODIFY MUSIC ON HOLD ENTRY|MODIFY Music on Hold ΕΙΣΟΔΟΥ| DELETE MUSIC ON HOLD ENTRY|DELETE Music on Hold ΕΙΣΟΔΟΥ| MUSIC ON HOLD ENTRY LIST|Music on Hold Συμμετοχές| -We STRONGLY recommend uploading only 16bit 8k PCM WAV audio files|Συνιστούμε φόρτωμα μόνο 16bit 8k PCM WAV αρχεία ήχου| Music On Hold ID|Music On Hold ID| This is the short name of a Music On Hold entry. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 100 characters, minimum of 2 characters|Αυτή είναι η σύντομη ονομασία Music On Hold εισόδου. Αυτό πρέπει να είναι ένα μοναδικό αναγνωριστικό. Μην χρησιμοποιείτε κενά ή σημεία στίξης για αυτό τον τομέα. μεγ. 100 χαρακτήρες, τουλάχιστον 2 χαρακτήρες| Music On Hold Name|Music Hold On Όνομα| @@ -2495,7 +2513,7 @@ CAMPAIGNS ALLOWING THIS IN-GROUP|ΕΚΣΤΡΑΤΕΙΕΣ οποίες καθισ This is the secret, or password, for the server in the iax auto-generated conf file for this server on other servers. Limit is 20 characters alphanumeric dash and underscore accepted. Default is test|Αυτό είναι το μυστικό, ή τον κωδικό πρόσβασης για το διακομιστή στο IAX που δημιουργείται αυτόματα conf αρχείο για αυτό το διακομιστή σε άλλους servers. Όριο είναι 20 χαρακτήρες αλφαριθμητικό παύλα και υπογράμμισης δεκτή. Προεπιλογή είναι δοκιμή| Delete Voicemail After Email|Διαγραφή Voicemail Μετά Email| This optional setting allows you to have the voicemail messages deleted from the system after they have been emailed out. Default is N|Αυτή η προαιρετική ρύθμιση επιτρέπει να έχετε το τηλεφωνητή μηνύματα διαγράφονται από το σύστημα αφού έχουν ήδη αποσταλεί έξω. Προεπιλογή είναι N| -Last Campaign Call Date|Ημερομηνία τελευταίας Καμπάνια Call| +Last Campaign Call Date|Ημερομηνία τελευταίας Καμπάνια τηλεφωνώ| This is the last time that a call was handled by an agent logged into this campaign|Αυτή είναι η τελευταία φορά που μια κλήση αυτή γίνεται από έναν πράκτορα συνδεθεί σε αυτή την καμπάνια| Custom User Fields|Custom χρήστη Κενά| These five fields can be used for various purposes, and they can be populated in the web form addresses and scripts as user_custom_one and so on|Αυτές οι πέντε τομείς που μπορούν να χρησιμοποιηθούν για διάφορους σκοπούς, και μπορούν να κατοικείται σε διευθύνσεις φόρμα και σενάρια ως user_custom_one και ούτω καθεξής| @@ -3407,3 +3425,224 @@ Search Method|Μέθοδος Αναζήτηση| USING THIS CALL MENU|Χρησιμοποιώντας αυτό το μενού ΠΡΟΣΚΛΗΣΗ| DELETE THIS CALL MENU|ΔΙΑΓΡΑΨΕΤΕ αυτό το μενού Κλήση| Click here to see Admin changes to this CALL MENU|Κάντε κλικ εδώ για να δείτε Διαχειριστής αλλαγές σε αυτό το μενού Κλήση | +### START translations for 2.6 release ### +In-Group Manual Dial|Σε-Group Dial Εγχειρίδιο| +In-Group Manual Dial Select|Σε-Group Manual Dial Επιλογή| +This feature allows you to enable the ability for agents to place manual dial outbound calls that are logged as in-group calls assigned to a specific in-group. The MANUAL_DIAL option allows the placing of phone calls out through an In-Group to the agent placing the call. The NO_DIAL option allows the agent to log time on a call that does not exist, as if it were a real call, this is often used for logging email or faxing time. The BOTH option will allow both call and no-call in-group dialing. The default is DISABLED|Αυτό το χαρακτηριστικό σας επιτρέπει να ενεργοποιήσετε τη δυνατότητα για τους πράκτορες για να τοποθετήσετε το εγχειρίδιο dial εξερχόμενες κλήσεις που έχουν καταγραφεί, όπως στην ομάδα καλεί έναν ειδικό στην ομάδα. Η MANUAL_DIAL επιλογή επιτρέπει τη διάθεση του τηλεφώνου φωνάζει μέσα από μια εσωτερική ομάδα στον πράκτορα διάθεση την κλήση. Η NO_DIAL η επιλογή επιτρέπει στον πράκτορα να συνδεθούν χρόνο σε μια κλήση που δεν υπάρχει, σαν να ήταν μια πραγματική κλήση, αυτό είναι συχνά χρησιμοποιείται για τη σύνδεση ηλεκτρονικού ταχυδρομείου ή φαξ χρόνο. Η ΔΥΟ επιλογή θα επιτρέψει τόσο κλήση και όχι κλήση στην ομάδα κλήσης. Η προεπιλογή είναι απενεργοποιημένη| +This option is only active if the above In-Group Manual Dial feature is not DISABLED. This option restricts the selectable In-Groups that the agent can place In-Group Manual Dial calls through. CAMPAIGN_SELECTED will show only the in-groups that the campaign has set as allowable in-groups. ALL_USER_GROUP will show all of the in-groups that are viewable to the members of the user group that the agent belongs to|Αυτή η επιλογή είναι ενεργή μόνο αν η παραπάνω Σε ομαδική Manual Dial χαρακτηριστικό δεν είναι απενεργοποιημένη. Η επιλογή αυτή περιορίζει τη δυνατότητα επιλογής In-Groups ότι ο πράκτορας μπορεί να τοποθετήσει Σε ομαδική Manual Dial για κλήσεις μέσω. CAMPAIGN_SELECTED θα δείξει μόνο τις σε ομάδες ότι η εκστρατεία έχει θέσει ως επιτρεπόμενο σε ομάδες. ALL_USER_GROUP θα δείξει όλες τις in-ομάδες που είναι ορατά στα μέλη της ομάδας χρηστών ότι ο παράγων ανήκει| +Dial In-Group CID|Dial In-Ομάδα CID| +If the agent campaign allows for Manual In-Group Dialing, this caller ID number will be sent as the outgoing CID of the phone call if it is populated, overriding the campaign settings and list CID override setting. Default is empty|Εάν η καμπάνια παράγοντα επιτρέπει τη χειροκίνητη Σε ομαδική κλήση, ο αριθμός ταυτότητας καλούντος θα αποσταλεί ως ο απερχόμενος CID της τηλεφωνικής κλήσης, εάν έχει συμπληρωθεί, παρακάμπτοντας τις ρυθμίσεις της καμπάνιας και η λίστα CID ρύθμιση παράκαμψης. Η προεπιλογή είναι άδειο| +You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option|Μπορείτε επίσης να χρησιμοποιήσετε LTMG ή XFTAMM και των καταστάσεων για να προκαλέσει την αυτόματη μεταφορά στην επιλογή Αφήστε-Voicemail| +Send to Answering Machine Message|Αποστολή μηνύματος Απάντηση Machine| +Safe Harbor Audio Field|Safe Harbor Πεδίο ήχου| +This optional setting allows you to define a field in the list that the system will use as the audio filename for each lead in place of the Safe Harbor Audio file. If this is set to DISABLED the Safe Harbor Audio file will always be used. The system will do no validation to make sure that the audio file exists other than to make sure the value of the field is at least one character, so if you want a lead to use the default Safe harbor Audio then you just set the field value in the lead to empty. You can use the pipe character to link multiple audio files together in the field value for each lead. Default is DISABLED. Here is the list of fields that can be used for this setting|Αυτή η προαιρετική ρύθμιση αυτή σας επιτρέπει να ορίσετε ένα πεδίο στη λίστα ότι το σύστημα θα χρησιμοποιεί ως όνομα αρχείου ήχου για κάθε απαγωγή στη θέση του αρχείου ήχου Safe Harbor. Εάν αυτό έχει οριστεί σε απενεργοποιήσει την ασφαλή αρχείο ήχου Harbor θα πρέπει να χρησιμοποιείται πάντα. Το σύστημα θα κάνει καμία επικύρωση για να βεβαιωθείτε ότι το αρχείο ήχου υπάρχει εκτός από το να βεβαιωθείτε ότι η τιμή του πεδίου είναι τουλάχιστον ένα χαρακτήρα, οπότε αν θέλετε ένα προβάδισμα για να χρησιμοποιήσετε την προεπιλεγμένη Safe ήχου λιμάνι, τότε μόλις την τιμή του πεδίου το προβάδισμα για να αδειάσει. Μπορείτε να χρησιμοποιήσετε το χαρακτήρα σωλήνα για να συνδέσετε πολλαπλά αρχεία ήχου μαζί με την τιμή του πεδίου για κάθε απαγωγή. Προεπιλογή είναι απενεργοποιημένη. Εδώ είναι η λίστα των πεδίων που μπορούν να χρησιμοποιηθούν για αυτή τη ρύθμιση| +Call Menu Qualify Enabled|Μενού κλήσεων Προκριματικά Enabled| +This setting enables the option in Call Menus to put a SQL qualification on the people that hear that call menu. For more information on how that feature works, view the help for Call Menus. Default is 0 for disabled|Αυτή η ρύθμιση επιτρέπει την επιλογή στο μενού Κλήση για να τεθεί ένα SQL προσόντα για τους ανθρώπους που ακούω ότι το μενού κλήσης. Για περισσότερες πληροφορίες σχετικά με το πώς αυτό το χαρακτηριστικό λειτουργεί, δείτε τη βοήθεια για τα μενού κλήσεων. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες| +Qualify SQL|Προκριθείτε SQL| +This field allows you to input SQL - Structured Query Language - database fragments, like with Filters, to determine whether this call menu should play for the caller or not. This feature only works if the call has the callerIDname set prior to being sent to this call menu, either as an outbound survey transfer, or through the use of a drop call menu for an In-Group call. If there is a match, the call will proceed as normal. If there is no match, the call will go to the D option or the invalid option if no D option is set. You cannot use single-quotes in this field, only double-quotes if they are needed. Default is empty for disabled|Το πεδίο αυτό σας επιτρέπει να εισάγετε SQL - Structured Query Language - θραύσματα της βάσης δεδομένων, όπως και με τα φίλτρα, να καθοριστεί αν αυτό το μενού κλήσης θα πρέπει να παίξει για τον καλούντα ή όχι. Αυτό το χαρακτηριστικό λειτουργεί μόνο αν η κλήση έχει το σύνολο callerIDname πριν αποσταλεί σε αυτό το μενού κλήσης, είτε ως εξερχόμενη μεταφορά έρευνα, ή με τη χρήση ενός μενού κλήσης πτώση για μια κλήση Σε-Group. Αν υπάρχει ένας αγώνας, η κλήση θα προχωρήσει κανονικά. Αν δεν υπάρχει αντιστοιχία, η κλήση θα πάει στο D επιλογή ή την επιλογή δεν είναι έγκυρη αν δεν επιλογή Δ έχει οριστεί. Δεν μπορείτε να χρησιμοποιήσετε σε εισαγωγικά σε αυτόν τον τομέα, μόνο διπλά εισαγωγικά, εφόσον είναι αναγκαία. Η προεπιλογή είναι άδειο για άτομα με ειδικές ανάγκες| +Admin List Counts|Διαχειριστής Counts List| +This setting allows you to disable the list counts that appear on the Lists listing and the Campaign modify screens. Default is 1 for enabled|Αυτή η ρύθμιση σας επιτρέπει να απενεργοποιήσετε τις μετρήσεις λίστα που εμφανίζεται στην λίστα λίστες και τις οθόνες να τροποποιήσει καμπάνιας. Η προεπιλογή είναι 1 σε ενεργοποιημένο| +The Y_API_LAUNCH option can be used with the agent API to launch the webphone in a separate Iframe or window|Η επιλογή Y_API_LAUNCH μπορεί να χρησιμοποιηθεί με το API παράγοντα για την έναρξη του webphone σε ένα ξεχωριστό Iframe ή το παράθυρο| +If the option has BLANK at the end, then users are allowed to dial leads with no owner defined in addition to owner defined leads|Εάν η επιλογή έχει κενό στο άκρο, τότε οι χρήστες έχουν τη δυνατότητα να καλέσετε οδηγεί με καθορισμένους χωρίς ιδιοκτήτη ορίζεται επιπλέον στον ιδιοκτήτη οδηγεί| +Voicemail Greeting|Χαιρετισμός Voicemail| +This optional setting allows you to define a voicemail greeting audio file from the audio store. Default is blank|Αυτή η προαιρετική ρύθμιση αυτή σας επιτρέπει να ορίσετε ένα φωνητικό μήνυμα χαιρετισμού αρχείου ήχου από το κατάστημα ήχου. Η προεπιλογή είναι κενή| +Allow Voicemail Greeting Chooser|Αφήστε Voicemail Ευχετήριες Chooser| +If this setting is enabled it will allow you to choose an audio file from the audio store to be played as the voicemail greeting to a specific voicemail box. Default is 0 for disabled|Αν αυτή η ρύθμιση είναι ενεργοποιημένη, θα σας επιτρέψει να επιλέξετε ένα αρχείο ήχου από τον ήχο κατάστημα για να παίξει ως το χαιρετισμό φωνητικού ταχυδρομείου σε ένα συγκεκριμένο πλαίσιο τηλεφωνητή. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες| +File to Delete|Αρχείων για να διαγράψετε| +Agent Pause After Next Call Link|Παύση Agent Μετά επόμενο σύνδεσμο Call| +This option if enabled will display a link on the agent screen that will let the agent go on pause automatically after they hang up their next call. Default is DISABLED|Αυτή η επιλογή, αν ενεργοποιηθεί, θα εμφανίσει ένα σύνδεσμο στην οθόνη παράγοντα που θα αφήσει ο πράκτορας πάει σε παύση αυτόματα μετά θα το κλείσεις επόμενη κλήση τους. Προεπιλογή είναι απενεργοποιημένη| +Owner Populate|Ιδιοκτήτης Συμπλήρωση| +If this is enabled and the owner field of the lead is blank, the owner field for the lead will populate with the user ID of the agent that handles the call first. Default is DISABLED|Αν αυτό είναι ενεργοποιημένο και το πεδίο ιδιοκτήτης του μολύβδου είναι κενό, το πεδίο ιδιοκτήτη για το μόλυβδο θα συμπληρώσετε με το αναγνωριστικό χρήστη του πράκτορα που χειρίζεται την κλήση πρώτα. Προεπιλογή είναι απενεργοποιημένη| +This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are|Αυτό το πεδίο σας επιτρέπει να προσαρμόσετε το όνομα της εγγραφής όταν η εγγραφή Εκστρατεία OnDemand ή ALLCALLS. Τα κατοικίδια μεταβλητές είναι| +The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length|Η προεπιλογή είναι FULLDATE_AGENT και θα μοιάζει με αυτό 20051020-103108_6666. Ένα άλλο παράδειγμα είναι CAMPAIGN_TINYDATE_CUSTPHONE που θα μοιάζει με αυτό TESTCAMP_51020103108_3125551212. Te όνομα αρχείου που προκύπτει πρέπει να είναι μικρότερο από 90 χαρακτήρες σε μήκος| +This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are|Το πεδίο αυτό θα αντικαταστήσει το μενού Εγγραφή Εκστρατεία Σχέδιο filenaming, εκτός αν δεν έχει καθοριστεί. Τα κατοικίδια μεταβλητές είναι| +Audit Comments|Σχόλια Ελέγχου| +This option allows comments to be moved to an audit table. No longer editable, but viewable along with the date-time-creator of each comment. Default is N. This is a part of the Quality Control Add-On|Η επιλογή αυτή επιτρέπει σχόλια να μετακινηθεί σε έναν πίνακα ελέγχου. Δεν είναι πλέον επεξεργάσιμη, αλλά προβληθούν μαζί με την ημερομηνία-ώρα-δημιουργός του κάθε σχόλιο. Η προεπιλογή είναι N. Αυτό είναι ένα μέρος της Ποιοτικού Ελέγχου Add-On| +QueueMetrics Socket Send|QueueMetrics Socket Αποστολή| +This option, if enabled, will send QM data to a web page that will send it through a socket for logging. The CONNECT_COMPLETE option will send CONNECT, COMPLETEAGENT and COMPLETECALLER events to the url defined below. Default is NONE for disabled|Αυτή η επιλογή, αν ενεργοποιηθεί, θα στείλει QM δεδομένα σε μια ιστοσελίδα που θα στείλει μέσα από μια πρίζα για τη σύνδεση. Η CONNECT_COMPLETE επιλογή θα στείλει CONNECT, COMPLETEAGENT και COMPLETECALLER εκδηλώσεις στο url που ορίζονται κατωτέρω. Προεπιλεγμένη ρύθμιση είναι Καμία για άτομα με ειδικές ανάγκες| +QueueMetrics Socket Send URL|QueueMetrics Socket Αποστολή URL| +If Socket Send is enabled above, this is the URL that is used to send the data to. Default is EMPTY for disabled|Αν Socket Send είναι ενεργοποιημένη παραπάνω, είναι η διεύθυνση URL που χρησιμοποιείται για την αποστολή των δεδομένων σε. Προεπιλογή είναι άδειο για άτομα με ειδικές ανάγκες| +Add Holiday|Προσθήκη διακοπών| +Modify Holiday|Τροποποίηση διακοπών| +Delete Holiday|Διαγραφή διακοπών| +New Holiday Addition|Νέα προσθήκη διακοπών| +Holidays|Διακοπές| +Holiday ID|Holiday ID| +This is the short name of a Holiday Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 30 characters, minimum of 2 characters|Αυτή είναι η σύντομη ονομασία ενός Ορισμός διακοπών. Αυτό πρέπει να είναι ένα μοναδικό αναγνωριστικό. Μην χρησιμοποιείτε κενά ή σημεία στίξης για αυτό το πεδίο. max 30 χαρακτήρες, τουλάχιστον 2 χαρακτήρες| +Holiday Name|Όνομα διακοπών| +This is a more descriptive name of the Holiday Definition. This is a short summary of the Holiday definition. max 100 characters, minimum of 2 characters|Αυτό είναι ένα πιο περιγραφικό όνομα του Ορισμός διακοπών. Αυτή είναι μια σύντομη περίληψη του ορισμού των διακοπών. max 100 χαρακτήρες, τουλάχιστον 2 χαρακτήρες| +Holiday Comments|Σχόλια για διακοπές| +This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-. max 255 characters|Αυτό είναι όπου μπορείτε να αφήσετε τα σχόλιά έναν ορισμό για διακοπές, όπως-10π.μ. έως 4μ.μ. Boxing Day περιορισμούς-. max 255 χαρακτήρες| +Holiday Date|Ημερομηνία διακοπών| +This is the date of the holiday|Αυτή είναι η ημερομηνία των διακοπών| +Holiday Status|Κατάσταση διακοπών| +This is the status of the holiday entry. ACTIVE status means that the holiday will be enabled on the holiday date. INACTIVE status means that the holiday will be ignored even on the holiday date. EXPIRED means that the holiday has passed it's holiday date. Default is INACTIVE|Αυτή είναι η κατάσταση από την έναρξη των διακοπών. ACTIVE κατάσταση σημαίνει ότι οι διακοπές θα ενεργοποιηθεί την ημερομηνία διακοπών. Ανενεργή κατάσταση σημαίνει ότι οι διακοπές θα πρέπει να αγνοηθεί, ακόμη και την ημέρα των διακοπών. EXPIRED σημαίνει ότι η αργία έχει περάσει η ημερομηνία των διακοπών του. Προεπιλογή είναι ανενεργό| +short description of the holiday|σύντομη περιγραφή των διακοπών| +Day and time options will appear once you have created the Holiday Definition|Ημέρα και ώρα επιλογές θα εμφανιστούν αφού έχετε δημιουργήσει το Ορισμός διακοπών| +HOLIDAY DEFINITION NOT ADDED|HOLIDAY ορισμός δεν ΠΡΟΣΘΗΚΗ| +there is already a holiday entry with this ID|υπάρχει ήδη μια καταχώρηση διακοπές με αυτό το ID| +Holiday ID, name and date must be populated|ID Holiday, το όνομα και η ημερομηνία πρέπει να συμπληρωθεί| +HOLIDAY ADDED|HOLIDAY ΠΡΟΣΤΙΘΕΜΕΝΗΣ| +HOLIDAY NOT MODIFIED|HOLIDAY δεν τροποποιούνται| +HOLIDAY MODIFIED|HOLIDAY MODIFIED| +HOLIDAY NOT DELETED|HOLIDAY δεν έχουν διαγραφεί| +Holiday ID must be at least 2 characters in length|ID διακοπές πρέπει να είναι τουλάχιστον 2 χαρακτήρες| +HOLIDAY DELETION CONFIRMATION|HOLIDAY επιβεβαίωσης διαγραφής| +Click here to delete holiday|Κάντε κλικ εδώ για να διαγράψετε τις διακοπές| +HOLIDAY DELETION COMPLETED|ΔΙΑΓΡΑΦΗ HOLIDAY ΟΛΟΚΛΗΡΩΘΗΚΕ| +Holiday Rule Removed|Κανόνας Holiday Αφαιρέθηκε| +MODIFY A HOLIDAY|Τροποποιήσετε ένα HOLIDAY| +CALL TIMES USING THIS HOLIDAY|ΠΡΟΣΚΛΗΣΗ φορές χρησιμοποιώντας αυτό το διακοπών| +DELETE THIS HOLIDAY DEFINITION|Διαγράψτε αυτό το ΟΡΙΣΜΟΣ HOLIDAY| +Active Inbound Holiday Definitions for this Record|Active Inbound Ορισμοί διακοπών για αυτό το Record| +Add inbound holiday rule|Προσθήκη εισερχόμενος κανόνας διακοπών| +Holiday Rule Added|Κανόνας Holiday Προστέθηκε| +Holiday Rule Removed|Κανόνας Holiday Αφαιρέθηκε| +Click here to see Admin changes to this holiday|Κάντε κλικ εδώ για να δείτε Διαχειριστής αλλαγές σε αυτές τις γιορτές| +Expiration Date|Ημερομηνία λήξης| +This option allows you to set the date after which leads in this list will not be allowed to be auto-dialed or manual-list-dialed by the system. Default is 2099-12-31|Αυτή η επιλογή σας επιτρέπει να ρυθμίσετε την ημερομηνία μετά την οποία οδηγεί σε αυτή τη λίστα δεν θα επιτρέπεται να είναι αυτόματη ή χειροκίνητη κλήση-list-καλείται από το σύστημα. Η προεπιλογή είναι 12/31/2099| +Other Campaign DNC|Άλλα DNC Καμπάνιας| +If the option Use Campaign DNC List is enabled, this option can allow you to use a different campaign DNC list, just put the Campaign ID of the other campaign in this field. If you use this option, the original campaign DNC list will no longer be checked, only the OTHER campaign DNC list will be used. This does not affect use of the Internal System DNC list. Default is EMPTY|Εάν η επιλογή Χρήση Εκστρατεία Λίστα DNC είναι ενεργοποιημένη, αυτή η επιλογή μπορεί να σας επιτρέψει να χρησιμοποιήσετε ένα διαφορετικό κατάλογο DNC εκστρατεία, απλά βάλτε το Αναγνωριστικό καμπάνιας της Άλλης Καμπάνιας σε αυτόν τον τομέα. Εάν χρησιμοποιήσετε αυτήν την επιλογή, ο αρχικός κατάλογος DNC εκστρατεία δεν θα είναι πλέον να ελεγχθεί, μόνο η άλλη λίστα DNC εκστρατεία θα χρησιμοποιηθεί. Αυτό δεν επηρεάζει την χρήση της εσωτερικής λίστας DNC συστήματος. Προεπιλογή είναι άδειο| +LIST EXPIRED AND SET TO ACTIVE|ΚΑΤΑΛΟΓΟΣ λήξει και ρυθμιστεί ως ενεργή| +Enhanced Disconnect Logging|Ενισχυμένη Αποσύνδεση Logging| +This setting enables logging of calls that get a CONGESTION signal with a cause code of 1, 19, 21, 34 or 38. We usually do not recommend enabling this in the USA. Default is 0 for disabled|Αυτή η ρύθμιση επιτρέπει την καταγραφή των κλήσεων που παίρνουν ένα σήμα συμφόρησης κώδικα αιτία των 1, 19, 21, 34 ή 38. Εμείς συνήθως δεν συνιστούμε δίνοντας τους τη δυνατότητα στις ΗΠΑ. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες| +LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead|LIVE_CALL_INBOUND θα επιτρέψει την αναζήτηση για μια στιγμή να οδηγήσει σε μια εισερχόμενη κλήση μόνο. LIVE_CALL_INBOUND_AND_MANUAL θα επιτρέψει την αναζήτηση για μια στιγμή να οδηγήσει σε μια εισερχόμενη κλήση ή όταν είναι σταματημένο. Όταν Lead Αναζήτηση χρησιμοποιείται σε ένα live εισερχόμενη κλήση, το προβάδισμα της κλήσης, όταν πήγε στο πρακτορείο θα πρέπει να αλλάξει σε καθεστώς LSMERG, και τα αρχεία καταγραφής για την κλήση θα πρέπει να τροποποιηθεί ώστε να συνδεθεί με το μέσο που επιλέγεται μολύβδου αντί| +If this is a call that will go to a Call Menu and then back to an in-group, we suggest you use CUSTOMERCLOSER in this field, and also you need to set the In-Group Search Method in the Call Menu to CLOSER|Εάν αυτό είναι μια κλήση που θα πάει σε ένα μενού κλήσεων και στη συνέχεια πίσω σε μια ομάδα, σας προτείνουμε να χρησιμοποιήσετε CUSTOMERCLOSER σε αυτόν τον τομέα, και επίσης θα πρέπει να ρυθμίσετε το In-Ομάδα μέθοδο αναζήτησης στο μενού Κλήση για στενότερη| +Add New EMAIL In-Group|Προσθήκη νέου e-mail σε Ομάδα| +Copy EMAIL In-Group|Αντιγράψτε e-mail σε Ομάδα| +New Email Group Addition|Νέα προσθήκη Ομάδα Email| +New Copied Email Group Addition|Νέα Αντιγραφή προσθήκη Ομάδα Email| +Modify EMAIL In-Group|Τροποποίηση e-mail σε Ομάδα| +Email In-Groups|E-mail σε Ομάδες| +Modify Email Accounts|Τροποποίηση Email Λογαριασμοί| +This option if set to 1 allows the user to modify email accounts in the email account management page|Αυτή η επιλογή, αν έχει ρυθμιστεί στο 1 επιτρέπει στο χρήστη να τροποποιήσει τους λογαριασμούς ηλεκτρονικού ταχυδρομείου στο e-mail τη σελίδα διαχείρισης λογαριασμού| +Allow Emails|Αφήστε Emails| +This is where you can set whether the users of this campaign will be able to receive inbound emails in addition to phone calls|Αυτό είναι όπου μπορείτε να ορίσετε αν οι χρήστες αυτής της εκστρατείας θα είναι σε θέση να λάβει τα εισερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου εκτός από τις τηλεφωνικές κλήσεις| +This is where you can set whether this system will be able to receive inbound emails in addition to phone calls|Αυτό είναι όπου μπορείτε να ορίσετε αν το σύστημα αυτό θα είναι σε θέση να λάβει τα εισερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου εκτός από τις τηλεφωνικές κλήσεις| +VICIDIAL EMAIL ACCOUNTS|VICIDIAL λογαριασμούς ηλεκτρονικού ταχυδρομείου| +The Vicidial Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls. EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE|Η Vicidial τμήμα διαχείρισης λογαριασμών ηλεκτρονικού ταχυδρομείου σας επιτρέπει να δημιουργήσετε, να αντιγράψετε και να διαγράψετε τις ρυθμίσεις του λογαριασμού e-mail που θα σας επιτρέψει να έχετε μηνύματα ηλεκτρονικού ταχυδρομείου που έρχονται σε Vicidial το σύστημά σας και να αντιμετωπίζονται ως κανονικές κλήσεις. ΛΟΓΑΡΙΑΣΜΟΙ EMAIL πρέπει να συσταθεί ΑΠΟ ΕΣΑΣ και μια υπηρεσία παροχής e-mail - το οποίο δεν καλύπτεται από αυτό το module| +Email Account ID|Email ID λογαριασμού| +This is the short name of the email account, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length|Αυτή είναι η σύντομη ονομασία του λογαριασμού ηλεκτρονικού ταχυδρομείου, δεν είναι δυνατή η επεξεργασία μετά την αρχική υποβολή, δεν πρέπει να περιέχει κενά και πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες| +Email Account Name|Το όνομα του λογαριασμού| +This is the full name of the email account, it must be between 2 and 30 characters in length|Αυτό είναι το πλήρες όνομα του λογαριασμού ηλεκτρονικού ταχυδρομείου, θα πρέπει να είναι μεταξύ 2 και 30 χαρακτήρες| +This determines whether this account will be checked for new email messages to be loaded into the dialer|Αυτό καθορίζει αν αυτός ο λογαριασμός θα πρέπει να ελέγχονται για νέα μηνύματα ηλεκτρονικού ταχυδρομείου που πρέπει να φορτωθεί στο dialer| +Email Account Description|Email Περιγραφή λογαριασμού| +This allows for a lengthy description, if needed, of the email account. 255 characters max|Αυτό επιτρέπει για μια μακρά περιγραφή, εάν χρειάζεται, του λογαριασμού ηλεκτρονικού ταχυδρομείου. 255 χαρακτήρες το μέγιστο| +Email Account Type|Τύπο του λογαριασμού email| +Specifies whether the account is used for inbound or outbound email messages. Should be set to INBOUND|Καθορίζει αν ο λογαριασμός που χρησιμοποιείται για τα εισερχόμενα ή εξερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου. Θα πρέπει να οριστεί σε εισερχόμενα| +Admin User Group|Διαχειριστής ομάδα χρηστών| +This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group|Αυτή είναι η διοικητική ομάδα χρηστών για αυτή την εισερχόμενη ομάδα, αυτό επιτρέπει το admin προβολή αυτής στην ομάδα περιορίζεται από ομάδα χρηστών. Η προεπιλογή είναι - ALL - η οποία επιτρέπει σε κάθε χρήστη admin για να δείτε αυτό-ομάδα| +Email Account Protocol|Email Πρωτόκολλο λογαριασμού| +This is the email protocol used by the account you are setting up access to. Currently only IMAP and POP3 accounts are supported|Αυτό είναι το email πρωτόκολλο που χρησιμοποιείται από το λογαριασμό που δημιουργείτε πρόσβαση. Αυτή τη στιγμή υποστηρίζονται μόνο τους λογαριασμούς POP3 και IMAP| +Email Reply-to Address|Email Απάντηση στη διεύθυνση| +The email address of the account you are setting up access to. Replies to email messages from the agent interface will read as coming from this address|Η διεύθυνση ηλεκτρονικού ταχυδρομείου του λογαριασμού σας για τη δημιουργία πρόσβασης. Απαντήσεις σε μηνύματα ηλεκτρονικού ταχυδρομείου από το περιβάλλον παράγοντας θα διαβάσει ότι προέρχονται από αυτή τη διεύθυνση| +Email Account Server|Email διακομιστή λογαριασμού| +The email server that the account is housed on|Το e-mail server ότι ο λογαριασμός στεγάζεται σε| +Email Account User|Email λογαριασμού χρήστη| +The login used to access this account. Usually it's the portion of the reply-to address before the -at- symbol|Το login χρησιμοποιείται για την πρόσβαση σε αυτό το λογαριασμό. Συνήθως αυτό είναι το τμήμα της απάντησης για την αντιμετώπιση πριν από την-at-σύμβολο| +Email Account Password|Email Κωδικός Λογαριασμού| +The password used to access this account. This is usually set at the time the email account is created|Ο κωδικός που χρησιμοποιείται για την πρόσβαση σε αυτό το λογαριασμό. Αυτό συνήθως βρίσκεται στην ώρα του λογαριασμού ηλεκτρονικού ταχυδρομείου που έχει δημιουργηθεί| +Email Frequency Check Rate (mins)|Email ποσοστό ελέγχου συχνότητας (λεπτά)| +How often this email account should be checked. The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time|Πόσο συχνά αυτό το λογαριασμό e-mail θα πρέπει να ελέγχονται. Το υψηλότερο ποσοστό της συχνότητας αυτή τη στιγμή είναι πέντε λεπτά? Ορισμένοι πάροχοι υπηρεσιών ηλεκτρονικού ταχυδρομείου δεν θα επιτρέψει σε περισσότερους από τρεις προσπάθειες σύνδεσης σε δεκαπέντε λεπτά πριν από το κλείδωμα του λογαριασμού για αόριστο χρονικό διάστημα| +In-Group ID|In-Group ID| +The In-Group that email messages will be sent to|Η In-Ομάδα ότι τα μηνύματα ηλεκτρονικού ταχυδρομείου θα σταλεί στο| +Default List ID|Προεπιλογή ID Κατάλογος| +The List ID that leads will be inserted into if necessary|Το αναγνωριστικό λίστας που οδηγεί θα εισαχθεί στο αν είναι απαραίτητο| +In-Group Call Handle Method|Σε-Group Μέθοδος λαβή Call| +This is the action that will be taken when a new email is found in the account. EMAIL means all email messages will be inserted into vicidial_list as a new lead. EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table. EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Group Campaign ID" box below. EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group List ID" box below|Αυτή είναι η δράση που θα πρέπει να ληφθούν όταν ένα νέο μήνυμα ηλεκτρονικού ταχυδρομείου βρίσκεται στο λογαριασμό. EMAIL: όλα τα μηνύματα ηλεκτρονικού ταχυδρομείου θα πρέπει να εισαχθεί σε vicidial_list ως νέο προβάδισμα. EMAILLOOKUP θα ψάξει ολόκληρο τον πίνακα vicidial_list για τη διεύθυνση ηλεκτρονικού ταχυδρομείου στο email στήλη - εάν ο μόλυβδος έχει βρεθεί, ID λίστα που οδηγούν θα χρησιμοποιηθεί στην εγγραφή που πηγαίνει στο vicidial_email_list πίνακα. EMAILLOOKUPRC κάνει το ίδιο, αλλά θα ψάξει μόνο για λίστες που ανήκουν στην εκστρατεία έχει επιλεγεί στο "ID Σε ομαδική εκστρατεία" παρακάτω. EMAILLOOKUPRL θα ψάξει μόνο μια συγκεκριμένη λίστα, η οποία είναι αυτή που έχουν εισαχθεί στο "ID Σε ομαδική List" παρακάτω πλαίσιο| +In-Group Agent Search Method|Σε-Group Μέθοδος Αναζήτηση Agent| +The agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB.|Η μέθοδος αναζήτησης παράγοντα που θα χρησιμοποιηθεί από την εισερχόμενη ομάδα, LO είναι ισορροπημένα-Υπερχείλιση και θα προσπαθήσει να στείλει την κλήση σε έναν πράκτορα στον τοπικό διακομιστή πριν προσπαθήσετε να το στείλετε σε έναν πράκτορα σε άλλο διακομιστή, LB είναι ισορροπημένα και θα προσπαθήσει να στείλει την κλήση στο επόμενο παράγοντα δεν έχει σημασία τι server στον οποίο είναι, έτσι διακομιστή Μόνο και μόνο θα προσπαθήσει να στείλει τις κλήσεις στους πράκτορες στο διακομιστή που ήρθε η κλήση σε σχετικά. Η προεπιλογή είναι LB.| +In-Group List ID|Σε-Group ID Κατάλογος| +This is the List ID that will be used to search for a match within|Αυτό είναι το ID Κατάλογος που θα χρησιμοποιηθεί για την αναζήτηση για έναν αγώνα εντός| +In-Group Campaign ID|Σε Group ID Campaign| +This is the Campaign ID that will be used to search for a match within|Αυτό είναι το Αναγνωριστικό καμπάνιας που θα χρησιμοποιηθεί για την αναζήτηση για έναν αγώνα εντός| +Group Handling|Χειρισμός Ομάδα| +COPY EMAIL GROUP|COPY GROUP EMAIL| +Email Group ID|Email Group ID| +Email Group Name|Όνομα Email Ομάδα| +Source Email Group ID|Πηγή ID ομάδας Email| +Email Accounts|Λογαριασμοί Email| +Next Agent Email|Επόμενη Email Agent| +Start Email URL|Ξεκινήστε URL Email| +Dispo Email URL|Dispo URL Email| +No Agent Email URL|Δεν URL Email Agent| +EMAIL ACCOUNTS USING THIS IN-GROUP|ΛΟΓΑΡΙΑΣΜΟΙ ταχυδρομείου χρησιμοποιώντας αυτή IN-ΟΜΑΔΑ| +EMAIL GROUP NOT ADDED|ΟΜΙΛΟΣ EMAIL ΧΩΡΙΣ ΠΡΟΣΘΗΚΗ| +Email group ID must be between 2 and 20 characters in length and contain no|Email ID της ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες σε μήκος και δεν περιέχουν| +Email group name and group color must be at least 2 characters in length|Email όνομα της ομάδας και το χρώμα της ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες| +EMAIL GROUP ADDED|ΟΜΙΛΟΣ EMAIL ΠΡΟΣΤΙΘΕΜΕΝΗΣ| +Show Email Accounts|Εμφάνιση Λογαριασμοί Email| +Add A New Account|Προσθέσετε ένα νέο λογαριασμό| +Copy An Account|Αντιγράψτε ένα λογαριασμό| +Dialer Email Account fields|Dialer πεδία λογαριασμό ηλεκτρονικού ταχυδρομείου| +NEW ACCOUNT|Νέος λογαριασμός| +SUCCESSFULLY CREATED|Δημιουργήθηκε με επιτυχία| +All Admin User Groups|Όλα Διαχειριστής Ομάδες Χρηστών| +ERROR: Inbound emails are not active on this system|ΣΦΑΛΜΑ: Inbound emails δεν δραστηριοποιούνται σε αυτό το σύστημα| +invalid or null|άκυρη ή null| +SUCCESSFULLY MODIFIED|Τροποποιήθηκε επιτυχώς| +There was an unknown error when attempting to copy the new account|Υπήρξε ένα άγνωστο σφάλμα όταν προσπαθείτε να αντιγράψετε το νέο λογαριασμό| +SUCCESSFULLY COPIED FROM|Αντιγράφηκαν με επιτυχία από| +source email does not exist|email πηγή δεν υπάρχει| +ACCOUNT NOT COPIED|Δεν λαμβάνουν υπόψη COPIED| +Copy New Account from Existing Account|Αντιγράψτε νέου λογαριασμού από τον υπάρχοντα λογαριασμό| +Account ID to Copy From|Αριθμός λογαριασμού για να αντιγράψει από| +New Account ID|Νέα αναγνωριστικό λογαριασμού| +New Account Name|Νέο Όνομα λογαριασμού| +There are no existing accounts to copy from|Δεν υπάρχουν υπάρχοντες λογαριασμούς να αντιγράψετε από| +The data you submitted has the following errors|Τα δεδομένα που υποβάλλονται έχει τα ακόλουθα σφάλματα| +ACCOUNT NOT INSERTED|Δεν λαμβάνουν υπόψη ΕΙΣΗΓΜΕΝΗ| +ADD NEW INBOUND EMAIL ACCOUNT|Προσθήκη νέων ΕΙΣΕΡΧΟΜΕΝΟ λογαριασμό email| +CONFIRM DELETION OF INBOUND EMAIL ACCOUNT|Επιβεβαιώστε τη διαγραφή των εισερχόμενων λογαριασμό email| +Click to delete account|Κάντε κλικ για να διαγράψετε το λογαριασμό| +ACCOUNT NOT UPDATED|ΔΕΝ υπόψη τις ενημερωμένες| +UPDATE AN EXISTING INBOUND EMAIL ACCOUNT|Ενημερώσετε μια υπάρχουσα INBOUND λογαριασμό email| +INBOUND EMAIL ACCOUNT LISTINGS|INBOUND ΑΚΙΝΗΤΑ λογαριασμού e-mail| +UNREAD EMAILS|Αδιάβασών ηλεκτρονικών ταχυδρομείων| +Un-handled Emails|Un-χειρισμός Emails| +Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system|Ρύθμιση αυτό ingroup θα στείλει έναν αυτόματο τηλεφωνητή σε μια εισερχόμενη ομάδα. Ρύθμιση αυτό CALLMENU θα στείλει έναν αυτόματο τηλεφωνητή σε ένα Μενού Κλήσεων στο σύστημα| +AMD send to Action|AMD αποστολή σε Δράση| +This option allows you to define whether a call is sent to the AMD Action when an answering machine is detected. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N|Αυτή η επιλογή σας επιτρέπει να ορίσετε αν μια κλήση στέλνεται στο Action AMD, όταν ένας αυτόματος τηλεφωνητής έχει εντοπιστεί. Εάν αυτό έχει οριστεί σε N, τότε η κλήση θα κρεμαστεί το συντομότερο είναι αποφασισμένη να είναι ένας αυτόματος τηλεφωνητής. Η προεπιλογή είναι N| +AMD Inbound Group|AMD Inbound Ομάδα| +If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected|Αν CPD AMD δράση έχει οριστεί σε ingroup, τότε αυτό είναι το Inbound Ομάδα ότι η κλήση θα σταλεί στο αν ένας αυτόματος τηλεφωνητής ανιχνεύεται| +AMD Call Menu|AMD Μενού Κλήσεων| +If CPD AMD Action is set to CALLMENU, then this is the Call Menu that the call will be sent to if an answering machine is detected|Αν CPD AMD δράση έχει οριστεί σε CALLMENU, τότε αυτό είναι το Μενού Κλήσεων ότι η κλήση θα σταλεί στο αν ένας αυτόματος τηλεφωνητής ανιχνεύεται| +Level 8 Disable Add|Επίπεδο 8 Απενεργοποίηση Προσθήκη| +This setting if enabled will prevent any level 8 user from adding or copying any record in the system, no matter what their user settings are. Excluded from these restrictions are the ability to add DNC and Filter Phone Groups numbers and the Add a New Lead page. Default is 0 for disabled|Η ρύθμιση αυτή εάν είναι ενεργοποιημένη θα αποτρέψει οποιοδήποτε επίπεδο 8 το χρήστη από την προσθήκη ή την αντιγραφή οποιοδήποτε αρχείο στο σύστημα, δεν έχει σημασία ποιες είναι οι ρυθμίσεις των χρηστών τους. Εξαιρούνται από τους περιορισμούς αυτούς είναι η δυνατότητα να προσθέσετε DNC και να φιλτράρω τις ομάδες αριθμών τηλεφώνου και προσθέσετε μια νέα σελίδα Lead. Η προεπιλογή είναι 0 για άτομα με ειδικές ανάγκες| +You do not have permission to add records on this system|Δεν έχετε άδεια για να προσθέσετε αρχεία σε αυτό το σύστημα| +These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks. LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered. You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE. Default is ALL_ACTIVE|Αυτές οι επιλογές σάς επιτρέπει να περιορίσετε τα ορατά συναρτήσεις επιστροφής στην επανάκλησης ενότητα συναγερμού παράγοντα στην οθόνη παράγοντα, για να ζήσει μόνο callbacks. ΖΩΝΤΑΝΑ callbacks τον χρήστη προγραμματιστεί μόνο callbacks που έπληξαν την ημερομηνία ενεργοποίησης και το χρόνο τους. ACTIVE πλάτες κλήση από τον χρήστη μόνο callbacks που δραστηριοποιούνται στο σύστημα, αλλά δεν έχουν ακόμη ενεργοποιηθεί. Μπορείτε να δείτε τόσο την ενεργητική όσο και να ζήσουν callbacks επιλέγοντας ALL_ACTIVE. Η προεπιλογή είναι ALL_ACTIVE| +VICIDIAL ADMIN REPORT LOG|VICIDIAL ADMIN LOG ΕΚΘΕΣΗ| +VICIDIAL USER ADMIN REPORT LOG|VICIDIAL χρήστη Admin LOG ΕΚΘΕΣΗ| +VICIDIAL DETAIL ADMIN REPORT LOG|VICIDIAL ADMIN λεπτομερειών καταγραφής ΕΚΘΕΣΗ| +ADMIN REPORT LOG|ADMIN LOG ΕΚΘΕΣΗ| +Admin Report Log Viewer|Διαχειριστής Log Viewer Έκθεση| +Survey Wait Seconds|Έρευνα Περιμένετε Δευτερόλεπτα| +This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds|Αυτός είναι ο αριθμός των δευτερολέπτων όταν βρίσκονται σε λειτουργία Survey θα περιμένει το σύστημα για την είσοδο από το πρόσωπο που καλείται μέχρι την έρευνα ή ενέργεια πτώση ενεργοποιείται. Δεν εφαρμόζεται αν η μέθοδος έρευνας είναι ανωμαλίας. Η προεπιλογή είναι 10 δευτερόλεπτα| +You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details|Μπορείτε να προσθέσετε NOINT ακριβώς μπροστά από ένα όνομα αρχείου ήχου να γίνει έτσι η αναπαραγωγή δεν μπορεί να διακοπεί με το πάτημα ενός πλήκτρου από τον καλούντα, ο NOINT δεν θα πρέπει να είναι ένα μέρος του ονόματος του αρχείου, είναι μια ειδική σημαία για το σύστημα. Μπορείτε επίσης να χρησιμοποιήσετε ειδικό σκοπό. AGI σενάρια στον τομέα αυτό, καθώς, όπως το σενάριο cm_date.agi, συζητήστε με το διαχειριστή σας για περισσότερες λεπτομέρειες| +DROP will drop the call using the campaign drop method but still log the call as a PM played message status|DROP θα μειωθεί η κλήση χρησιμοποιώντας τη μέθοδο της πτώσης της εκστρατείας, αλλά εξακολουθεί να καταγράψει την κλήση ως PM έπαιξε κατάσταση του μηνύματος| +Quality Control|Ποιοτικός Έλεγχος| +Source User|Χρήστης πηγή| +>Admin<|>Διαχειριστής<| +Campaign Call Date|Εκστρατεία Ημερομηνία κλήσης| +Lead Recycling|Μόλυβδος Ανακύκλωση| +Day outbound call count for this campaign|Ημέρα εξερχόμενο αριθμό κλήσης για αυτήν την καμπάνια| +State rules defined for this call time|Κανόνες για τις κρατικές ορίζεται, για το χρόνο εφημερίας| +in seconds|σε δευτερόλεπτα| +Agent Display Dialable Leads|πράκτορα dial απεικόνιση οδηγεί| +Agent Display Queue Count|πράκτορα μετράνε ουρά οθόνη| +Manual Dial Filter|εγχειρίδιο dial φίλτρο| +Agent Call Re-Queue Button|πράκτορα ουρά κλήση και πάλι το κουμπί| +LEADS COUNT|οδηγεί μετράνε| +number:|αριθμός:| +server:|διακομιστή:| +audio chooser|ήχου επιλογέα| +voicemail chooser|επιλογέα αυτόματου τηλεφωνητή| +FILTER ID|φίλτρο ταυτότητα| +FILTER NAME|Όνομα του φίλτρου| +Show Email Groups|δείχνουν ομάδες ταχυδρομείου| +Email Accounts|Λογαριασμοί αλληλογραφίας| +CallCard Admin|Καλέστε Διαχειριστής κάρτα| + Contacts | Επαφές | +We STRONGLY recommend uploading only 16bit Mono 8k PCM WAV audio files|Συνιστούμε φόρτωμα μόνο 16bit Mono 8k PCM WAV αρχεία ήχου| +All spaces will be stripped from uploaded audio file names|Όλοι οι χώροι θα πρέπει να αφαιρεθεί από Ανέβηκαν ήχου ονόματα αρχείων| +ERROR: Default value cannot be longer than maximum field length|σφάλματος: προεπιλεγμένη τιμή δεν μπορεί να είναι μεγαλύτερο από το μέγιστο μήκος του πεδίου| diff --git a/agc_2-X/trunk/translations/es_language.txt b/agc_2-X/trunk/translations/es_language.txt index c9be42c0..37e52349 100644 --- a/agc_2-X/trunk/translations/es_language.txt +++ b/agc_2-X/trunk/translations/es_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"ENE"| @@ -323,7 +325,7 @@ Dial Override|Invalidar y sobreescribir la marcación| digits only please|sólo dígitos por favor| Dial Now|Marcar ahora| CB Comments|Comentarios de los CB| -Title|Título| + Title| Título| Your Status|Su Estado| STATUS| ESTADO| RESET| REINICIAR| @@ -333,10 +335,9 @@ Incoming|Entrante| Calling|Llamando| Called|Llamado| Campaign|Campaña| -Status|Estado| +>Status|>Estado| Inserted|Insertado| seconds| segundos| -HELP|AYUDA| Login | Inicio de sesión | Login:|Inicio de sesión:| User |Usuario | @@ -347,7 +348,6 @@ Server|Servidor| RECORD |GRABACIÓN | >HANGUP|>COLGAR| >XFER|>TRANSFERENCIA| -PARK|RETENER| IN-NUMBER|NÚMERO ENTRANTE| NUMBER|NÚMERO| CALLERID|LLAMADASID| @@ -356,16 +356,15 @@ PICKUP|TOMAR| CONFERENCE|CONFERENCIA| Refresh|Recargar| Send DTMF|Enviar DTMF| -ORDER|ORDEN| +>ORDER|>ORDEN| on | en | >LOGOUT|>CERRAR SESIÓN| Channel| Canal| Extensions|Extensiones| Conferences|Conferencias| Conference|Conferencia| -Recording|Grabando| -Record|Grabar| -Welcome|Bienvenido| + Recording| Grabando| +Welcome |Bienvenido | VOICEMAIL|BUZÓN DE VOZ| NEW| NUEVO| OLD| ANTERIOR| @@ -376,21 +375,21 @@ Slower|Más lento| Initializing|Inicializando| Invalid|Inválido| Username|Nombre del usuario| -Notes|Notas| +Notes:|Notas:| First|Primero| MI: |IM: | -Last|Último| +Last |Último | Address|Dirección| City|Ciudad| -State|Estado| + State| Estado| PostCode|CódigoPostal| Province|Provincia| Vendor ID|ID del vendedor| DialCode|Código de marcación| Alt. Phone|Teléfono alternativo| -Email|Correo electrónico| + Email| Correo electrónico| Show|Mostrar| -Comments|Comentarios| + Comments| Comentarios| REFRESH|ACTUALIZAR| ALT PHONE DIAL|MARCAR AL TELÉFONO ALTERNATIVO| MAIN PHONE|TELÉFONO PRINCIPAL| @@ -570,3 +569,79 @@ Agents View|Ver Agentes| -INCALL|-INCALL| -PAUSED|-PAUSA| CALL DISPOSITION|LLAME AL DESTINO| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|Pinchar aquí para elejir una llamada en-Group| +SELECT A DIAL IN-GROUP|SELECCIONAR UN DIAL EN GRUPO| +DIAL IN-GROUP|DIAL EN GRUPO| +Dial In-Group|Marque En-Group| +Click Here to Activate|Haga clic aquí para activar| +Click Here to Deactivate|Haga clic aquí para desactivar| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|ERROR: Debe introducir los términos de búsqueda, una de ellas debe ser poblada: ID plomo, ID de proveedor, número de teléfono, el apellido| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|ERROR: Debe introducir los términos de búsqueda, uno de ellos deben estar siempre ocupados: número de oficina, apellido, nombre| +ERROR: There was a problem with your search terms|ERROR: Hubo un problema con los términos de búsqueda| +Phone and Post Code Time Zone Mismatch|Teléfono y código de tiempo del anuncio coinciden Zone| +Last Local Call Time|Última Hora local llamada| +Called Count|Llamado conde| +Unidentified Hangup Cause Code|Unidentified Colgar Código Causa| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|Debe seleccionar un AGENTE PARA TRANSFERIR A AL USAR AGENTDIRECT| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|Otra sesión de agente en vivo fue abierta con su nombre de usuario. Se ha desactivado. Haga clic en Aceptar para continuar con la pantalla de agente| +View Comment History|Ver comentario Historia| +reset form|Nueva búsqueda| +SELECT THIS LEAD|Seleccione esta LEAD| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|Usted debe estar en una llamada entrante ACTIVO PARA BUSCAR A PLOMO| +Attachments|Adjuntos| +Next Call Pause|Siguiente llamada Pausa| +-History-|Historia| +SUBMIT SEARCH|Enviar búsqueda| +close |cerrar | +AGENT CALL LOG|Registro de llamada de agente| + LENGTH | LARGO | + PHONE | TELÉFONO | + FULL NAME | NOMBRE | + CAMPAIGN | CAMPAÑA | + ALT | ALT | + HANGUP | HANGUP | + INFO | INFO | +phone login|Iniciar sesión telefónica| +LAST CALL|ÚLTIMA LLAMADA| + CALLBACK | VOLVER A LLAMAR | + CITY | CIUDAD | + STATE | ESTADO | + ZIP | CÓDIGO POSTAL | +Phone Number|Número de Teléfono| +Phone Number Fields|Los campos de número de teléfono| +Lead ID|Número de registro(Lead ID)| + WAIT | EL TIEMPO DE ESPERA | + AGENT | AGENTE | + CALL GROUP | LLAME GRUPO | + TYPE | EL TIPO DE LLAMADA | +digits only|sólo dígitos| +DIAL ALERT|MARCAR ALERTA| +WEB FORM SUBMIT|PÁGINA DEL PRESENTE| +in campaign|en la campaña| + DATE\/TIME | FECHA \/ HORA | + IN\/OUT | IN\/OUT | +>GROUPS<|>GRUPOS<| +>GO<|>IR<| +>recording<|>grabación<| +>SELECT<|>SELECCIONAR<| +Alert is ON|Alerta está activado| +Alert is OFF|Alerta está apagado| +EMAIL LOG FOR THIS LEAD|EMAIL REGISTRO PARA ESTE CABLE| +EMAIL TO|correo electrónico a| + ATTACHMENTS | ACCESORIOS | +Called Since Last Reset|Llamado desde el último reinicio| +Timezone:|Zona Horaria:| +Dial Link|Marque Enlace| + LAST | ÚLTIMO | +SEARCH FOR A CONTACT|Búsqueda de un contacto| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Nota: cuando se hace una búsqueda de contacto, los términos de búsqueda comodín o parciales no se permiten| +Contact search requests are all logged in the system|Contacto solicitudes de búsqueda están registrados en el sistema| +Office Number|Número de la oficina| +First Name|Nombre| +Last Name|Apellido| +BU Name|BU Nombre| +Department:|Departamento:| +Group Name|Nombre del grupo| +Job Title|Título del trabajo| +Location:|Ubicación:| diff --git a/agc_2-X/trunk/translations/es_language_admin.txt b/agc_2-X/trunk/translations/es_language_admin.txt index 4010d70f..46ef8131 100644 --- a/agc_2-X/trunk/translations/es_language_admin.txt +++ b/agc_2-X/trunk/translations/es_language_admin.txt @@ -65,7 +65,7 @@ vicidial|welcome_languages.php|1 vicidial|vicidial_admin_web_logo.gif|1 vicidial|vicidial_admin_web_logo_small.gif|1 vicidial|user_territories.php|0 -vicidial|audio_store.php|1 +vicidial|audio_store.php|0 vicidial|AST_agent_time_detail.php|0 vicidial|AST_agent_timeclock_detail.php|0 vicidial|AST_OUTBOUNDsummary_interval.php|0 @@ -96,6 +96,25 @@ vicidial|admin_listloader_fourth_gen.php|0 vicidial|AST_admin_template_maker.php|0 vicidial|leadloader_template_display.php|0 vicidial|admin_listloader_third_gen.php|0 +vicidial|callbacks_bulk_change.php|0 +vicidial|lead_tools.php|0 +vicidial|admin_email_accounts.php|0 +vicidial|AST_email_log_report.php|0 +vicidial|AST_email_log_display.php|0 +vicidial/qc|qc_modify_lead.php|0 +vicidial/qc|QC_admin_variables.php|0 +vicidial/qc|QC_admin_variables01.php|0 +vicidial/qc|QC_call_client_iframe.php|0 +vicidial/qc|QC_call_client_include.php|0 +vicidial/qc|QC_header_include.php|0 +vicidial/qc|QC_header_include01.php|0 +vicidial/qc|QC_header_include02.php|0 +vicidial/qc|audit_comments.php|0 +vicidial/qc|qc_api.php|0 +vicidial/qc|QC_admin_include01.php|0 +vicidial/qc|QC_admin_include02.php|0 +vicidial/qc|QC_admin_modify_lead_include.php|0 +vicidial/qc|QC_status_codes_include.php|0 vicidial|wz_jsgraphics.js|1 vicidial|verticalbargraph.css|1 vicidial|horizontalbargraph.css|1 @@ -2410,7 +2429,6 @@ ADDING NEW MUSIC ON HOLD ENTRY|ADDING NEW MUSIC EN ESPERA DE ENTRADA| MODIFY MUSIC ON HOLD ENTRY|MODIFICAR MÚSICA EN ESPERA DE ENTRADA| DELETE MUSIC ON HOLD ENTRY|DELETE MÚSICA EN ESPERA DE ENTRADA| MUSIC ON HOLD ENTRY LIST|MÚSICA EN ESPERA LISTA DE ENTRADA| -We STRONGLY recommend uploading only 16bit 8k PCM WAV audio files|Le recomendamos ENCARECIDAMENTE cargar sólo 16 bits 8k archivos de audio WAV PCM| Music On Hold ID|Música en espera de identificación| This is the short name of a Music On Hold entry. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 100 characters, minimum of 2 characters|Este es el nombre corto de una música en espera de entrada. Esto debe ser un identificador único. No utilice espacios ni puntuacion para este campo. 100 caracteres como máximo, mínimo de 2 caracteres de| Music On Hold Name|Música en espera Nombre| @@ -3403,3 +3421,224 @@ Search Method|Método de búsqueda| USING THIS CALL MENU|EL USO DE ESTE MENÚ DE LLAMADA| DELETE THIS CALL MENU|ELIMINAR ESTE MENÚ DE LLAMADA| Click here to see Admin changes to this CALL MENU|Haga clic aquí para ver los cambios de administrador para el menú de llamadas| +### START translations for 2.6 release ### +In-Group Manual Dial|En Grupo Dial Manual| +In-Group Manual Dial Select|En Grupo Manual Dial Select| +This feature allows you to enable the ability for agents to place manual dial outbound calls that are logged as in-group calls assigned to a specific in-group. The MANUAL_DIAL option allows the placing of phone calls out through an In-Group to the agent placing the call. The NO_DIAL option allows the agent to log time on a call that does not exist, as if it were a real call, this is often used for logging email or faxing time. The BOTH option will allow both call and no-call in-group dialing. The default is DISABLED|Esta característica le permite habilitar la capacidad de los agentes para realizar llamadas salientes Marcación manual que se registran como en grupo llama asignado a un determinado grupo de pertenencia. La opción MANUAL_DIAL permite la colocación de las llamadas telefónicas a través de un grupo de pertenencia al agente que realiza la llamada. La opción NO_DIAL permite que el agente de registro de tiempo en una llamada que no existe, como si se tratara de una llamada real, esto a menudo se utiliza para el registro de correo electrónico o el tiempo de envío de faxes. La opción AMBOS permitirá tanto la llamada y no-llamada con marcación en grupo. El valor predeterminado es DISABLED| +This option is only active if the above In-Group Manual Dial feature is not DISABLED. This option restricts the selectable In-Groups that the agent can place In-Group Manual Dial calls through. CAMPAIGN_SELECTED will show only the in-groups that the campaign has set as allowable in-groups. ALL_USER_GROUP will show all of the in-groups that are viewable to the members of the user group that the agent belongs to|Esta opción sólo está activa si el anterior Grupo In-función de marcación manual no está desactivado. Esta opción restringe la selección de entrada-Groups que el agente puede colocar dentro del grupo Dial Manual llama a través. CAMPAIGN_SELECTED mostrará sólo los de los grupos que la campaña se ha fijado como permitido dentro de los grupos. ALL_USER_GROUP mostrará todos los grupos en que se pueden ver a los miembros del grupo de usuarios que el agente pertenece al| +Dial In-Group CID|Dial In-Grupo CID| +If the agent campaign allows for Manual In-Group Dialing, this caller ID number will be sent as the outgoing CID of the phone call if it is populated, overriding the campaign settings and list CID override setting. Default is empty|Si la campaña agente permite Manual en la marcación de grupo, este número de identificación de llamadas se enviará en el CID saliente de la llamada si se rellena, anulando la configuración de la campaña y la lista de configuración override CID. Por defecto está vacía| +You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option|También puede utilizar LTMG o XFTAMM como estados para desencadenar una transferencia automática a la opción Leave-correo de voz| +Send to Answering Machine Message|Enviar a Contestador Mensaje| +Safe Harbor Audio Field|Safe Harbor Audio Campo| +This optional setting allows you to define a field in the list that the system will use as the audio filename for each lead in place of the Safe Harbor Audio file. If this is set to DISABLED the Safe Harbor Audio file will always be used. The system will do no validation to make sure that the audio file exists other than to make sure the value of the field is at least one character, so if you want a lead to use the default Safe harbor Audio then you just set the field value in the lead to empty. You can use the pipe character to link multiple audio files together in the field value for each lead. Default is DISABLED. Here is the list of fields that can be used for this setting|Esta configuración opcional le permite definir un campo en la lista que el sistema utilizará como nombre de archivo de audio para cada iniciativa en lugar del archivo de audio Safe Harbor. Si se establece en DISABLED siempre se utilizará el archivo de audio de puerto seguro. El sistema hará ninguna validación para asegurarse de que el archivo de audio existe más que para asegurarse de que el valor del campo es al menos un carácter, así que si quieres una ventaja de utilizar la opción predeterminada Puerto seguro de Audio, solo tienes que configurar el valor del campo a la cabeza de vaciar. Usted puede utilizar el carácter de barra vertical para enlazar varios archivos de audio juntos en el valor del campo para cada cable. Por defecto está desactivado. Aquí está la lista de los campos que se puede utilizar para este ajuste| +Call Menu Qualify Enabled|Call Menu calificar Activado| +This setting enables the option in Call Menus to put a SQL qualification on the people that hear that call menu. For more information on how that feature works, view the help for Call Menus. Default is 0 for disabled|Esta configuración permite la opción en los menús Llamadas poner un título SQL en la gente que conocen que el menú de llamada. Para obtener más información sobre cómo funciona esta característica, consulte la ayuda de los menús de llamadas. Por defecto es 0 para discapacitados| +Qualify SQL|Calificar SQL| +This field allows you to input SQL - Structured Query Language - database fragments, like with Filters, to determine whether this call menu should play for the caller or not. This feature only works if the call has the callerIDname set prior to being sent to this call menu, either as an outbound survey transfer, or through the use of a drop call menu for an In-Group call. If there is a match, the call will proceed as normal. If there is no match, the call will go to the D option or the invalid option if no D option is set. You cannot use single-quotes in this field, only double-quotes if they are needed. Default is empty for disabled|Este campo le permite introducir el SQL - Structured Query Language - fragmentos de bases de datos, al igual que con los filtros, para determinar si este menú llamada debe jugar para la persona que llama o no. Esta característica sólo funciona si la llamada tiene el conjunto CALLERIDNAME antes de ser enviado a este menú de llamada, ya sea como una transferencia de encuesta de salida, oa través del uso de un menú desplegable llamada para una llamada en grupo. Si hay una coincidencia, la llamada procederá de forma normal. Si hay ninguna coincidencia, la llamada va a ir a la opción D o la opción no válida si no hay opción D se ajusta. No se puede utilizar comillas simples en este campo, si sólo se necesitan comillas dobles. Por defecto está vacía para discapacitados| +Admin List Counts|Lista de los Condes admin| +This setting allows you to disable the list counts that appear on the Lists listing and the Campaign modify screens. Default is 1 for enabled|Esta opción le permite desactivar la lista de cuentas que aparecen en el listado de las listas y las pantallas modifican la Campaña. El valor predeterminado es 1 para activado| +The Y_API_LAUNCH option can be used with the agent API to launch the webphone in a separate Iframe or window|La opción Y_API_LAUNCH se puede utilizar con la API de agente para poner en marcha el webphone en un Iframe separada o ventana| +If the option has BLANK at the end, then users are allowed to dial leads with no owner defined in addition to owner defined leads|Si la opción tiene en blanco al final, y luego se les permite a los usuarios marcar cables sin dueño definido, además de propietario definido conduce| +Voicemail Greeting|Saludo de correo de voz| +This optional setting allows you to define a voicemail greeting audio file from the audio store. Default is blank|Esta configuración opcional le permite definir un archivo de audio saludo de correo de voz desde la tienda de audio. Por defecto está en blanco| +Allow Voicemail Greeting Chooser|Permitir correo de voz Selector de felicitación| +If this setting is enabled it will allow you to choose an audio file from the audio store to be played as the voicemail greeting to a specific voicemail box. Default is 0 for disabled|Si se habilita esta opción le permite elegir un archivo de audio de la tienda de audio que se jugará como el saludo de correo de voz a un buzón de voz específica. Por defecto es 0 para discapacitados| +File to Delete|Archivo para eliminar| +Agent Pause After Next Call Link|Pausa Agente Tras Siguiente Call Enlace| +This option if enabled will display a link on the agent screen that will let the agent go on pause automatically after they hang up their next call. Default is DISABLED|Esta opción se mostrará si está habilitado un enlace en la pantalla de agente que le permitirá el agente va en pausa automáticamente después de colgar su próxima llamada. Predeterminado es Desactivado| +Owner Populate|Propietario Rellenar| +If this is enabled and the owner field of the lead is blank, the owner field for the lead will populate with the user ID of the agent that handles the call first. Default is DISABLED|Si esta opción está activada y el campo de propietario de la mina está en blanco, el campo propietario por el liderato se rellenará con el ID de usuario del agente que se encarga de la primera llamada. Predeterminado es Desactivado| +This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are|Este campo le permite personalizar el nombre de la grabación cuando ésta campaña es ONDEMAND o ALLCALLS. Las variables son permitidas| +The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length|El valor predeterminado es FULLDATE_AGENT y se vería así 20051020-103108_6666. Otro ejemplo es CAMPAIGN_TINYDATE_CUSTPHONE que se vería así TESTCAMP_51020103108_3125551212. Te resultante nombre de archivo debe ser inferior a 90 caracteres de longitud| +This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are|Este campo anulará el esquema de nombres de archivo de grabación de campaña si no se ajusta a ninguno. Las variables son permitidas| +Audit Comments|Auditoría Comentarios| +This option allows comments to be moved to an audit table. No longer editable, but viewable along with the date-time-creator of each comment. Default is N. This is a part of the Quality Control Add-On|Esta opción permite que los comentarios que se mueven a una tabla de auditoría. Ya no es editable, pero puede ver junto con la fecha de tiempo de los creadores de cada comentario. El valor predeterminado es N. Esta es una parte del Control de Calidad Add-On| +QueueMetrics Socket Send|QueueMetrics Socket Enviar| +This option, if enabled, will send QM data to a web page that will send it through a socket for logging. The CONNECT_COMPLETE option will send CONNECT, COMPLETEAGENT and COMPLETECALLER events to the url defined below. Default is NONE for disabled|Esta opción, si está activado, enviará los datos de gestión de calidad a una página web que va a enviar a través de una toma de corriente para el registro. La opción CONNECT_COMPLETE enviará eventos CONNECT, COMPLETEAGENT y COMPLETECALLER a la url se define a continuación. El valor predeterminado es NONE para discapacitados| +QueueMetrics Socket Send URL|QueueMetrics Socket Enviar URL| +If Socket Send is enabled above, this is the URL that is used to send the data to. Default is EMPTY for disabled|Si Socket Enviar está habilitado anteriormente, esta es la URL que se utiliza para enviar los datos. Por defecto está vacía para discapacitados| +Add Holiday|Agregar vacaciones| +Modify Holiday|Modificar vacaciones| +Delete Holiday|Eliminar de vacaciones| +New Holiday Addition|Nueva adición vacaciones| +Holidays|Vacaciones| +Holiday ID|Holiday ID| +This is the short name of a Holiday Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 30 characters, minimum of 2 characters|Este es el nombre corto de una definición de día de fiesta. Esto tiene que ser un identificador único. No utilice espacios ni signos de puntuación para este campo. máximo de 30 caracteres, mínimo de 2 caracteres| +Holiday Name|Nombre de vacaciones| +This is a more descriptive name of the Holiday Definition. This is a short summary of the Holiday definition. max 100 characters, minimum of 2 characters|Este es un nombre más descriptivo de la definición del día de fiesta. Este es un breve resumen de la definición de fiesta. máximo de 100 caracteres, mínimo de 2 caracteres| +Holiday Comments|Vacaciones Comentarios| +This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-.max 255 characters|Aquí es donde usted puede colocar comentarios para una definición de vacaciones tales como-10 a.m.-4 p.m. días boxeo restricciones-. máx. 255 caracteres| +Holiday Date|Holiday Fecha| +This is the date of the holiday|Esta es la fecha de las vacaciones| +Holiday Status|Estado vacaciones| +This is the status of the holiday entry. ACTIVE status means that the holiday will be enabled on the holiday date. INACTIVE status means that the holiday will be ignored even on the holiday date. EXPIRED means that the holiday has passed it's holiday date. Default is INACTIVE|Este es el estado de la entrada de día de fiesta. Estado activo significa que la fiesta será activada en la fecha de vacaciones. Estado inactivo significa que las vacaciones se tendrá en cuenta, incluso en la fecha de vacaciones. Significa que la fiesta ha pasado su fecha de vacaciones expirado. El valor predeterminado es INACTIVO| +short description of the holiday|breve descripción de las vacaciones| +Day and time options will appear once you have created the Holiday Definition|Opciones del día y la hora aparecerán una vez que se haya creado la definición vacaciones| +HOLIDAY DEFINITION NOT ADDED|DEFINICIÓN DE VACACIONES NO AGREGADO| +there is already a holiday entry with this ID|ya hay una entrada de fiesta con esta ID| +Holiday ID, name and date must be populated|ID vacaciones, el nombre y la fecha deben estar ocupados| +HOLIDAY ADDED|HOLIDAY AÑADIDO| +HOLIDAY NOT MODIFIED|VACACIONES NO MODIFICADO| +HOLIDAY MODIFIED|HOLIDAY MODIFICADO| +HOLIDAY NOT DELETED|HOLIDAY no se eliminan| +Holiday ID must be at least 2 characters in length|ID de vacaciones debe ser de al menos 2 caracteres de longitud| +HOLIDAY DELETION CONFIRMATION|HOLIDAY ELIMINACIÓN DE CONFIRMACIÓN| +Click here to delete holiday|Haz clic aquí para borrar vacaciones| +HOLIDAY DELETION COMPLETED|ELIMINACIÓN DE VACACIONES COMPLETADO| +Holiday Rule Removed|Regla Holiday Eliminado| +MODIFY A HOLIDAY|MODIFICAR UN DÍA DE FIESTA| +CALL TIMES USING THIS HOLIDAY|LLAME A veces usando ESTE DÍA DE FIESTA| +DELETE THIS HOLIDAY DEFINITION|BORRAR LA DEFINICIÓN DE VACACIONES| +Active Inbound Holiday Definitions for this Record|Activo entrantes Definiciones vacaciones de este registro| +Add inbound holiday rule|Añadir regla vacaciones entrante| +Holiday Rule Added|Regla vacaciones Alta| +Holiday Rule Removed|Regla Holiday Eliminado| +Click here to see Admin changes to this holiday|Haga clic aquí para ver los cambios de administrador para estas vacaciones| +Expiration Date|Fecha de vencimiento| +This option allows you to set the date after which leads in this list will not be allowed to be auto-dialed or manual-list-dialed by the system. Default is 2099-12-31|Esta opción le permite configurar la fecha después de la cual lleva en esta lista no se permitirá que se auto-marcado o manual-list-marcado por el sistema. El valor predeterminado es 2099-12-31| +Other Campaign DNC|Otros DNC Campaña| +If the option Use Campaign DNC List is enabled, this option can allow you to use a different campaign DNC list, just put the Campaign ID of the other campaign in this field. If you use this option, the original campaign DNC list will no longer be checked, only the OTHER campaign DNC list will be used. This does not affect use of the Internal System DNC list. Default is EMPTY|Si el uso de lista DNC Campaña opción está activada, esta opción puede permitir el uso de una lista de DNC campaña diferente, sólo hay que poner el ID de campaña de la otra campaña en este campo. Si utiliza esta opción, ya no se comprobó la lista de DNC campaña original, sólo se utilizará la otra lista DNC campaña. Esto no afecta al uso de la lista de DNC Sistema Interno. Por defecto está vacía| +LIST EXPIRED AND SET TO ACTIVE|LISTA DE VENCIDO Y PUESTA EN ACTIVO| +Enhanced Disconnect Logging|Enhanced Disconnect Logging| +This setting enables logging of calls that get a CONGESTION signal with a cause code of 1, 19, 21, 34 or 38. We usually do not recommend enabling this in the USA. Default is 0 for disabled|Esta opción habilita el registro de llamadas que reciben una señal de congestión que causa un código de 1, 19, 21, 34 o 38. Por lo general, no se recomienda habilitar esta en los EE.UU.. Por defecto es 0 para discapacitados| +LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead|LIVE_CALL_INBOUND permitirá buscar una mientras que el plomo sólo en una llamada entrante. LIVE_CALL_INBOUND_AND_MANUAL permitirá buscar un rato de plomo en una llamada entrante o mientras está en pausa. Cuando Buscar plomo se utiliza en una llamada entrante en vivo, el ejemplo de la llamada cuando se fue a la agente le puede cambiar a un estado de LSMERG, y los registros de la llamada se puede modificar para enlazar con el agente líder elegido en lugar| +If this is a call that will go to a Call Menu and then back to an in-group, we suggest you use CUSTOMERCLOSER in this field, and also you need to set the In-Group Search Method in the Call Menu to CLOSER|Si se trata de una llamada que ir a un menú de llamada y luego de nuevo a un grupo de pertenencia, le sugerimos que utilice CUSTOMERCLOSER en este campo, y también hay que establecer la En-Group Método de búsqueda en el menú de Llamada a CLOSER| +Add New EMAIL In-Group|Agregar nuevo correo electrónico en Grupo| +Copy EMAIL In-Group|Copie correo electrónico en Grupo| +New Email Group Addition|Nuevo Email Grupo Suma| +New Copied Email Group Addition|New copiado Email Grupo Suma| +Modify EMAIL In-Group|Modificar EMAIL A-Group| +Email In-Groups|Correo electrónico en Grupos| +Modify Email Accounts|Modificar cuentas de correo electrónico| +This option if set to 1 allows the user to modify email accounts in the email account management page|Esta opción si el sistema a 1 permite al usuario modificar cuentas de correo electrónico en la página de gestión de cuentas de correo electrónico| +Allow Emails|Permitir mensajes de correo electrónico| +This is where you can set whether the users of this campaign will be able to receive inbound emails in addition to phone calls|Aquí es donde se puede establecer que los usuarios de esta campaña serán capaces de recibir mensajes de correo electrónico entrantes, además de llamadas telefónicas| +This is where you can set whether this system will be able to receive inbound emails in addition to phone calls|Aquí es donde usted puede establecer si este sistema será capaz de recibir mensajes de correo electrónico entrantes, además de llamadas telefónicas| +VICIDIAL EMAIL ACCOUNTS|Cuentas de correo electrónico VICIDIAL| +The Vicidial Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls.EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE|La sección de gestión de cuentas de correo electrónico Vicidial le permite crear, copiar y borrar ajustes de la cuenta de correo electrónico que le permitirán tiene mensajes de correo electrónico llegan a su sistema Vicidial y ser tratadas como llamadas normales. Cuentas de correo debe estar configurado POR USTED Y UN EMAIL DEL PROVEEDOR DE SERVICIOS - QUE NO CUBRE ESTE MÓDULO| +Email Account ID|Email Account ID| +This is the short name of the email account, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length|Este es el nombre corto de la cuenta de correo electrónico, no se puede editar después de la presentación inicial, no debe contener espacios y debe ser de entre 2 y 20 caracteres de longitud| +Email Account Name|Correo electrónico Nombre de cuenta| +This is the full name of the email account, it must be between 2 and 30 characters in length|Este es el nombre completo de la cuenta de correo electrónico, debe estar entre 2 y 30 caracteres de longitud| +This determines whether this account will be checked for new email messages to be loaded into the dialer|Esto determina si esta cuenta se comprueba si hay nuevos mensajes de correo electrónico que se cargará en el marcador| +Email Account Description|Email Descripción de la cuenta| +This allows for a lengthy description, if needed, of the email account.255 characters max|Esto permite una larga descripción, si es necesario, de la cuenta de correo electrónico. 255 caracteres como máximo| +Email Account Type|Email Tipo de cuenta| +Specifies whether the account is used for inbound or outbound email messages.Should be set to INBOUND|Especifica si la cuenta se utiliza para mensajes de correo electrónico entrantes o salientes. Debe ponerse a INBOUND| +Admin User Group|Administrador de grupo de usuarios| +This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group|Este es el grupo de usuario de administración de este grupo de entrada, lo que permite la visualización de este administrador de grupo restringido por grupo de usuarios. El valor predeterminado es - TODOS - que permite a cualquier usuario de administración para ver esta dentro del grupo| +Email Account Protocol|Protocolo de cuenta de correo electrónico| +This is the email protocol used by the account you are setting up access to.Currently only IMAP and POP3 accounts are supported|Este es el protocolo de correo electrónico utilizado por la cuenta que está configurando el acceso. Actualmente, sólo cuentas IMAP y POP3 son compatibles| +Email Reply-to Address|E-mail Dirección de respuesta| +The email address of the account you are setting up access to.Replies to email messages from the agent interface will read as coming from this address|La dirección de correo electrónico de la cuenta que está configurando el acceso. Respuestas a los mensajes de correo electrónico desde la interfaz del agente leerán como provenientes de esta dirección| +Email Account Server|Cuenta de correo electrónico del servidor| +The email server that the account is housed on|El servidor de correo electrónico que la cuenta se encuentra en| +Email Account User|Correo electrónico de cuentas de usuario| +The login used to access this account.Usually it's the portion of the reply-to address before the -at- symbol|El nombre de usuario utilizado para acceder a esta cuenta. Por lo general es la parte de la dirección de respuesta ante la-at-symbol| +Email Account Password|Email Account Password| +The password used to access this account.This is usually set at the time the email account is created|La contraseña utilizada para acceder a esta cuenta. Esto generalmente se establece en el momento de crear la cuenta de correo electrónico| +Email Frequency Check Rate (mins)|Email Frecuencia Check Tarifa (minutos)| +How often this email account should be checked.The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time|¿Con qué frecuencia se debe comprobar esta cuenta de correo electrónico. La tasa más alta de la frecuencia en el momento es de cinco minutos, y algunos proveedores de correo electrónico no permitirán más de tres intentos de inicio de sesión en quince minutos antes de bloquear la cuenta de una cantidad indeterminada de tiempo| +In-Group ID|Dentro de la ID de grupo| +The In-Group that email messages will be sent to|El En-Group que los mensajes de correo electrónico se enviarán a| +Default List ID|Por defecto Lista ID| +The List ID that leads will be inserted into if necessary|El ID de Lista que lleva se insertará en caso necesario| +In-Group Call Handle Method|Dentro de la llamada de grupo Método de Mango| +This is the action that will be taken when a new email is found in the account.EMAIL means all email messages will be inserted into vicidial_list as a new lead.EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table.EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Group Campaign ID" box below.EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group List ID" box below|Esta es la acción que se tomará cuando un nuevo correo electrónico se encuentra en la cuenta. EMAIL significa se insertarán todos los mensajes de correo electrónico en vicidial_list como una nueva pista. EMAILLOOKUP buscará toda la tabla vicidial_list para la dirección de correo electrónico en la columna de correo electrónico - si se encuentra a la cabeza, de que el plomo lista de identificación se utilizará en el expediente que se dedica a la mesa vicidial_email_list. EMAILLOOKUPRC hace lo mismo, pero sólo buscará las listas que pertenecen a la campaña seleccionada en el cuadro "In-Campaign Group ID" a continuación. EMAILLOOKUPRL sólo buscará una lista en particular, que es la que introdujo en el cuadro "In-Group ID List" abajo| +In-Group Agent Search Method|En grupo de agentes Método de búsqueda| +The agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB.|El método de búsqueda de agentes para ser utilizado por el grupo entrante, LO se balancea la carga-Desbordamiento y tratará de enviar la llamada a un agente en el servidor local antes de intentar enviar a un agente en otro servidor, LB se balancea la carga y tratará de enviar la llamada a otro agente no importa qué servidor que se encuentran, por lo que es servidor de sólo y únicamente tratará de enviar las llamadas a los agentes en el servidor que recibió la llamada en adelante. El valor predeterminado es LB.| +In-Group List ID|Dentro de la lista de ID de grupo| +This is the List ID that will be used to search for a match within|Esta es la lista de ID que se utilizará para buscar un donante compatible dentro| +In-Group Campaign ID|En-Group ID Campaña| +This is the Campaign ID that will be used to search for a match within|Este es el ID de campaña que se utilizará para buscar un donante compatible dentro| +Group Handling|Manejo de Grupo| +COPY EMAIL GROUP|Copia por correo electrónico GRUPO| +Email Group ID|Email ID de grupo| +Email Group Name|Email Nombre del grupo| +Source Email Group ID|Fuente Email ID de grupo| +Email Accounts|Cuentas de correo electrónico| +Next Agent Email|Siguiente Enviar un email| +Start Email URL|Inicio Email URL| +Dispo Email URL|Dispo Correo electrónico URL| +No Agent Email URL|No Agente Email URL| +EMAIL ACCOUNTS USING THIS IN-GROUP|Cuentas de correo electrónico USANDO ESTA EN GRUPO| +EMAIL GROUP NOT ADDED|EMAIL GRUPO NO AGREGADO| +Email group ID must be between 2 and 20 characters in length and contain no|Grupo ID de correo electrónico debe estar entre 2 y 20 caracteres de longitud y no contienen| +Email group name and group color must be at least 2 characters in length|Email nombre del grupo y el color del grupo deben tener al menos 2 caracteres de longitud| +EMAIL GROUP ADDED|EMAIL grupo añadió| +Show Email Accounts|Mostrar Cuentas de correo electrónico| +Add A New Account|Agregar una cuenta nueva| +Copy An Account|Copie una cuenta| +Dialer Email Account fields|Marcador campos cuenta de correo electrónico| +NEW ACCOUNT|CUENTA NUEVA| +SUCCESSFULLY CREATED|CREADO CON ÉXITO| +All Admin User Groups|Todos los grupos de usuarios admin| +ERROR: Inbound emails are not active on this system|ERROR: mensajes de correo electrónico entrantes no están activos en este sistema| +invalid or null|inválida o nula| +SUCCESSFULLY MODIFIED|MODIFICADO CON ÉXITO| +There was an unknown error when attempting to copy the new account|Se ha producido un error desconocido al intentar copiar la nueva cuenta| +SUCCESSFULLY COPIED FROM|ÉXITO DE COPIADO| +source email does not exist|correo electrónico de origen no existe| +ACCOUNT NOT COPIED|CUENTA NO COPIADO| +Copy New Account from Existing Account|Copie nueva cuenta desde una cuenta existente| +Account ID to Copy From|ID de la cuenta de copia del| +New Account ID|New Account ID| +New Account Name|New Account Name| +There are no existing accounts to copy from|No hay cuentas existentes para copiar desde| +The data you submitted has the following errors|Los datos que ha enviado tiene los siguientes errores| +ACCOUNT NOT INSERTED|CUENTA NO INSERTADA| +ADD NEW INBOUND EMAIL ACCOUNT|AÑADIR NUEVA CUENTA DE CORREO ELECTRÓNICO ENTRANTE| +CONFIRM DELETION OF INBOUND EMAIL ACCOUNT|CONFIRMAR LA SUPRESIÓN DE ENTRADA CUENTA DE CORREO ELECTRÓNICO| +Click to delete account|Haga clic para borrar la cuenta| +ACCOUNT NOT UPDATED|CUENTA NO ACTUALIZADO| +UPDATE AN EXISTING INBOUND EMAIL ACCOUNT|Actualizar un correo electrónico existente CUENTA DE ENTRADA| +INBOUND EMAIL ACCOUNT LISTINGS|ENTRADA cuenta de correo electrónico LISTADOS| +UNREAD EMAILS|Mensajes no leídos| +Un-handled Emails|Emails Un-manejados| +Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system|Si se establece en endogrupo enviará un contestador automático a un grupo de entrada. Si se establece en CALLMENU enviará un contestador automático a un menú de llamada en el sistema| +AMD send to Action|AMD envía a la Acción| +This option allows you to define whether a call is sent to the AMD Action when an answering machine is detected. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N|Esta opción le permite definir si una llamada se envía a la Acción de AMD cuando se detecta un contestador automático. Si se establece en N, entonces la llamada se colgó en cuanto se determina que es un contestador automático. El valor predeterminado es N| +AMD Inbound Group|AMD Inbound Grupo| +If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected|Si CPD AMD Acción se establece en grupo interno, entonces este es el grupo de entrada que la llamada será enviada a si se detecta un contestador automático| +AMD Call Menu|AMD Call Menu| +If CPD AMD Action is set to CALLMENU, then this is the Call Menu that the call will be sent to if an answering machine is detected|Si CPD AMD Acción se establece en CALLMENU, entonces este es el menú de llamada que la llamada se envía a si se detecta un contestador automático| +Level 8 Disable Add|Nivel 8 deshabilitar| +This setting if enabled will prevent any level 8 user from adding or copying any record in the system, no matter what their user settings are. Excluded from these restrictions are the ability to add DNC and Filter Phone Groups numbers and the Add a New Lead page. Default is 0 for disabled|Este ajuste si está habilitado evitará cualquier usuario de nivel 8 de añadir o copiar cualquier archivo en el sistema, no importa cuáles son sus opciones de usuario. Quedan excluidos de estas restricciones son la capacidad de agregar los números de teléfono Grupos DNC y filtro y una página nueva pista en Agregar. Por defecto es 0 para discapacitados| +You do not have permission to add records on this system|Usted no tiene permiso para agregar registros en este sistema| +These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks.LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered.You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE.Default is ALL_ACTIVE|Estas opciones le permite limitar las devoluciones de llamada puede verse en la sección de alertas de devolución de llamada del agente en la pantalla del agente, que sólo viven devoluciones de llamada. Devoluciones de llamada en vivo son el usuario sólo rellamadas programadas que han afectado a la fecha y hora de activación. Rellamadas activos son de sólo usuario devoluciones de llamada que están activos en el sistema, pero aún no lo han provocado. Puede ver callbacks tanto activo y vivo al seleccionar ALL_ACTIVE. El valor predeterminado es ALL_ACTIVE| +VICIDIAL ADMIN REPORT LOG|VICIDIAL ADMIN Informe de registro| +VICIDIAL USER ADMIN REPORT LOG|VICIDIAL USUARIO ADMIN Informe de registro| +VICIDIAL DETAIL ADMIN REPORT LOG|VICIDIAL DETALLE ADMIN Informe de registro| +ADMIN REPORT LOG|ADMIN Informe de registro| +Admin Report Log Viewer|Administración Log Viewer Informe| +Survey Wait Seconds|Encuesta Espere segundos| +This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds|Este es el número de segundos en el modo de encuesta el sistema esperará a que la entrada de la persona llamada hasta que se activa la encuesta o una acción de caída. No se aplica si el método de encuesta es HANGUP. Predeterminado es de 10 segundos| +You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details|Puede agregar NOINT directamente delante de un nombre de archivo de audio para que sea lo que la reproducción no se puede interrumpir presionando una tecla por la persona que llama, la NOINT no debe formar parte del nombre de archivo, se trata de una marca especial para el sistema. También se puede utilizar para fines especiales. Agi guiones en este campo, así como la secuencia de comandos cm_date.agi, hable con su administrador para obtener más detalles| +DROP will drop the call using the campaign drop method but still log the call as a PM played message status|DROP cancelará la llamada utilizando el método de caída de campaña, pero todavía iniciar la llamada como una PM reproduce el mensaje de estado| +Quality Control|Control de Calidad| +Source User|Fuente del usuario| +>Admin<|>Administración<| +Campaign Call Date|Campaña Call Fecha| +Lead Recycling|Plomo Reciclaje| +Day outbound call count for this campaign|Día recuento de llamadas salientes para esta campaña| +State rules defined for this call time|Normas estatales definidos para este tiempo de llamada| +in seconds|en segundo| +Agent Display Dialable Leads|Agente de visualización se puede marcar Cables| +Agent Display Queue Count|Agente Conde Mostrar fila| +Manual Dial Filter|Manual Filter Dial| +Agent Call Re-Queue Button|Agente de Call Button Re-Cola| +LEADS COUNT|LLEVA COUNT| +number:|Número:| +server:|servidor:| +audio chooser|audio selector| +voicemail chooser|selector de voz| +FILTER ID|FILTRO ID| +FILTER NAME|NOMBRE DEL FILTRO| +Show Email Groups|Mostrar Correo Grupos| +Email Accounts|Cuentas de correo electrónico| +CallCard Admin|CallCard administración| + Contacts | Contactos | +We STRONGLY recommend uploading only 16bit Mono 8k PCM WAV audio files|Recomendamos ENCARECIDAMENTE cargar sólo 8k 16bit PCM archivos de audio WAV mono| +All spaces will be stripped from uploaded audio file names|Todos los espacios se eliminan de los nombres de archivo de audio subidos | +ERROR: Default value cannot be longer than maximum field length|error: valor por defecto no puede ser más largo que la longitud máxima del campo| diff --git a/agc_2-X/trunk/translations/fr_language.txt b/agc_2-X/trunk/translations/fr_language.txt index a407c96f..fb16d693 100644 --- a/agc_2-X/trunk/translations/fr_language.txt +++ b/agc_2-X/trunk/translations/fr_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"JAN"| @@ -323,7 +325,7 @@ Dial Override|Surnumérotation| digits only please|Ce champ n'accepte que des chiffres| Dial Now|Appel Manuel| CB Comments|Commentaires du Rappel| -Title|Titre| + Title| Titre| Your Status|Votre Statut| STATUS| STATUT| RESET| REINITIALISATION| @@ -333,10 +335,9 @@ Incoming|Entrant| Calling|Appeler| Called|Appelé| Campaign|Campagne| -Status|Statut| +>Status|>Statut| Inserted|Inséré| seconds| secondes| -HELP|AIDE| Login | Ouverture de Session | Login:|Ouverture de Session:| User |Utilisateur | @@ -347,7 +348,6 @@ Server|Serveur| RECORD |ENREGISTREMENT | >HANGUP|>RACCROCHER| >XFER|>TRANSFERT| -PARK|MISE EN ATT| IN-NUMBER|IN-NUMBER| NUMBER|NOMBRE| CALLERID|APPELANT| @@ -356,16 +356,15 @@ PICKUP|INTERCEPTER| CONFERENCE|CONFÉRENCE| Refresh|Rafraichir| Send DTMF|Envoyez DTMF| -ORDER|ORDRE| +>ORDER|>ORDRE| on | sur | >LOGOUT|>DÉCONNEXION| Channel| Canal| Extensions|Extensions| Conferences|Conférences| Conference|Conférence| -Recording|Enregistrer| -Record|Enregistrement| -Welcome|Bienvenue| + Recording| Enregistrer| +Welcome |Bienvenue | VOICEMAIL|Boite Vocale| NEW| NOUVEAU| OLD| ANCIEN| @@ -376,21 +375,21 @@ Slower|Plus lentement| Initializing|Initialisation| Invalid|Invalide| Username|Username| -Notes|Notes| +Notes:|Notes:| First|Prenom| MI: |Mi:| -Last|Nom| +Last |Nom | Address|Adresse| City|Ville| -State|État| + State| État| PostCode|CodePostal| Province|Province| Vendor ID|CodeVendeur| DialCode|DialCode| Alt. Phone|Tel. 2nd| Show|Visualiser| -Email|Email| -Comments|Commentaires| + Email| Email| + Comments| Commentaires| REFRESH|RAFRAICHIR| ALT PHONE DIAL|APPEL NUM. 2nd.| MAIN PHONE|TÉLÉPHONE PRINCIPAL| @@ -569,3 +568,79 @@ Agents View|Agents Voir| -INCALL|-INCALL| -PAUSED|-PAUSE| CALL DISPOSITION|APPEL DISPOSITION| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|cliquez ici pour choisir un cadran en groupe| +SELECT A DIAL IN-GROUP|sélectionner un cadran en groupe| +DIAL IN-GROUP|composer en groupe| +Dial In-Group|composer en groupe| +Click Here to Activate|Cliquez ici pour activer| +Click Here to Deactivate|cliquez ici pour désactiver| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|erreur: vous devez saisir en termes de recherche, l'un d'entre eux doivent être remplis: id plomb, identification du fournisseur, numéro de téléphone, nom de famille| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|erreur: vous devez saisir en termes de recherche, l'un d'entre eux doivent être remplis: le numéro du bureau, nom, prénom| +ERROR: There was a problem with your search terms|erreur: il y avait un problème avec vos termes de recherche| +Phone and Post Code Time Zone Mismatch|téléphone et code postal fuseau horaire décalage| +Last Local Call Time|dernière fois d'un appel local| +Called Count|nombre d'appels| +Unidentified Hangup Cause Code|non identifiés code de cause de raccrochage| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|vous devez sélectionner un agent de transfert lors de l'utilisation agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|une autre session de l'agent en direct a été ouvert à l'aide de votre ID utilisateur. il a été désactivé. Cliquez sur OK pour passer à l'écran de l'agent| +View Comment History|Voir le commentaire historique| +reset form|réinitialiser| +SELECT THIS LEAD|sélectionner ce fil| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|vous devez être sur un appel entrant actif pour rechercher un plomb| +Attachments|pièces jointes| +Next Call Pause|prochaine pause d'appel| +-History-|-histoire-| +SUBMIT SEARCH|soumettre la recherche| +close |proche | +AGENT CALL LOG|agent de journal d'appels| + LENGTH | longueur | + PHONE | téléphone | + FULL NAME | nom et prénom | + CAMPAIGN | campagne | + ALT | autre | + HANGUP | raccrochage | + INFO | infos | +phone login|téléphone connexion| +LAST CALL|dernier appel| + CALLBACK | callback | + CITY | ville | + STATE | Etat | + ZIP | zip | +Phone Number|numéro de téléphone| +Phone Number Fields|les champs de numéro de téléphone| +Lead ID|Identifiant conduire| + WAIT | attendre | + AGENT | Agent | + CALL GROUP | appel de groupe | + TYPE | catégorie | +digits only|chiffres seulement| +DIAL ALERT|composer une alerte| +WEB FORM SUBMIT|forme web soumettre| +in campaign|en campagne| + DATE\/TIME | Date\/heure | + IN\/OUT | dans et hors | +>GROUPS<|>LES GROUPES<| +>GO<|>aller<| +>recording<|>Enregistrement<| +>SELECT<|>sélectionner<| +Alert is ON|alerte est présent| +Alert is OFF|alerte est éteint| +EMAIL LOG FOR THIS LEAD|email journal pour ce conducteur| +EMAIL TO|par courriel à| + ATTACHMENTS | pièces jointes | +Called Since Last Reset|appelé depuis la dernière réinitialisation| +Timezone:|fuseau horaire:| +Dial Link|composez le lien| + LAST | dernier | +SEARCH FOR A CONTACT|rechercher un contact| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|notes: lors d'une recherche d'un contact, les termes de recherche génériques ou partielle ne sont pas autorisés| +Contact search requests are all logged in the system|contacts demandes de recherche sont tous enregistrés dans le système| +Office Number|numéro de bureau| +First Name|prénom| +Last Name|nom de famille| +BU Name|Nom de l'entreprise| +Department:|département:| +Group Name|nom de groupe| +Job Title|titre d'emploi| +Location:|emplacement:| diff --git a/agc_2-X/trunk/translations/fr_language_admin.txt b/agc_2-X/trunk/translations/fr_language_admin.txt index 67d44d8d..7adb3723 100644 --- a/agc_2-X/trunk/translations/fr_language_admin.txt +++ b/agc_2-X/trunk/translations/fr_language_admin.txt @@ -65,7 +65,7 @@ vicidial|welcome_languages.php|1 vicidial|vicidial_admin_web_logo.gif|1 vicidial|vicidial_admin_web_logo_small.gif|1 vicidial|user_territories.php|0 -vicidial|audio_store.php|1 +vicidial|audio_store.php|0 vicidial|AST_agent_time_detail.php|0 vicidial|AST_agent_timeclock_detail.php|0 vicidial|AST_OUTBOUNDsummary_interval.php|0 @@ -96,6 +96,25 @@ vicidial|admin_listloader_fourth_gen.php|0 vicidial|AST_admin_template_maker.php|0 vicidial|leadloader_template_display.php|0 vicidial|admin_listloader_third_gen.php|0 +vicidial|callbacks_bulk_change.php|0 +vicidial|lead_tools.php|0 +vicidial|admin_email_accounts.php|0 +vicidial|AST_email_log_report.php|0 +vicidial|AST_email_log_display.php|0 +vicidial/qc|qc_modify_lead.php|0 +vicidial/qc|QC_admin_variables.php|0 +vicidial/qc|QC_admin_variables01.php|0 +vicidial/qc|QC_call_client_iframe.php|0 +vicidial/qc|QC_call_client_include.php|0 +vicidial/qc|QC_header_include.php|0 +vicidial/qc|QC_header_include01.php|0 +vicidial/qc|QC_header_include02.php|0 +vicidial/qc|audit_comments.php|0 +vicidial/qc|qc_api.php|0 +vicidial/qc|QC_admin_include01.php|0 +vicidial/qc|QC_admin_include02.php|0 +vicidial/qc|QC_admin_modify_lead_include.php|0 +vicidial/qc|QC_status_codes_include.php|0 vicidial|wz_jsgraphics.js|1 vicidial|verticalbargraph.css|1 vicidial|horizontalbargraph.css|1 @@ -2034,7 +2053,7 @@ Click here to see Admin chages to the system settings|Cliquez ici pour voir Admi Export Reports|Rapports d'exportation| This setting if set to 1 will allow a manager to access the export call reports on the REPORTS screen. Default is 0.|Ce paramètre, s'il est à 1 permettra d'accéder à un gestionnaire de l'exportation des rapports sur l'appel RAPPORTS écran. La valeur par défaut est 0.| This setting if set to 1 will allow a manager to click on the download list link at the bottom of a list modification screen to export the entire contents of a list to a flat data file. Default is 0.|Ce paramètre, s'il est à 1 permet à un gestionnaire de téléchargement, cliquez sur le lien de la liste au bas de l'écran de modification d'une liste d'exporter la totalité du contenu d'une liste de données à un fichier plat. La valeur par défaut est 0.| -Export Calls Report|Appels d'exportation Rapport| +Export Calls Report|Appels d exportation Rapport| EXPORT CALLS REPORT|EXPORTATION DE RAPPORT ENGAGE| For the Export Calls Report, the following field order is used for exports|Pour le rapport invite l'exportation, l'ordre suivant est utilisé pour les exportations| Timeclock|Horloge en temps| @@ -3122,7 +3141,7 @@ Disable Dispo Status|Désactiver Statut Dispo| If the Disable Dispo Screen option is set to DISPO_DISABLED, then this field must be filled in. You can use any disposition you want for this field as long as it is 1 to 6 characters in length with only letters and numbers|Si l'option Désactiver l'écran est réglé sur Dispo DISPO_DISABLED, ce champ doit être rempli en jeu. Vous pouvez utiliser n'importe quel caractère que vous voulez pour ce domaine tant qu'il est de 1 à 6 caractères de longueur avec des lettres et des chiffres| This setting if set to 1 will allow a manager to access the export call and lead reports on the REPORTS screen. Default is 0. For the Export Calls and Leads Reports, the following field order is used for exports|Ce paramètre si elle est définie à 1, permettre à un gestionnaire d'accéder à l'appel d'exportation et les rapports de plomb sur l'écran RAPPORTS. Par défaut est 0. Pour l'exportation Appels et mène des rapports, l'ordre des champs ci-dessous est utilisé pour les exportations| This report pulls lead information for calls dialed in the selected date range. A lead is only exported once no matter how many calls were handled. The current lead status is used.|Ce rapport rassemble les informations de plomb pour les appels émis dans la plage de dates sélectionnée. Un plomb est seulement exporté une fois, peu importe combien d'appels ont été traités. Le statut de plomb actuelle est utilisée.| -Export Leads Report|Pistes d'exportation Rapport| +Export Leads Report|Pistes d exportation Rapport| Screen Labels|Les étiquettes d'écran| Add A Screen Label|Ajoutez un contrôle Label écran| ADD NEW SCREEN LABEL|Ajouter une étiquette ECRAN NEW| @@ -3348,7 +3367,7 @@ Maximum System Stats Reports|Maximum du système des rapports statistiques| These statistics are cached totals that are stored throughout each day in real-time through back-end processes. For inbound calls, the total calls per in-group are calculated for each call that enters the process that calculates. For the whole system counts, the totals are generated from log entries as well as other in-group and campaign totals. These totals may not add up due to the settings that you have in your system as well as when the call is hung up|Ces statistiques sont mises en cache totaux qui sont stockés sur chaque journée de en temps réel par le biais des processus back-end. Pour les appels entrants, les appels totaux par en-groupe sont calculés pour chaque appel qui pénètre dans le processus qui calcule. Pour les chefs d'accusation ensemble du système, les totaux sont générés à partir des entrées de journal ainsi que d'autres totaux en groupe et de la campagne. Ces totaux peuvent ne pas s'additionner à cause des paramètres que vous avez dans votre système ainsi que lorsque l'appel est raccroché| Hopper VLC Dup Check|Hopper VLC Dup Vérifiez| Setting this to Y will result in every lead being inserted into the hopper being checked by vendor_lead_code to make sure there are no duplicate leads inserted with the same vendor_lead_code. This is most useful when Auto-Alt-Dialing with MULTI_LEAD. Default is N|Un réglage à Y entraîne chaque piste étant insérée dans la trémie étant vérifiée par vendor_lead_code pour s'assurer qu'il n'y sont pas dupliquer conducteurs insérés avec le même vendor_lead_code. Cela est particulièrement utile lorsque la fonction Auto-Alt-numérotation avec MULTI_LEAD. Par défaut est N| -Inventory Report|Rapport d'inventaire| +Inventory Report|Rapport d inventaire| If the Inventory Report is enabled on your system, this option will determine whether this list is included in the report or not. Default is Y for yes|Si le Rapport d'inventaire est activé sur votre système, cette option permettra de déterminer si cette liste est inclus dans le rapport ou non. Par défaut est O pour oui| Report Rank|Rapport Rang| This option allows you to rank shifts in selected reports that support this option|Cette option vous permet de classer les changements dans les rapports sélectionnés qui soutiennent cette option| @@ -3402,3 +3421,224 @@ Search Method|Méthode de recherche| USING THIS CALL MENU|UTILISER CE MENU APPEL| DELETE THIS CALL MENU|SUPPRIMER CETTE MENU APPEL| Click here to see Admin changes to this CALL MENU|Cliquez ici pour voir les changements d'administration à ce menu APPEL| +### START translations for 2.6 release ### +In-Group Manual Dial|In-Group Composition manuelle| +In-Group Manual Dial Select|In-Group Manuel molette SELECT| +This feature allows you to enable the ability for agents to place manual dial outbound calls that are logged as in-group calls assigned to a specific in-group. The MANUAL_DIAL option allows the placing of phone calls out through an In-Group to the agent placing the call. The NO_DIAL option allows the agent to log time on a call that does not exist, as if it were a real call, this is often used for logging email or faxing time. The BOTH option will allow both call and no-call in-group dialing. The default is DISABLED|Cette fonction vous permet d'activer la possibilité pour les agents de placer numérotation des appels sortants manuelles qui sont enregistrés comme en appels de groupe affecté à un particulier en groupe. L'option MANUAL_DIAL permet la mise en place des appels téléphoniques à travers un In-groupe à l'agent effectuant l'appel. L'option NO_DIAL permet à l'agent de se connecter de temps sur un appel qui n'existe pas, comme s'il s'agissait d'un véritable appel, ce qui est souvent utilisé pour la connexion e-mail ou télécopie temps. Le BOTH option permettra à la fois appel et sans appel de composition en groupe. Désactivé par défaut| +This option is only active if the above In-Group Manual Dial feature is not DISABLED. This option restricts the selectable In-Groups that the agent can place In-Group Manual Dial calls through. CAMPAIGN_SELECTED will show only the in-groups that the campaign has set as allowable in-groups. ALL_USER_GROUP will show all of the in-groups that are viewable to the members of the user group that the agent belongs to|Cette option n'est active que si le dessus en groupe fonction de composition manuelle n'est pas désactivé. Cette option limite le choix In-groupes que l'agent peut placer In-Group Manuel composer des appels à travers. CAMPAIGN_SELECTED n'indiquera que les en-groupes que la campagne s'est fixé comme admissible au-groupes. ALL_USER_GROUP montrera tous les en-groupes qui sont visibles pour les membres du groupe d'utilisateurs qui appartient l'agent| +Dial In-Group CID|Composez In-groupe CID| +If the agent campaign allows for Manual In-Group Dialing, this caller ID number will be sent as the outgoing CID of the phone call if it is populated, overriding the campaign settings and list CID override setting. Default is empty|Si la campagne de l'agent permet de Manuel Dans la composition de groupe, ce numéro d'identification de l'appelant sera envoyée comme le CID sortant de l'appel téléphonique s'il est rempli, remplaçant les paramètres de la campagne et la liste Paramètre de remplacement CID. Default est vide| +You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option|Vous pouvez également utiliser LTMG ou XFTAMM que les statuts de déclencher un transfert automatique de l'option Leave-Voicemail| +Send to Answering Machine Message|Envoyer à Répondeur message| +Safe Harbor Audio Field|Safe Harbor Audio terrain| +This optional setting allows you to define a field in the list that the system will use as the audio filename for each lead in place of the Safe Harbor Audio file. If this is set to DISABLED the Safe Harbor Audio file will always be used. The system will do no validation to make sure that the audio file exists other than to make sure the value of the field is at least one character, so if you want a lead to use the default Safe harbor Audio then you just set the field value in the lead to empty. You can use the pipe character to link multiple audio files together in the field value for each lead. Default is DISABLED. Here is the list of fields that can be used for this setting|Ce paramètre optionnel vous permet de définir un champ dans la liste que le système va utiliser comme nom de fichier audio pour chaque conducteur à la place du fichier audio Safe Harbor. Si cela est défini sur Désactivé Le fichier audio Safe Harbor sera toujours utilisé. Le système ne fera pas de validation pour s'assurer que le fichier audio existant autre que de s'assurer que la valeur du champ est au moins un caractère, donc si vous voulez une avance d'utiliser le Safe Audio de port par défaut alors que vous venez de définir la valeur du champ en tête se vider. Vous pouvez utiliser le caractère pipe de relier plusieurs fichiers audio en même temps à la valeur du champ pour chaque fil. Est désactivée par défaut. Voici la liste des champs qui peuvent être utilisés pour ce paramètre| +Call Menu Qualify Enabled|Menu Appel qualifier Activé| +This setting enables the option in Call Menus to put a SQL qualification on the people that hear that call menu. For more information on how that feature works, view the help for Call Menus. Default is 0 for disabled|Ce paramètre active l'option dans les menus d'appel pour mettre une qualification SQL sur les personnes qui entendent que le menu d'appel. Pour plus d'informations sur la façon dont cette fonctionnalité fonctionne, consultez l'aide pour les menus d'appel. Par défaut est 0 pour les handicapés| +Qualify SQL|Qualifiez-SQL| +This field allows you to input SQL - Structured Query Language - database fragments, like with Filters, to determine whether this call menu should play for the caller or not. This feature only works if the call has the callerIDname set prior to being sent to this call menu, either as an outbound survey transfer, or through the use of a drop call menu for an In-Group call. If there is a match, the call will proceed as normal. If there is no match, the call will go to the D option or the invalid option if no D option is set. You cannot use single-quotes in this field, only double-quotes if they are needed. Default is empty for disabled|Ce champ vous permet d'entrer SQL - Structured Query Language - fragments de bases de données, comme des filtres, afin de déterminer si ce menu d'appel doit jouer pour l'appelant ou non. Cette fonctionnalité ne fonctionne que si l'appel a l'ensemble de callerIDname avant d'être envoyé à ce menu d'appel, soit comme un transfert d'enquête à l'étranger, ou par le biais d'un menu d'appel de baisse pour un appel en groupe. S'il ya un match, l'appel se déroulera comme normal. Si aucune correspondance n'est trouvée, l'appel sera acheminé à l'option D ou l'option non valide si aucune option D est réglé. Vous ne pouvez pas utiliser les guillemets simples dans ce domaine, seuls les guillemets si elles sont nécessaires. Default est vide pour handicapés| +Admin List Counts|Liste des comtes d'administration| +This setting allows you to disable the list counts that appear on the Lists listing and the Campaign modify screens. Default is 1 for enabled|Ce réglage permet de désactiver la liste des chefs d'accusation qui figurent sur la liste des listes et des écrans de forçage de la campagne. Défaut est 1 pour activé| +The Y_API_LAUNCH option can be used with the agent API to launch the webphone in a separate Iframe or window|L'option Y_API_LAUNCH peut être utilisé avec l'API de l'agent pour lancer le webphone dans une Iframe ou fenêtre séparée| +If the option has BLANK at the end, then users are allowed to dial leads with no owner defined in addition to owner defined leads|Si l'option est vierge à la fin, les utilisateurs sont autorisés à composer pistes sans propriétaire défini en plus de propriétaire défini conduit| +Voicemail Greeting|Message d'accueil| +This optional setting allows you to define a voicemail greeting audio file from the audio store. Default is blank|Ce paramètre optionnel vous permet de définir un fichier audio message d'accueil du magasin audio. Défaut est vide| +Allow Voicemail Greeting Chooser|La messagerie vocale Sélecteur de voeux| +If this setting is enabled it will allow you to choose an audio file from the audio store to be played as the voicemail greeting to a specific voicemail box. Default is 0 for disabled|Si ce paramètre est activé, il vous permettra de choisir un fichier audio à partir du magasin audio pour être joué que le message d'accueil d'une boîte vocale spécifique. Par défaut est 0 pour les handicapés| +File to Delete|Fichier à supprimer| +Agent Pause After Next Call Link|Agent Pause après appel Lien suivant| +This option if enabled will display a link on the agent screen that will let the agent go on pause automatically after they hang up their next call. Default is DISABLED|Cette option si elle est activée affichera un lien sur l'écran de l'agent qui vous permettra de l'agent aller en pause automatiquement après avoir raccroché leur prochain appel. Est désactivée par défaut| +Owner Populate|Propriétaire Remplir| +If this is enabled and the owner field of the lead is blank, the owner field for the lead will populate with the user ID of the agent that handles the call first. Default is DISABLED|Si cette option est activée et le champ propriétaire de la mine est vide, le champ de propriétaire pour le plomb va peupler avec l'ID utilisateur de l'agent qui traite l'appel en premier. Est désactivée par défaut| +This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are|Ce champ vous permet de personnaliser le nom de l'enregistrement quand la campagne est ONDEMAND ou ALLCALLS. Les variables autorisées sont| +The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length|La valeur par défaut est FULLDATE_AGENT et devrait ressembler à ceci 20051020-103108_6666. Un autre exemple est CAMPAIGN_TINYDATE_CUSTPHONE qui ressemblerait à ceci TESTCAMP_51020103108_3125551212. Te résultant nom de fichier doit être inférieure à 90 caractères| +This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are|Ce champ remplace le régime de Dénomination de fichiers d'enregistrement de la campagne si elle est réglée sur NONE. Les variables autorisées sont| +Audit Comments|Commentaires de vérification| +This option allows comments to be moved to an audit table. No longer editable, but viewable along with the date-time-creator of each comment. Default is N. This is a part of the Quality Control Add-On|Cette option permet de commentaires pour être déplacés vers une table d'audit. Ce n'est plus modifiable, mais visible avec la date-time-créateur de chaque commentaire. Défaut est N. Il s'agit d'une partie du contrôle de la qualité Add-On| +QueueMetrics Socket Send|QueueMetrics Socket Envoyer| +This option, if enabled, will send QM data to a web page that will send it through a socket for logging. The CONNECT_COMPLETE option will send CONNECT, COMPLETEAGENT and COMPLETECALLER events to the url defined below. Default is NONE for disabled|Cette option, si elle est activée, va envoyer des données QM vers une page web qui va l'envoyer à travers une prise pour la connexion. L'option CONNECT_COMPLETE enverra événements CONNECT, COMPLETEAGENT et COMPLETECALLER à l'URL définie ci-dessous. Défaut est NONE pour handicapés| +QueueMetrics Socket Send URL|QueueMetrics Socket Envoyer URL| +If Socket Send is enabled above, this is the URL that is used to send the data to. Default is EMPTY for disabled|Si Socket Send est activé au-dessus, c'est l'URL qui est utilisé pour envoyer les données. Par défaut est vide pour handicapés| +Add Holiday|Ajouter vacances| +Modify Holiday|Modifier vacances| +Delete Holiday|Supprimer vacances| +New Holiday Addition|New Addition de vacances| +Holidays|Fêtes| +Holiday ID|ID vacances| +This is the short name of a Holiday Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 30 characters, minimum of 2 characters|C'est le nom court d'une définition de vacances. Cela doit être un identifiant unique. Ne pas utiliser d'espaces ou de la ponctuation pour ce champ. maximum 30 caractères, un minimum de 2 caractères| +Holiday Name|Nom de vacances| +This is a more descriptive name of the Holiday Definition. This is a short summary of the Holiday definition. max 100 characters, minimum of 2 characters|C'est un nom plus descriptif de la Définition de vacances. Ceci est un bref résumé de la définition de vacances. max 100 caractères, un minimum de 2 caractères| +Holiday Comments|Vacances Commentaires| +This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-.max 255 characters|C'est là que vous pouvez placer des commentaires pour une définition de vacances comme-10 heures-16 heures Boxing Day restrictions. max 255 caractères| +Holiday Date|Date de vacances| +This is the date of the holiday|Il s'agit de la date de la fête| +Holiday Status|Statut de vacances| +This is the status of the holiday entry. ACTIVE status means that the holiday will be enabled on the holiday date. INACTIVE status means that the holiday will be ignored even on the holiday date. EXPIRED means that the holiday has passed it's holiday date. Default is INACTIVE|C'est l'état de l'entrée de vacances. Signifie le statut actif que la fête sera activé à la date de vacances. Signifie inactif que la fête sera ignorée, même sur la date de vacances. Signifie que le jour férié a passé sa date de vacances EXPIRATION. Défaut est inactif| +short description of the holiday|brève description de la fête| +Day and time options will appear once you have created the Holiday Definition|options de jour et l'heure s'affichent une fois que vous avez créé la définition de vacances| +HOLIDAY DEFINITION NOT ADDED|HOLIDAY DEFINITION pas ajouté| +there is already a holiday entry with this ID|il existe déjà une entrée de vacances avec cette ID| +Holiday ID, name and date must be populated|ID de vacances, le nom et la date doivent être remplis| +HOLIDAY ADDED|HOLIDAY AJOUTÉE| +HOLIDAY NOT MODIFIED|VACANCES PAS MODIFIÉ| +HOLIDAY MODIFIED|HOLIDAY MODIFIÉ| +HOLIDAY NOT DELETED|HOLIDAY pas supprimé| +Holiday ID must be at least 2 characters in length|ID de vacances doit être d'au moins 2 caractères| +HOLIDAY DELETION CONFIRMATION|HOLIDAY Confirmation de suppression| +Click here to delete holiday|Cliquez ici pour supprimer vacances| +HOLIDAY DELETION COMPLETED|SUPPRESSION DE VACANCES REMPLI| +Holiday Rule Removed|Règle de vacances Enlevée| +MODIFY A HOLIDAY|MODIFIER DES VACANCES| +CALL TIMES USING THIS HOLIDAY|APPEL fois en utilisant cette fête| +DELETE THIS HOLIDAY DEFINITION|EFFACER CETTE DEFINITION DE VACANCES| +Active Inbound Holiday Definitions for this Record|Actifs entrants Définitions de vacances pour cet enregistrement| +Add inbound holiday rule|Ajouter une règle de vacances entrant| +Holiday Rule Added|Règle de vacances Ajouté| +Holiday Rule Removed|Règle de vacances Enlevée| +Click here to see Admin changes to this holiday|Cliquez ici pour voir les changements d'administrateur pour cette fête| +Expiration Date|Date d'expiration| +This option allows you to set the date after which leads in this list will not be allowed to be auto-dialed or manual-list-dialed by the system. Default is 2099-12-31|Cette option vous permet de définir la date après laquelle conduit dans cette liste ne seront pas autorisés à être composés automatiquement ou manuel-list-composé par le système. Par défaut 2099-12-31| +Other Campaign DNC|Autre Campagne DNC| +If the option Use Campaign DNC List is enabled, this option can allow you to use a different campaign DNC list, just put the Campaign ID of the other campaign in this field. If you use this option, the original campaign DNC list will no longer be checked, only the OTHER campaign DNC list will be used. This does not affect use of the Internal System DNC list. Default is EMPTY|Si l'option Utiliser la liste des DNC de campagne est activée, cette option peut vous permettre d'utiliser une liste de DNC de campagne différente, il suffit de mettre l'ID de campagne de l'Autre Campagne dans ce domaine. Si vous utilisez cette option, la liste DNC de campagne originale ne sera plus cochée, seul l'autre liste de DNC de la campagne sera utilisé. Cela n'affecte pas l'utilisation de la liste DNC système interne. Par défaut est vide| +LIST EXPIRED AND SET TO ACTIVE|LISTE expiré et défini comme actif| +Enhanced Disconnect Logging|Enhanced Disconnect Logging| +This setting enables logging of calls that get a CONGESTION signal with a cause code of 1, 19, 21, 34 or 38. We usually do not recommend enabling this in the USA. Default is 0 for disabled|Ce paramètre active la journalisation des appels qui obtiennent un signal d'encombrement avec un code de cause de 1, 19, 21, 34 ou 38. Habituellement, nous ne recommandons pas l'activation de cette aux Etats-Unis. Par défaut est 0 pour les handicapés| +LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead|LIVE_CALL_INBOUND permettra recherche pendant un certain temps d'avance sur un appel entrant uniquement. LIVE_CALL_INBOUND_AND_MANUAL permettra recherche pendant un certain temps d'avance sur un appel entrant ou pendant la pause. Quand Lead Recherche est utilisé sur un appel entrant direct, le chef de file de l'appel quand il est allé à l'agent sera changé pour un statut de LSMERG, et les journaux de l'appel sera modifié pour créer un lien vers l'agent principal choisi à la place| +If this is a call that will go to a Call Menu and then back to an in-group, we suggest you use CUSTOMERCLOSER in this field, and also you need to set the In-Group Search Method in the Call Menu to CLOSER|Si c'est un appel qui ira à un menu d'appel, puis revenir à un groupe, nous vous suggérons d'utiliser CUSTOMERCLOSER dans ce domaine, et aussi vous devez définir la méthode de recherche In-Group dans le menu d'appel à CLOSER| +Add New EMAIL In-Group|Ajouter un nouvel e-mail dans-groupe| +Copy EMAIL In-Group|Copiez EMAIL In-Group| +New Email Group Addition|Nouveau groupe Email Addition| +New Copied Email Group Addition|New Copié Email groupe Addition| +Modify EMAIL In-Group|Modifier EMAIL In-Group| +Email In-Groups|Email dans-groupes| +Modify Email Accounts|Modifier Comptes de messagerie| +This option if set to 1 allows the user to modify email accounts in the email account management page|Cette option, si mis à 1 permet à l'utilisateur de modifier les comptes de messagerie dans la page de gestion de compte de messagerie| +Allow Emails|Laisser Emails| +This is where you can set whether the users of this campaign will be able to receive inbound emails in addition to phone calls|C'est là que vous pouvez définir si les utilisateurs de cette campagne seront en mesure de recevoir des e-mails entrants, en plus des appels téléphoniques| +This is where you can set whether this system will be able to receive inbound emails in addition to phone calls|C'est là que vous pouvez définir si ce système sera en mesure de recevoir des e-mails entrants, en plus des appels téléphoniques| +VICIDIAL EMAIL ACCOUNTS|Comptes de messagerie Vicidial| +The Vicidial Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls.EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE|La section de la gestion des comptes e-mail Vicidial vous permet de créer, copier et supprimer des paramètres de compte email qui vous permettra d'avoir les e-mails arrivent dans votre système Vicidial et être traités comme des appels réguliers. comptes de messagerie doit être configuré PAR VOUS ET UN FOURNISSEUR DE SERVICES EMAIL - qui n'est pas couvert par ce module| +Email Account ID|Email Account ID| +This is the short name of the email account, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length|C'est le nom abrégé du compte e-mail, il n'est pas modifiable après la présentation initiale, ne doivent pas contenir d'espaces et doit être comprise entre 2 et 20 caractères de long| +Email Account Name|Email Nom du compte| +This is the full name of the email account, it must be between 2 and 30 characters in length|Il s'agit du nom complet du compte de messagerie, il doit être compris entre 2 et 30 caractères de long| +This determines whether this account will be checked for new email messages to be loaded into the dialer|Cela détermine si ce compte sera vérifié pour les nouveaux messages e-mail pour être chargé dans le composeur| +Email Account Description|Email Description de compte| +This allows for a lengthy description, if needed, of the email account.255 characters max|Cela permet une longue description, le cas échéant, du compte de courriel. 255 caractères maximum| +Email Account Type|Email Type de compte| +Specifies whether the account is used for inbound or outbound email messages.Should be set to INBOUND|Indique si le compte est utilisé pour entrants ou sortants des e-mails. Doit être mis à INBOUND| +Admin User Group|Groupe d'utilisateurs admin| +This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group|C'est le groupe d'utilisateur d'administration pour ce groupe entrant, ce système permet de visualiser administrateur de ce en groupe restreint par groupe d'utilisateurs. Par défaut - ALL - qui permet à tout utilisateur admin pour voir ce en groupe| +Email Account Protocol|Email Protocole de compte| +This is the email protocol used by the account you are setting up access to.Currently only IMAP and POP3 accounts are supported|C'est le protocole de messagerie utilisé par le compte que vous configurez accès. Actuellement, seuls les comptes IMAP et POP3 sont pris en charge| +Email Reply-to Address|Email Adresse de réponse| +The email address of the account you are setting up access to.Replies to email messages from the agent interface will read as coming from this address|L'adresse email du compte vous configurez accès. Les réponses aux e-mails de l'interface de l'agent se lire comme venant de cette adresse| +Email Account Server|Email Account Serveur| +The email server that the account is housed on|Le serveur de messagerie que le compte est logé sur| +Email Account User|Email User Account| +The login used to access this account.Usually it's the portion of the reply-to address before the -at- symbol|La connexion utilisée pour accéder à ce compte. Habituellement, c'est la partie de l'adresse de réponse avant le-at-symbole| +Email Account Password|Email Account Mot de passe| +The password used to access this account.This is usually set at the time the email account is created|Le mot de passe utilisé pour accéder à ce compte. Ceci est habituellement établi au moment du compte de messagerie est créé| +Email Frequency Check Rate (mins)|Email Fréquence Taux de contrôle (mn)| +How often this email account should be checked.The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time|Combien de fois ce compte e-mail doit être vérifiée. Le plus haut taux de fréquence pour l'instant est de cinq minutes; certains fournisseurs de messagerie ne permettra pas plus de trois tentatives de connexion en quinze minutes avant le verrouillage du compte pour une durée indéterminée| +In-Group ID|ID en groupe| +The In-Group that email messages will be sent to|L'In-Group que les e-mails seront envoyés aux| +Default List ID|ID par défaut de la liste| +The List ID that leads will be inserted into if necessary|L'ID de la liste qui mène sera insérée dans le cas échéant| +In-Group Call Handle Method|En appel de groupe Méthode de poignée| +This is the action that will be taken when a new email is found in the account.EMAIL means all email messages will be inserted into vicidial_list as a new lead.EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table.EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Group Campaign ID" box below.EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group List ID" box below|C'est l'action qui sera prise quand un nouvel e-mail se trouve dans le compte. Signifie EMAIL tous les messages électroniques seront insérées dans vicidial_list comme une nouvelle piste. EMAILLOOKUP va chercher la totalité de la table vicidial_list pour l'adresse email dans la colonne email - si le plomb est trouvé, que de plomb liste l'ID sera utilisé dans le dossier qui va dans le tableau vicidial_email_list. EMAILLOOKUPRC fait la même chose, mais il ne recherche listes appartenant à la campagne sélectionnée dans la boîte "In-Group ID Campaign" ci-dessous. EMAILLOOKUPRL recherche uniquement une liste particulière, qui est celle indiquée dans la case ci-dessous "In-Group Liste ID"| +In-Group Agent Search Method|In-Group Agent Méthode de recherche| +The agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB.|La méthode de recherche de l'agent pour être utilisé par le groupe entrant, LO est Load-Balanced-débordement et va essayer d'envoyer l'appel à un agent sur le serveur local avant d'essayer de parvenir à un agent sur un autre serveur, LB est à charge équilibrée et va essayer d'envoyer l'appel vers l'agent suivant, peu importe quel serveur ils sont allumées, est serveur uniquement et ne tentera d'envoyer les appels aux agents sur le serveur que l'appel est arrivé sur. Par défaut LB.| +In-Group List ID|In-Group Liste ID| +This is the List ID that will be used to search for a match within|C'est l'ID de la liste qui sera utilisé pour rechercher un donneur compatible dans| +In-Group Campaign ID|Dans le groupe de campagne ID| +This is the Campaign ID that will be used to search for a match within|C'est l'ID de campagne qui sera utilisé pour rechercher un donneur compatible dans| +Group Handling|Manipulation du Groupe| +COPY EMAIL GROUP|COPIEZ LE GROUPE DE COURRIEL| +Email Group ID|Email groupe ID| +Email Group Name|Email Nom du groupe| +Source Email Group ID|Source Email ID de groupe| +Email Accounts|Comptes de messagerie| +Next Agent Email|Suivant Agent Email| +Start Email URL|Commencez Email URL| +Dispo Email URL|Dispo Email URL| +No Agent Email URL|Aucun agent de courrier électronique URL| +EMAIL ACCOUNTS USING THIS IN-GROUP|comptes de messagerie UTILISANT CE EN GROUPE| +EMAIL GROUP NOT ADDED|GROUPE DE COURRIEL pas ajouté| +Email group ID must be between 2 and 20 characters in length and contain no|Email groupe ID doit être comprise entre 2 et 20 caractères et ne contiennent pas| +Email group name and group color must be at least 2 characters in length|Email nom de groupe et la couleur de groupe doit être d'au moins 2 caractères| +EMAIL GROUP ADDED|GROUPE courriel ajouté| +Show Email Accounts|Afficher Comptes de messagerie| +Add A New Account|Ajouter un nouveau compte| +Copy An Account|Copier un compte| +Dialer Email Account fields|Dialer champs de compte de messagerie| +NEW ACCOUNT|NOUVEAU COMPTE| +SUCCESSFULLY CREATED|Créé avec succès| +All Admin User Groups|Tous les groupes d'utilisateurs admin| +ERROR: Inbound emails are not active on this system|ERREUR: emails entrants ne sont pas actifs sur ce système| +invalid or null|invalide ou nulle| +SUCCESSFULLY MODIFIED|Modifié avec succès| +There was an unknown error when attempting to copy the new account|Il y avait une erreur inconnue lors de la tentative de copier le nouveau compte| +SUCCESSFULLY COPIED FROM|SUCCES copiés à partir| +source email does not exist|mail source n'existe pas| +ACCOUNT NOT COPIED|Compte pas copié| +Copy New Account from Existing Account|Copiez Nouveau compte Compte existant| +Account ID to Copy From|ID du compte à copier à partir| +New Account ID|Nouveau numéro de compte| +New Account Name|Nouveau nom de compte| +There are no existing accounts to copy from|Il n'y a pas les comptes existants pour copier à partir de| +The data you submitted has the following errors|Les données présentées ont les erreurs suivantes| +ACCOUNT NOT INSERTED|Compte non INSERTED| +ADD NEW INBOUND EMAIL ACCOUNT|Ajouter un nouveau compte de courrier entrant| +CONFIRM DELETION OF INBOUND EMAIL ACCOUNT|Confirmer la suppression du compte de messagerie INBOUND| +Click to delete account|Cliquez sur pour supprimer un compte| +ACCOUNT NOT UPDATED|Compte non JOUR| +UPDATE AN EXISTING INBOUND EMAIL ACCOUNT|Mettre à jour un compte de messagerie ENTRANT EN VIGUEUR| +INBOUND EMAIL ACCOUNT LISTINGS|ENTRANTS BIENS compte de messagerie| +UNREAD EMAILS|Courriers non lus| +Un-handled Emails|Les e-mails non traités| +Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system|Un réglage à ingroup enverra un répondeur à un groupe entrant. Un réglage à CALLMENU enverra un répondeur à un menu d'appel dans le système| +AMD send to Action|AMD envoyer à l'action| +This option allows you to define whether a call is sent to the AMD Action when an answering machine is detected. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N|Cette option vous permet de définir si un appel est envoyé à l'action AMD lorsqu'un répondeur est détecté. Si ce paramètre est réglé à N, l'appel sera raccroché dès qu'il est déterminé à être un répondeur. Défaut est N| +AMD Inbound Group|AMD Inbound Groupe| +If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected|Si CPD AMD Action est réglé sur ingroup, alors c'est le groupe entrant que l'appel sera envoyé si un répondeur est détecté| +AMD Call Menu|AMD Appel Menu| +If CPD AMD Action is set to CALLMENU, then this is the Call Menu that the call will be sent to if an answering machine is detected|Si CPD AMD Action est réglé sur CALLMENU, alors c'est le menu d'appel que l'appel sera envoyé si un répondeur est détecté| +Level 8 Disable Add|Niveau 8 désactiver des| +This setting if enabled will prevent any level 8 user from adding or copying any record in the system, no matter what their user settings are. Excluded from these restrictions are the ability to add DNC and Filter Phone Groups numbers and the Add a New Lead page. Default is 0 for disabled|Ce paramètre si elle est activée empêchera tout utilisateur de niveau 8 de l'ajout ou la copie de tout document dans le système, quelles que soient leurs réglages de l'utilisateur sont. Sont exclus de ces restrictions sont la possibilité d'ajouter des numéros de téléphone Groupes DNC et le filtre et la page Ajouter un nouveau chef de file. Par défaut est 0 pour les handicapés| +You do not have permission to add records on this system|Vous n'avez pas la permission d'ajouter des enregistrements sur ce système| +These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks.LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered.You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE.Default is ALL_ACTIVE|Ces options vous permet de limiter les rappels visibles dans la section d'alerte de rappel de l'agent sur l'écran de l'agent, pour ne vivent rappels. Callbacks LIVE sont-Seuls les utilisateurs rappels réguliers qui ont frappé leur date et heure de déclenchement. Dos d'appels actives sont faciles à utiliser que les rappels qui sont actives dans le système mais qui n'ont pas encore déclenché. Vous pouvez afficher les rappels fois active et de vivre en sélectionnant ALL_ACTIVE. Default est ALL_ACTIVE| +VICIDIAL ADMIN REPORT LOG|VICIDIAL ADMIN journal de rapport| +VICIDIAL USER ADMIN REPORT LOG|VICIDIAL utilisateur admin RAPPORT LOG| +VICIDIAL DETAIL ADMIN REPORT LOG|VICIDIAL DETAIL rapport Administration LOG| +ADMIN REPORT LOG|ADMIN journal de rapport| +Admin Report Log Viewer|Administrateur Rapport Log Viewer| +Survey Wait Seconds|Enquête Attendez secondes| +This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds|C'est le nombre de secondes en mode d'enquête le système attend l'entrée de la personne appelée jusqu'à ce que l'enquête ou de l'action de chute est déclenchée. Ne s'applique pas si la méthode d'enquête est HANGUP. Défaut est de 10 secondes| +You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details|Vous pouvez ajouter NOINT directement en face du nom d'un fichier audio pour en faire de sorte que la lecture ne peut pas être interrompue par une pression sur la touche par l'appelant, le NOINT ne devrait pas être une partie du nom de fichier, c'est un drapeau spécial pour le système. Vous pouvez également utiliser spécial. Scripts agi dans ce domaine ainsi que le script cm_date.agi, discutez avec votre administrateur pour plus de détails| +DROP will drop the call using the campaign drop method but still log the call as a PM played message status|DROP abandonner l'appel en utilisant la méthode de la goutte de campagne, mais toujours se connecter à l'appel en tant que PM a joué état du message| +Quality Control|Contrôle de la qualité| +Source User|Source utilisateur| +>Admin<|> Administrateur <| +Campaign Call Date|Campagne date d'appel| +Lead Recycling|Recyclage du plomb| +Day outbound call count for this campaign|Journée nombre d'appels sortants pour cette campagne| +State rules defined for this call time|règles de l'Etat définies pour ce temps d'appel| +in seconds|en secondes| +Agent Display Dialable Leads|Agent d'affichage Leads composables| +Agent Display Queue Count|Agent Nombre d'écrans de file d'attente| +Manual Dial Filter|Composition manuelle Filter| +Agent Call Re-Queue Button|Appeler Bouton Re-Queue| +LEADS COUNT|MÈNE LE COMTE| +number:|numéro:| +server:|serveur:| +audio chooser|audio sélecteur| +voicemail chooser|sélecteur de boîte vocale| +FILTER ID|FILTRE ID| +FILTER NAME|Nom du filtre| +Show Email Groups|Afficher les groupes de messagerie| +Email Accounts|Comptes de messagerie| +CallCard Admin|CallCard admin| + Contacts | Contacts | +We STRONGLY recommend uploading only 16bit Mono 8k PCM WAV audio files|Nous vous recommandons vivement le téléchargement de fichiers uniquement 16bit mono 8k PCM WAV audio| +All spaces will be stripped from uploaded audio file names|Tous les espaces seront supprimés à partir des noms de fichiers audio téléchargés | +ERROR: Default value cannot be longer than maximum field length|erreur: valeur par défaut ne peut pas être plus long que la longueur maximale du champ| diff --git a/agc_2-X/trunk/translations/it_language.txt b/agc_2-X/trunk/translations/it_language.txt index 06c74fdd..3987c657 100644 --- a/agc_2-X/trunk/translations/it_language.txt +++ b/agc_2-X/trunk/translations/it_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"GEN"| @@ -323,7 +325,7 @@ Dial Override|Chiamata automatica| digits only please|solo cifre per favore| Dial Now|Chiama Ora| CB Comments|Note Richiamo| -Title|Titolo| + Title| Titolo| Your Status|Il tuo stato| STATUS| STATO| RESET| RESET| @@ -333,10 +335,9 @@ Incoming|In entrata| Calling|In Chiamata| Called|Chiamato| Campaign|Campagna| -Status|Stato| +>Status|>Stato| Inserted|Inserito| seconds| secondi| -HELP|AIUTO| Login | Login | Login:|Login:| User |Utente | @@ -347,7 +348,6 @@ Server|Server| RECORD |Registrazione | >HANGUP|>RIAGGANCIA| >XFER|>TRASF| -PARK|ATTESA| IN-NUMBER|IN-NUMBER| NUMBER|NUMERO| CALLERID|CALLERID| @@ -356,16 +356,15 @@ PICKUP|RIPRENDI| CONFERENCE|CONFERENZA| Refresh|Aggiorna| Send DTMF|Trasmetti Tono Tastiera| -ORDER|ORDINE| +>ORDER|>ORDINE| on | su | >LOGOUT|>LOGOUT| Channel| Canale| Extensions|Interni| Conferences|Conferenze| Conference|Conferenza| -Recording|Registrazione| -Record|Record| -Welcome|Benvenuto| + Recording| Registrazione| +Welcome |Benvenuto | VOICEMAIL|VOICEMAIL| NEW| NUOVO| OLD| VECCHIO| @@ -376,21 +375,21 @@ Slower|Più lento| Initializing|Inizializzazione| Invalid|Non valido| Username|Username| -Notes|Note| +Notes:|Note:| First|Nome| MI: |MI: | -Last|Cognome| +Last |Cognome | Address|Indirizzo| City|Città| -State|Stato| + State| Stato| PostCode|CAP| Province|Provincia| Vendor ID|Vendor ID| DialCode|Prefisso| Alt. Phone|Num. Alternativo| Show|Mostra| -Email|Email| -Comments|Note| + Email| Email| + Comments| Note| REFRESH|AGGIORNA| ALT PHONE DIAL|CHIAMA ALT NUM| MAIN PHONE|NUMERO PRINCIPALE| @@ -586,3 +585,79 @@ Agents View|Agenti Visualizza| -INCALL|-Incall| -PAUSED|-PAUSA| CALL DISPOSITION|CALL DISPOSIZIONE| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|Clicca qui per scegliere un quadrante in-group| +SELECT A DIAL IN-GROUP|selezionare una selezione di gruppo| +DIAL IN-GROUP|Cassaforte in gruppo| +Dial In-Group|Cassaforte in gruppo| +Click Here to Activate|Clicca qui per attivare| +Click Here to Deactivate|clicca qui per disattivare| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|Errore: è necessario inserire in termini di ricerca, uno di questi deve essere popolata: id piombo, Vendor ID, numero di telefono, cognome| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|Errore: è necessario inserire in termini di ricerca, uno di questi deve essere compilato: numero dell'ufficio, il cognome, il nome| +ERROR: There was a problem with your search terms|errore: c'è stato un problema con i termini di ricerca| +Phone and Post Code Time Zone Mismatch|telefono cellulare e il codice postale di zona non corrispondente tempo| +Last Local Call Time|ultima volta chiamata locale| +Called Count|numero di chiamate| +Unidentified Hangup Cause Code|identificato codice di causa riaggancio| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|è necessario selezionare un agente di trasferire a quando si utilizza agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|un'altra sessione di agente di vivere è stato aperto utilizzando l'ID utente. è stato disattivato. Cliccare su OK per passare alla schermata agente| +View Comment History|visualizzare la cronologia commento| +reset form|forma reimpostare| +SELECT THIS LEAD|selezionare questo cavo| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|si deve essere in una chiamata in entrata attiva per la ricerca di un vantaggio| +Attachments|allegati| +Next Call Pause|chiamata successiva pausa| +-History-|-storia-| +SUBMIT SEARCH|presentare ricerca| +close |chiudere | +AGENT CALL LOG|agente del registro chiamate| + LENGTH | lunghezza | + PHONE | telefono | + FULL NAME | nome e cognome | + CAMPAIGN | campagna | + ALT | alternativo | + HANGUP | hangup | + INFO | Info | +phone login|telefono login| +LAST CALL|ultima chiamata| + CALLBACK | callback | + CITY | città | + STATE | stato | + ZIP | zip | +Phone Number|numero telefonico| +Phone Number Fields|campi numero di telefono| +Lead ID|piombo id| + WAIT | attendere | + AGENT | agente | + CALL GROUP | chiamata di gruppo | + TYPE | tipo di | +digits only|solo cifre| +DIAL ALERT|comporre avvisare| +WEB FORM SUBMIT|modulo pagina web presentare| +in campaign|in campagna| + DATE\/TIME | data\/ora | + IN\/OUT | in e fuori | +>GROUPS<|>GRUPPI<| +>GO<|>vai<| +>recording<|>registrazione<| +>SELECT<|>selezionare<| +Alert is ON|segnalazione riguardi| +Alert is OFF|avviso è spento| +EMAIL LOG FOR THIS LEAD|log e-mail per questo cavo| +EMAIL TO|e-mail a| + ATTACHMENTS | allegati | +Called Since Last Reset|chiamato dall'ultimo azzeramento| +Timezone:|fuso orario:| +Dial Link|comporre il collegamento| + LAST | ultimo | +SEARCH FOR A CONTACT|cercare un contatto| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Note: quando si fa una ricerca di un contatto, termini di ricerca con caratteri jolly o parziali non sono ammessi| +Contact search requests are all logged in the system|richieste di ricerca di contatto sono tutti registrati nel sistema| +Office Number|numero dell'ufficio| +First Name|nome| +Last Name|cognome| +BU Name|ragione sociale| +Department:|Dipartimento:| +Group Name|il nome del gruppo| +Job Title|titolo di lavoro| +Location:|posizione:| diff --git a/agc_2-X/trunk/translations/it_language_admin.txt b/agc_2-X/trunk/translations/it_language_admin.txt index 7ed3e4d0..0ebffcf3 100644 --- a/agc_2-X/trunk/translations/it_language_admin.txt +++ b/agc_2-X/trunk/translations/it_language_admin.txt @@ -65,7 +65,7 @@ vicidial|welcome_languages.php|1 vicidial|vicidial_admin_web_logo.gif|1 vicidial|vicidial_admin_web_logo_small.gif|1 vicidial|user_territories.php|0 -vicidial|audio_store.php|1 +vicidial|audio_store.php|0 vicidial|AST_agent_time_detail.php|0 vicidial|AST_agent_timeclock_detail.php|0 vicidial|AST_OUTBOUNDsummary_interval.php|0 @@ -96,6 +96,25 @@ vicidial|admin_listloader_fourth_gen.php|0 vicidial|AST_admin_template_maker.php|0 vicidial|leadloader_template_display.php|0 vicidial|admin_listloader_third_gen.php|0 +vicidial|callbacks_bulk_change.php|0 +vicidial|lead_tools.php|0 +vicidial|admin_email_accounts.php|0 +vicidial|AST_email_log_report.php|0 +vicidial|AST_email_log_display.php|0 +vicidial/qc|qc_modify_lead.php|0 +vicidial/qc|QC_admin_variables.php|0 +vicidial/qc|QC_admin_variables01.php|0 +vicidial/qc|QC_call_client_iframe.php|0 +vicidial/qc|QC_call_client_include.php|0 +vicidial/qc|QC_header_include.php|0 +vicidial/qc|QC_header_include01.php|0 +vicidial/qc|QC_header_include02.php|0 +vicidial/qc|audit_comments.php|0 +vicidial/qc|qc_api.php|0 +vicidial/qc|QC_admin_include01.php|0 +vicidial/qc|QC_admin_include02.php|0 +vicidial/qc|QC_admin_modify_lead_include.php|0 +vicidial/qc|QC_status_codes_include.php|0 vicidial|wz_jsgraphics.js|1 vicidial|verticalbargraph.css|1 vicidial|horizontalbargraph.css|1 @@ -3516,3 +3535,224 @@ Search Method|Metodo di ricerca| USING THIS CALL MENU|UTILIZZO DI QUESTO MENU CALL| DELETE THIS CALL MENU|CANCELLA QUESTO MENU CALL| Click here to see Admin changes to this CALL MENU|Clicca qui per vedere i cambiamenti di amministratore per questo MENU CALL| +### START translations for 2.6 release ### +In-Group Manual Dial|In-Group Selezione manuale| +In-Group Manual Dial Select|In-Group Selezione manuale Select| +This feature allows you to enable the ability for agents to place manual dial outbound calls that are logged as in-group calls assigned to a specific in-group. The MANUAL_DIAL option allows the placing of phone calls out through an In-Group to the agent placing the call. The NO_DIAL option allows the agent to log time on a call that does not exist, as if it were a real call, this is often used for logging email or faxing time. The BOTH option will allow both call and no-call in-group dialing. The default is DISABLED|Questa funzione permette di abilitare la possibilità per gli agenti di inserire linea chiamate in uscita manuali che vengono registrati come in-group chiamate assegnato a una specifica in-group. L'opzione MANUAL_DIAL consente l'immissione di telefonate attraverso un In-Gruppo per l'agente di effettuare la chiamata. L'opzione NO_DIAL consente all'agente di accedere contemporaneamente su chiamata che non esiste, come se fosse una vera e propria chiamata, questa viene spesso utilizzato per la registrazione e-mail o fax di tempo. Il SIA opzione consentirà sia chiamata e non-chiamata a riconoscimento in-group. Disabilitato di default| +This option is only active if the above In-Group Manual Dial feature is not DISABLED. This option restricts the selectable In-Groups that the agent can place In-Group Manual Dial calls through. CAMPAIGN_SELECTED will show only the in-groups that the campaign has set as allowable in-groups. ALL_USER_GROUP will show all of the in-groups that are viewable to the members of the user group that the agent belongs to|Questa opzione è attiva solo se il suddetto in-Group funzione Selezione manuale non è disattivato. Questa opzione limita la selezionabili A-Groups che l'agente può inserire in gruppo Selezione manuale chiama attraverso. CAMPAIGN_SELECTED mostra solo le in-gruppi che la campagna è posta come ammissibile a-gruppi. ALL_USER_GROUP mostrerà tutte le in-gruppi che sono visualizzabili ai membri del gruppo di utenti che l'agente appartiene al| +Dial In-Group CID|Dial-In Group CID| +If the agent campaign allows for Manual In-Group Dialing, this caller ID number will be sent as the outgoing CID of the phone call if it is populated, overriding the campaign settings and list CID override setting. Default is empty|Se la campagna agente consente manuale In-Selezione di gruppo, questo numero ID del chiamante verrà inviato come l'uscita CID della telefonata se è popolata, sovrascrivendo le impostazioni della campagna e la lista di impostazione di override CID. L'impostazione predefinita è vuota| +You can also use LTMG or XFTAMM as statuses to trigger an automatic transfer to the Leave-Voicemail option|È inoltre possibile utilizzare LTMG o XFTAMM come status per attivare un trasferimento automatico per l'opzione Leave-Voicemail| +Send to Answering Machine Message|Invia a Answering Machine Message| +Safe Harbor Audio Field|Safe Harbor Audio Campo| +This optional setting allows you to define a field in the list that the system will use as the audio filename for each lead in place of the Safe Harbor Audio file. If this is set to DISABLED the Safe Harbor Audio file will always be used. The system will do no validation to make sure that the audio file exists other than to make sure the value of the field is at least one character, so if you want a lead to use the default Safe harbor Audio then you just set the field value in the lead to empty. You can use the pipe character to link multiple audio files together in the field value for each lead. Default is DISABLED. Here is the list of fields that can be used for this setting|Questa impostazione opzionale consente di definire un campo nell'elenco che il sistema utilizzerà come il nome del file audio per ogni piombo al posto del file audio Safe Harbor. Se questo è impostato su Disabilitato sarà sempre utilizzato il file audio Safe Harbor. Il sistema farà alcuna convalida per assicurarsi che il file audio non esiste se non per assicurarsi che il valore del campo è presente almeno un carattere, quindi se volete una guida per utilizzare il valore predefinito sicuro porto Audio poi basta impostare il valore del campo in testa a vuoto. È possibile utilizzare il carattere pipe per collegare più file audio insieme nel valore di campo per ogni cavo. Default è disabilitata. Ecco l'elenco dei campi che possono essere utilizzati per questa impostazione| +Call Menu Qualify Enabled|Chiamata Menu Qualificati Enabled| +This setting enables the option in Call Menus to put a SQL qualification on the people that hear that call menu. For more information on how that feature works, view the help for Call Menus. Default is 0 for disabled|Questa impostazione abilita l'opzione nel menu di chiamata per mettere una qualifica SQL sulle persone che ascoltano quel menu chiamata. Per ulteriori informazioni sul funzionamento di tale funzione, vedere la Guida per la chiamata dei menu. Il default è 0 per disabili| +Qualify SQL|Qualificare SQL| +This field allows you to input SQL - Structured Query Language - database fragments, like with Filters, to determine whether this call menu should play for the caller or not. This feature only works if the call has the callerIDname set prior to being sent to this call menu, either as an outbound survey transfer, or through the use of a drop call menu for an In-Group call. If there is a match, the call will proceed as normal. If there is no match, the call will go to the D option or the invalid option if no D option is set. You cannot use single-quotes in this field, only double-quotes if they are needed. Default is empty for disabled|Questo campo consente di immettere la SQL - Structured Query Language - frammenti di database, come con i filtri, per determinare se questo menu chiamata deve giocare per il chiamante o meno. Questa caratteristica funziona solo se la chiamata è impostata l'callerIDname prima di essere inviato a questo menu chiamata, come un trasferimento sondaggio in uscita, o attraverso l'uso di un menu drop call per una chiamata In-Group. Se vi è una corrispondenza, la chiamata procede come normale. Se non vi è alcuna corrispondenza, la chiamata viene inoltrata a l'opzione D o l'opzione non valida se nessuna opzione D è impostata. Non è possibile utilizzare apici in questo campo, solo i doppi apici se sono necessari. L'impostazione predefinita è vuota per disabili| +Admin List Counts|Lista Conti Admin| +This setting allows you to disable the list counts that appear on the Lists listing and the Campaign modify screens. Default is 1 for enabled|Questa impostazione consente di disabilitare la lista conta che compaiono negli elenchi elenco e gli schermi modify Campagna. Il default è 1 per abilitato| +The Y_API_LAUNCH option can be used with the agent API to launch the webphone in a separate Iframe or window|L'opzione Y_API_LAUNCH può essere utilizzato con l'API agente di lanciare il webphone in una finestra separata o Iframe| +If the option has BLANK at the end, then users are allowed to dial leads with no owner defined in addition to owner defined leads|Se l'opzione è vuota alla fine, quindi gli utenti possono comporre i cavi senza proprietario definito oltre al proprietario definito conduce| +Voicemail Greeting|Messaggio di benvenuto| +This optional setting allows you to define a voicemail greeting audio file from the audio store. Default is blank|Questa impostazione opzionale consente di definire un file audio messaggio di benvenuto dal negozio audio. Predefinito è vuoto| +Allow Voicemail Greeting Chooser|Consentire Voicemail Saluto Chooser| +If this setting is enabled it will allow you to choose an audio file from the audio store to be played as the voicemail greeting to a specific voicemail box. Default is 0 for disabled|Se questa impostazione è abilitata vi permetterà di scegliere un file audio dal negozio audio da riprodurre come messaggio di benvenuto a una casella vocale specifica. Il default è 0 per disabili| +File to Delete|File da eliminare| +Agent Pause After Next Call Link|Agente Pausa Dopo Pross.selezione link| +This option if enabled will display a link on the agent screen that will let the agent go on pause automatically after they hang up their next call. Default is DISABLED|Questa opzione, se attivata mostrerà un link sullo schermo dell'agente che vi permetterà l'agente va in pausa automaticamente dopo che riagganciare la chiamata successiva. Disabilitata di default| +Owner Populate|Proprietario Popola| +If this is enabled and the owner field of the lead is blank, the owner field for the lead will populate with the user ID of the agent that handles the call first. Default is DISABLED|Se questa opzione è attivata e il proprietario campo del piombo è vuoto, il campo proprietario per il piombo popolerà con l'ID utente di un agente che gestisce la chiamata prima. Disabilitata di default| +This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are|Questo campo consente di personalizzare il nome della registrazione quando Campagna è ONDEMAND o ALLCALLS. Le variabili sono consentiti| +The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. Te resulting filename must be less than 90 characters in length|L'impostazione predefinita è FULLDATE_AGENT e sarebbe simile a questa 20051020-103108_6666. Un altro esempio è CAMPAIGN_TINYDATE_CUSTPHONE che sarebbe simile a questa TESTCAMP_51020103108_3125551212. Te conseguente nome del file deve essere inferiore a 90 caratteri di lunghezza| +This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are|Questo campo avrà la precedenza il regime filenaming Recording campagna a meno che non sia impostato su NONE. Le variabili sono consentiti| +Audit Comments|Audit Commenti| +This option allows comments to be moved to an audit table. No longer editable, but viewable along with the date-time-creator of each comment. Default is N. This is a part of the Quality Control Add-On|Questa opzione consente commenti di essere spostati in una tabella di controllo. Non è più modificabile, ma visualizzabili con la data-ora-creatore di ogni commento. Default e N. Questa è una parte del Controllo Qualità Add-On| +QueueMetrics Socket Send|QueueMetrics Socket Invia| +This option, if enabled, will send QM data to a web page that will send it through a socket for logging. The CONNECT_COMPLETE option will send CONNECT, COMPLETEAGENT and COMPLETECALLER events to the url defined below. Default is NONE for disabled|Questa opzione, se attivata, invierà i dati QM ad una pagina web che lo invierà attraverso una presa per il logging. L'opzione CONNECT_COMPLETE invierà CONNECT, COMPLETEAGENT e COMPLETECALLER eventi all'URL definito di seguito. Il valore predefinito è NONE per disabili| +QueueMetrics Socket Send URL|QueueMetrics Socket Invia URL| +If Socket Send is enabled above, this is the URL that is used to send the data to. Default is EMPTY for disabled|Se invio socket è abilitato in precedenza, questo è l'URL che viene utilizzato per inviare i dati. Predefinito è vuoto per disabili| +Add Holiday|Aggiungere vacanze| +Modify Holiday|Modifica di vacanza| +Delete Holiday|Eliminazione di vacanza| +New Holiday Addition|New Holiday aggiunta| +Holidays|Vacanze| +Holiday ID|Vacanze ID| +This is the short name of a Holiday Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 30 characters, minimum of 2 characters|Questo è il nome breve di un Holiday Definizione. Questo deve essere un identificatore univoco. Non utilizzare spazi o segni di punteggiatura per questo campo. max 30 caratteri, minimo di 2 caratteri| +Holiday Name|Nome di festa| +This is a more descriptive name of the Holiday Definition. This is a short summary of the Holiday definition. max 100 characters, minimum of 2 characters|Questo è un nome più descrittivo della vacanza Definizione. Questo è un breve riepilogo della definizione di vacanza. max 100 caratteri, minimo di 2 caratteri| +Holiday Comments|Vacanze Commenti| +This is where you can place comments for a Holiday Definition such as -10am to 4pm boxing day restrictions-.max 255 characters|Questo è dove è possibile inserire commenti per una definizione di vacanza come-10:00-04:00 giorno di Santo Stefano-restrizioni. max 255 caratteri| +Holiday Date|Vacanze Data| +This is the date of the holiday|Questa è la data della vacanza| +Holiday Status|Vacanze Stato| +This is the status of the holiday entry. ACTIVE status means that the holiday will be enabled on the holiday date. INACTIVE status means that the holiday will be ignored even on the holiday date. EXPIRED means that the holiday has passed it's holiday date. Default is INACTIVE|Questo è lo stato della voce vacanza. Stato attivo significa che la vacanza sarà abilitata alla data di vacanza. Stato inattivo significa che la vacanza sarà ignorato, anche alla data di vacanza. Significa che la vacanza ha superato la sua data di vacanza SCADUTO. Default è inattivo| +short description of the holiday|breve descrizione della vacanza| +Day and time options will appear once you have created the Holiday Definition|Opzioni giorno e l'ora appariranno una volta creata la definizione di vacanza| +HOLIDAY DEFINITION NOT ADDED|VACANZA definizione non AGGIUNTO| +there is already a holiday entry with this ID|c'è già una voce di vacanza con questo ID| +Holiday ID, name and date must be populated|ID di vacanza, il nome e la data devono essere occupati| +HOLIDAY ADDED|VACANZA AGGIUNTO| +HOLIDAY NOT MODIFIED|VACANZA NON MODIFICATI| +HOLIDAY MODIFIED|VACANZA MODIFICATA| +HOLIDAY NOT DELETED|VACANZA NON CANCELLATO| +Holiday ID must be at least 2 characters in length|ID vacanza deve essere di almeno 2 caratteri| +HOLIDAY DELETION CONFIRMATION|VACANZA CANCELLAZIONE CONFERMA| +Click here to delete holiday|Clicca qui per cancellare vacanza| +HOLIDAY DELETION COMPLETED|CANCELLAZIONE VACANZA COMPLETATO| +Holiday Rule Removed|Vacanze Rule Rimosso| +MODIFY A HOLIDAY|MODIFICARE UNA VACANZA| +CALL TIMES USING THIS HOLIDAY|CALL volte utilizzando questa festa| +DELETE THIS HOLIDAY DEFINITION|CANCELLARE QUESTA DEFINIZIONE VACANZA| +Active Inbound Holiday Definitions for this Record|Attivi Inbound Definizioni di vacanza per questo record| +Add inbound holiday rule|Aggiungi regola vacanza in entrata| +Holiday Rule Added|Vacanze regola aggiunta| +Holiday Rule Removed|Vacanze Rule Rimosso| +Click here to see Admin changes to this holiday|Clicca qui per vedere i cambiamenti Admin a questa festa| +Expiration Date|Data di Scadenza| +This option allows you to set the date after which leads in this list will not be allowed to be auto-dialed or manual-list-dialed by the system. Default is 2099-12-31|Questa opzione consente di impostare la data dopo la quale conduce in questa lista non sarà consentito di essere auto-composto o manuale-list-composto dal sistema. Il default è 2099-12-31| +Other Campaign DNC|Altra Campagna DNC| +If the option Use Campaign DNC List is enabled, this option can allow you to use a different campaign DNC list, just put the Campaign ID of the other campaign in this field. If you use this option, the original campaign DNC list will no longer be checked, only the OTHER campaign DNC list will be used. This does not affect use of the Internal System DNC list. Default is EMPTY|Se l'opzione Usa campagna Lista DNC è abilitata, questa opzione può consentire di utilizzare un diverso elenco DNC campagna, appena messo l'ID campagna dell'Altra Campagna in questo campo. Se si utilizza questa opzione, la lista originale DNC campagna non sarà più selezionata, sarà usato solo l'altra lista DNC campagna. Ciò non pregiudica l'uso della lista di DNC sistema interno. Predefinito è vuoto| +LIST EXPIRED AND SET TO ACTIVE|ELENCO SCADUTO e impostare su ATTIVA| +Enhanced Disconnect Logging|Maggiore Disconnect Logging| +This setting enables logging of calls that get a CONGESTION signal with a cause code of 1, 19, 21, 34 or 38. We usually do not recommend enabling this in the USA. Default is 0 for disabled|Questa impostazione consente la registrazione delle chiamate che ricevono un segnale CONGESTIONE con un codice a causa di 1, 19, 21, 34 o 38. Noi di solito non consigliamo di abilitare questa negli Stati Uniti. Il default è 0 per disabili| +LIVE_CALL_INBOUND will allow search for a lead while on an inbound call only. LIVE_CALL_INBOUND_AND_MANUAL will allow search for a lead while on an inbound call or while paused. When Lead Search is used on a live inbound call, the lead of the call when it went to the agent will be changed to a status of LSMERG, and the logs for the call will be modified to link to the agent selected lead instead|LIVE_CALL_INBOUND permetterà ricerca di un po 'di vantaggio su solo una chiamata in entrata. LIVE_CALL_INBOUND_AND_MANUAL permetterà ricerca di un po 'di piombo su una chiamata in entrata o la pausa. Quando piombo di ricerca viene utilizzato in una chiamata in entrata dal vivo, la testa della chiamata quando è andato per l'agente verrà modificato in uno stato di LSMERG, ed i registri per la chiamata viene modificato per creare un collegamento con l'agente di piombo scelto invece| +If this is a call that will go to a Call Menu and then back to an in-group, we suggest you use CUSTOMERCLOSER in this field, and also you need to set the In-Group Search Method in the Call Menu to CLOSER|Se questo è un invito che andrà a una chiamata su Menu e poi di nuovo a un in-gruppo, si consiglia di utilizzare CUSTOMERCLOSER in questo campo, e inoltre è necessario impostare l'in-group Metodo di ricerca nel menu Chiamata a una più stretta| +Add New EMAIL In-Group|Aggiungi nuovo EMAIL In-Group| +Copy EMAIL In-Group|Copia e-mail In-Group| +New Email Group Addition|Nuova e-mail Aggiunta Gruppo| +New Copied Email Group Addition|Nuovo Copiato Email aggiunta Gruppo| +Modify EMAIL In-Group|Modifica EMAIL In-Group| +Email In-Groups|E-mail in-Groups| +Modify Email Accounts|Modifica Account di posta elettronica| +This option if set to 1 allows the user to modify email accounts in the email account management page|Questa opzione, se impostato a 1 consente all'utente di modificare gli account di posta elettronica nella pagina di gestione account e-mail| +Allow Emails|Consenti email| +This is where you can set whether the users of this campaign will be able to receive inbound emails in addition to phone calls|Questo è dove si può impostare se gli utilizzatori di questa campagna saranno in grado di ricevere e-mail in entrata, oltre alle telefonate| +This is where you can set whether this system will be able to receive inbound emails in addition to phone calls|Questo è dove si può impostare se questo sistema sarà in grado di ricevere e-mail in entrata, oltre alle telefonate| +VICIDIAL EMAIL ACCOUNTS|Account di posta elettronica VICIDIAL| +The Vicidial Email Accounts management section allows you to create, copy, and delete email account settings that will allow you to have email messages come into your Vicidial system and be treated as regular calls.EMAIL ACCOUNTS MUST BE SET UP BY YOU AND AN EMAIL SERVICE PROVIDER - THAT IS NOT COVERED BY THIS MODULE|L'Email Conti sezione di gestione Vicidial permette di creare, copiare e cancellare le impostazioni dell'account e-mail che vi permetterà di avere messaggi e-mail vengono in vostro sistema Vicidial ed essere trattati come normali chiamate. Account di posta elettronica deve essere impostato dall'Utente e da un SERVICE DI EMAIL - che non è coperta da questo modulo| +Email Account ID|Email ID account| +This is the short name of the email account, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length|Questo è il nome breve dell'account di posta elettronica, non è modificabile dopo la presentazione iniziale, non deve contenere spazi e deve essere compresa tra 2 e 20 caratteri di lunghezza| +Email Account Name|Email Nome account| +This is the full name of the email account, it must be between 2 and 30 characters in length|Questo è il nome completo dell'account di posta elettronica, deve essere compresa tra 2 e 30 caratteri di lunghezza| +This determines whether this account will be checked for new email messages to be loaded into the dialer|Questo determina se questo account sarà controllata per i nuovi messaggi e-mail per essere caricato nel combinatore| +Email Account Description|Email Account Descrizione| +This allows for a lengthy description, if needed, of the email account.255 characters max|Questo consente una lunga descrizione, se necessario, dell'account di posta elettronica. 255 caratteri max| +Email Account Type|Email Tipo di account| +Specifies whether the account is used for inbound or outbound email messages.Should be set to INBOUND|Specifica se l'account viene utilizzato per i messaggi di posta elettronica in entrata o in uscita. Deve essere impostato a INBOUND| +Admin User Group|Admin User Group| +This is the administrative user group for this inbound group, this allows admin viewing of this in-group restricted by user group. Default is --ALL-- which allows any admin user to view this in-group|Questo è il gruppo amministrativo per il gruppo in entrata, questo permette la visualizzazione di amministratore di questo in-gruppo limitato di gruppo di utenti. Il default è - TUTTO - che permette a qualsiasi utente amministratore per vedere questo in-group| +Email Account Protocol|Email Account protocollo| +This is the email protocol used by the account you are setting up access to.Currently only IMAP and POP3 accounts are supported|Questo è il protocollo e-mail utilizzato per l'account che si sta configurando l'accesso. Attualmente solo IMAP e POP3 conti sono supportate| +Email Reply-to Address|Email Indirizzo di risposta| +The email address of the account you are setting up access to.Replies to email messages from the agent interface will read as coming from this address|L'indirizzo e-mail dell'account che si sta impostando l'accesso. Le risposte ai messaggi e-mail tramite l'interfaccia agente leggeranno come provenienti da questo indirizzo| +Email Account Server|Email Account Server| +The email server that the account is housed on|Il server di posta elettronica che l'account è ospitato su| +Email Account User|Email Account Utente| +The login used to access this account.Usually it's the portion of the reply-to address before the -at- symbol|Il login utilizzato per accedere a questo account. Di solito è la parte di indirizzo di risposta prima che la-a-simbolo| +Email Account Password|Email Password account| +The password used to access this account.This is usually set at the time the email account is created|La password utilizzata per accedere a questo account. Questo di solito è fissato al momento l'account e-mail viene creata| +Email Frequency Check Rate (mins)|Email Frequenza Verifica Tasso (min)| +How often this email account should be checked.The highest rate of frequency at the moment is five minutes; some email providers will not allow more than three login attempts in fifteen minutes before locking the account for an indeterminate amount of time|Quanto spesso questo account e-mail deve essere controllato. Il più alto tasso di frequenza al momento è di cinque minuti; alcuni provider di posta non consentono più di tre tentativi di login in quindici minuti prima di bloccare l'account per un periodo di tempo indeterminato| +In-Group ID|ID In-Group| +The In-Group that email messages will be sent to|L'In-Group che i messaggi di posta elettronica verranno inviati al| +Default List ID|Predefinito ID List| +The List ID that leads will be inserted into if necessary|L'ID lista che porta sarà inserito se necessario| +In-Group Call Handle Method|In-chiamata di gruppo maniglia Metodo| +This is the action that will be taken when a new email is found in the account.EMAIL means all email messages will be inserted into vicidial_list as a new lead.EMAILLOOKUP will search the entire vicidial_list table for the email address in the email column - if the lead is found, that lead's list ID will be used in the record that goes into the vicidial_email_list table.EMAILLOOKUPRC does the same, but it will only search lists belonging to the campaign selected in the "In-Group Campaign ID" box below.EMAILLOOKUPRL will only search one particular list, which is the one entered into the "In-Group List ID" box below|Questa è l'azione che verrà eseguita quando una nuova e-mail si trova nel conto. EMAIL: tutti i messaggi di posta elettronica saranno inseriti in vicidial_list come nuovo lead. EMAILLOOKUP cercherà l'intera tabella vicidial_list per l'indirizzo e-mail nella colonna email - se il piombo è trovato, che di piombo lista ID verrà utilizzato nel record che va nella tabella vicidial_email_list. EMAILLOOKUPRC fa lo stesso, ma sarà solo cercare liste appartenenti alla campagna selezionata nella casella "In-Group Campagna ID" di seguito. EMAILLOOKUPRL cercherà solo una lista particolare, che è quello inserito nella casella "A-List Group ID" sotto| +In-Group Agent Search Method|Agente in-Gruppo Ricerca Metodo| +The agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB.|Il metodo di ricerca agente per essere utilizzato dal gruppo in entrata, LO è a carico bilanciato-Overflow e cercherà di inviare la chiamata di un agente sul server locale prima di provare a inviarlo a un agente su un altro server, LB è a carico bilanciato e cercherà di inviare la chiamata all'agente successivo non importa quale server sono connessi, così è solo server e sarà solo provare a inviare le chiamate agli agenti sul server che la chiamata è venuto in su. Il default è LB.| +In-Group List ID|In-Group ID List| +This is the List ID that will be used to search for a match within|Questa è l'ID elenco che verrà utilizzato per la ricerca di una corrispondenza all'interno| +In-Group Campaign ID|In-Group ID campagna| +This is the Campaign ID that will be used to search for a match within|Questa è l'ID campagna che verrà utilizzato per la ricerca di una corrispondenza all'interno| +Group Handling|Handling Group| +COPY EMAIL GROUP|Copia e-mail GRUPPO| +Email Group ID|Email ID gruppo| +Email Group Name|Email Nome gruppo| +Source Email Group ID|Fonte Email ID Gruppo| +Email Accounts|Account di posta elettronica| +Next Agent Email|Prossimo Agente Email| +Start Email URL|Avviare Email URL| +Dispo Email URL|Dispo-mail URL| +No Agent Email URL|Nessun agente Email URL| +EMAIL ACCOUNTS USING THIS IN-GROUP|Account di posta elettronica che utilizzano questo in-group| +EMAIL GROUP NOT ADDED|EMAIL GRUPPO NON AGGIUNTO| +Email group ID must be between 2 and 20 characters in length and contain no|Email ID di gruppo deve essere compresa tra 2 e 20 caratteri e contenere| +Email group name and group color must be at least 2 characters in length|E-mail il nome del gruppo e il colore del gruppo devono essere almeno 2 caratteri| +EMAIL GROUP ADDED|EMAIL gruppo ha aggiunto| +Show Email Accounts|Mostra Account di posta elettronica| +Add A New Account|Aggiungi un nuovo account| +Copy An Account|Copiare un account| +Dialer Email Account fields|Dialer campi dell'account e-mail| +NEW ACCOUNT|NUOVO CONTO| +SUCCESSFULLY CREATED|SUCCESSO CREATO| +All Admin User Groups|Tutti i gruppi di utenti Admin| +ERROR: Inbound emails are not active on this system|ERRORE: messaggi di posta elettronica in entrata non sono attivi su questo sistema| +invalid or null|invalido o nullo| +SUCCESSFULLY MODIFIED|SUCCESSO MODIFICATI| +There was an unknown error when attempting to copy the new account|Si è verificato un errore sconosciuto nel tentativo di copiare il nuovo account| +SUCCESSFULLY COPIED FROM|SUCCESSO copiato da| +source email does not exist|email origine non esiste| +ACCOUNT NOT COPIED|CONTO NON COPIATO| +Copy New Account from Existing Account|Copiare un nuovo account da account esistente| +Account ID to Copy From|ID account da cui copiare| +New Account ID|Nuovo ID account| +New Account Name|Nuovo nome account| +There are no existing accounts to copy from|Non ci sono conti esistenti per copiare da| +The data you submitted has the following errors|I dati da Lei presentato ha i seguenti errori| +ACCOUNT NOT INSERTED|CONTO NON INSERITA| +ADD NEW INBOUND EMAIL ACCOUNT|AGGIUNGI NUOVO ACCOUNT EMAIL INBOUND| +CONFIRM DELETION OF INBOUND EMAIL ACCOUNT|Confermare l'eliminazione INBOUND email dell'account| +Click to delete account|Fare clic per eliminare l'account| +ACCOUNT NOT UPDATED|CONTO NON AGGIORNATO| +UPDATE AN EXISTING INBOUND EMAIL ACCOUNT|Aggiornare una esistente INBOUND email dell'account| +INBOUND EMAIL ACCOUNT LISTINGS|INBOUND EMAIL Annunci account| +UNREAD EMAILS|Mail non lette| +Un-handled Emails|Messaggi di posta elettronica non-trattati| +Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system|Impostare questo a ingroup invierà una segreteria telefonica a un gruppo in entrata. Impostare questo a CALLMENU invierà una segreteria telefonica a una chiamata del menu nel sistema| +AMD send to Action|AMD invia ad azione| +This option allows you to define whether a call is sent to the AMD Action when an answering machine is detected. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N|Questa opzione consente di definire se una chiamata viene inviata al Azione AMD quando viene rilevata una segreteria telefonica. Se questo è impostato a N, allora la chiamata sarà appeso appena viene determinata essere una segreteria telefonica. Il default è N| +AMD Inbound Group|AMD Inbound Gruppo| +If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected|Se CPD AMD azione è impostata su ingroup, allora questo è il gruppo in ingresso che la chiamata verrà inviata se viene rilevata una segreteria telefonica| +AMD Call Menu|AMD chiamata Menu| +If CPD AMD Action is set to CALLMENU, then this is the Call Menu that the call will be sent to if an answering machine is detected|Se CPD AMD azione è impostata su CALLMENU, allora questo è il menu del registro chiamate che la chiamata verrà inviata se viene rilevata una segreteria telefonica| +Level 8 Disable Add|Livello 8 Disattiva Aggiungi| +This setting if enabled will prevent any level 8 user from adding or copying any record in the system, no matter what their user settings are. Excluded from these restrictions are the ability to add DNC and Filter Phone Groups numbers and the Add a New Lead page. Default is 0 for disabled|Questa impostazione, se attivata impedisce qualsiasi livello 8 all'utente di aggiungere o copiare qualsiasi record nel sistema, non importa ciò che i loro impostazioni utente sono. Sono escluse da queste restrizioni sono la possibilità di aggiungere i numeri di telefono DNC e filtro Gruppi e la pagina Aggiungi un nuovo piombo. Il default è 0 per disabili| +You do not have permission to add records on this system|Non si dispone dell'autorizzazione per aggiungere record su questo sistema| +These options allows you to limit the viewable callbacks in the agent callback alert section on the agent screen, to only LIVE callbacks.LIVE callbacks are user-only scheduled callbacks that have hit their trigger date and time. ACTIVE call backs are user-only callbacks that are active in the system but have not yet triggered.You can view both ACTIVE and LIVE callbacks by selecting ALL_ACTIVE.Default is ALL_ACTIVE|Queste opzioni consentono di limitare i callback visualizzabili nella sezione avviso callback agente sullo schermo agente, a vivere solo callback. Callback LIVE sono utente di sola callback in programma che hanno colpito la loro data e l'ora di attivazione. Richiamate ACTIVE sono user-only callback che sono attive nel sistema, ma non hanno ancora attivato. È possibile visualizzare le richiamate sia attiva e diretta selezionando ALL_ACTIVE. Il default è ALL_ACTIVE| +VICIDIAL ADMIN REPORT LOG|VICIDIAL ADMIN rapporto di registro| +VICIDIAL USER ADMIN REPORT LOG|VICIDIAL utente admin rapporto di registro| +VICIDIAL DETAIL ADMIN REPORT LOG|VICIDIAL DETTAGLIO ADMIN rapporto di registro| +ADMIN REPORT LOG|ADMIN rapporto di registro| +Admin Report Log Viewer|Admin Report Log Viewer| +Survey Wait Seconds|Indagine Attendere Secondi| +This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds|Questo è il numero di secondi in modalità Survey attesa del sistema per l'ingresso da parte della persona chiamata fino a quando scatta l'indagine o azione goccia. Non si applica se il metodo di indagine è CHIUDI. Predefinito è di 10 secondi| +You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details|Puoi aggiungere NOINT direttamente di fronte a un nome di file audio per fare in modo che la riproduzione non può essere interrotta premendo un tasto dal chiamante, il NOINT non dovrebbe essere una parte del nome del file, è una bandiera speciale per il sistema. Si può anche utilizzare per usi speciali. Agi script in questo settore, così come la sceneggiatura cm_date.agi, discutere con l'amministratore per maggiori dettagli| +DROP will drop the call using the campaign drop method but still log the call as a PM played message status|GOCCIA lascerà cadere la chiamata utilizzando il metodo della caduta di campagna ma comunque accedere la chiamata come un PM giocato stato del messaggio| +Quality Control|Controllo di qualità| +Source User|Fonte utente| +>Admin<|> Admin <| +Campaign Call Date|Campagna Chiama Data| +Lead Recycling|Piombo Riciclaggio| +Day outbound call count for this campaign|Giorno in uscita conteggio delle chiamate per questa campagna| +State rules defined for this call time|Norme statali definite per questa volta chiamata| +in seconds|in secondi| +Agent Display Dialable Leads|Agente di visualizzazione Leads componibile| +Agent Display Queue Count|Agente Conteggio display coda| +Manual Dial Filter|Selezione manuale Filtro| +Agent Call Re-Queue Button|Chiamate agente Button Riaccoda| +LEADS COUNT|CAVI COUNT| +number:|numero:| +server:|server:| +audio chooser|audio chooser| +voicemail chooser|voicemail chooser| +FILTER ID|FILTRO ID| +FILTER NAME|Nome filtro| +Show Email Groups|Mostra Email Gruppi| +Email Accounts|Account di posta elettronica| +CallCard Admin|CallCard Admin| + Contacts | Contatti | +We STRONGLY recommend uploading only 16bit Mono 8k PCM WAV audio files|Raccomandiamo vivamente di 16bit file audio caricamento Mono 8k WAV PCM| +All spaces will be stripped from uploaded audio file names|Tutti gli spazi saranno rimossi dai nomi dei file audio caricati | +ERROR: Default value cannot be longer than maximum field length|errore: il valore predefinito non può essere più lungo di massima lunghezza del campo| diff --git a/agc_2-X/trunk/translations/jp_language.txt b/agc_2-X/trunk/translations/jp_language.txt new file mode 100644 index 00000000..722a6126 --- /dev/null +++ b/agc_2-X/trunk/translations/jp_language.txt @@ -0,0 +1,645 @@ +# jp_language.txt - this file is for the internationalization of the astGUIclient +# client web pages. The associated install.pl file will take the language as an +# argument and alter the php scripts to the language typed in the command line: +# example: ./config.pl --language=es +# current languages in the file: +# - English - (en) no alterations +# - Japanese - (jp) first column +***LANGUAGES*** +en-English|jp-日本語| +***FILES*** +agc|astguiclient.php|0 +agc|vicidial.php|0 +agc|vdc_db_query.php|0 +agc|manager_send.php|0 +agc|conf_exten_check.php|0 +agc|inbound_popup.php|0 +agc|active_list_refresh.php|0 +agc|park_calls_display.php|0 +agc|live_exten_check.php|0 +agc|call_log_display.php|0 +agc|voicemail_check.php|0 +agc|dbconnect.php|1 +agc|timeclock.php|0 +agc|vdc_script_display.php|1 +agc|vdc_script_notes.php|0 +agc|functions.php|1 +agc|vdc_form_display.php|1 +agc|calendar.css|1 +agc|calendar_db.js|0 +agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 +***TRANSLATIONS*** +### special translations that should stay at the top of the file ### +"JAN"|"1月"| +"FEB"|"2月"| +"MAR"|"3月"| +"APR"|"4月"| +"MAY"|"5月"| +"JUN"|"6月"| +"JLY"|"7月"| +"AUG"|"8月"| +"SEP"|"9月"| +"OCT"|"10月"| +"NOV"|"11月"| +"DEC"|"12月"| +\./images/|../agc/images/| +css/|../agc/css/| +BORDER|Border| +VALUE=SUBMIT|VALUE=SUBMIT| +TYPE=SUBMIT|TYPE=Submit| +MAXLENGTH|maxlength| +### BEGIN translation phrases through 1.1.11 release ### +English|英語| +agc_live_call_DEAD.gif|agc_live_call_DEAD_jp.gif| +agc_live_call_OFF.gif|agc_live_call_OFF_jp.gif| +agc_live_call_ON.gif|agc_live_call_ON_jp.gif| +vdc_LB_customxfer_OFF.gif|vdc_LB_customxfer_OFF_jp.gif| +vdc_LB_customxfer.gif|vdc_LB_customxfer_jp.gif| +vdc_LB_dialnextnumber_OFF.gif|vdc_LB_dialnextnumber_OFF_jp.gif| +vdc_LB_dialnextnumber.gif|vdc_LB_dialnextnumber_jp.gif| +vdc_LB_grabivrparkcall_OFF.gif|vdc_LB_grabivrparkcall_OFF_jp.gif| +vdc_LB_grabivrparkcall.gif|vdc_LB_grabivrparkcall_jp.gif| +vdc_LB_grabparkedcall_OFF.gif|vdc_LB_grabparkedcall_OFF_jp.gif| +vdc_LB_grabparkedcall.gif|vdc_LB_grabparkedcall_jp.gif| +vdc_LB_hangupcustomer_OFF.gif|vdc_LB_hangupcustomer_OFF_jp.gif| +vdc_LB_hangupcustomer.gif|vdc_LB_hangupcustomer_jp.gif| +vdc_LB_ivrparkcall_OFF.gif|vdc_LB_ivrparkcall_OFF_jp.gif| +vdc_LB_ivrparkcall.gif|vdc_LB_ivrparkcall_jp.gif| +vdc_LB_parkcall_OFF.gif|vdc_LB_parkcall_OFF_jp.gif| +vdc_LB_parkcall.gif|vdc_LB_parkcall_jp.gif| +vdc_LB_pause_OFF.gif|vdc_LB_pause_OFF_jp.gif| +vdc_LB_pause.gif|vdc_LB_pause_jp.gif| +vdc_LB_quickxfer_OFF.gif|vdc_LB_quickxfer_OFF_jp.gif| +vdc_LB_quickxfer.gif|vdc_LB_quickxfer_jp.gif| +vdc_LB_requeue_call_OFF.gif|vdc_LB_requeue_call_OFF_jp.gif| +vdc_LB_requeue_call.gif|vdc_LB_requeue_call_jp.gif| +vdc_LB_resume_OFF.gif|vdc_LB_resume_OFF_jp.gif| +vdc_LB_resume.gif|vdc_LB_resume_jp.gif| +vdc_LB_senddtmf_OFF.gif|vdc_LB_senddtmf_OFF_jp.gif| +vdc_LB_senddtmf.gif|vdc_LB_senddtmf_jp.gif| +vdc_LB_startrecording_OFF.gif|vdc_LB_startrecording_OFF_jp.gif| +vdc_LB_startrecording.gif|vdc_LB_startrecording_jp.gif| +vdc_LB_stoprecording_OFF.gif|vdc_LB_stoprecording_OFF_jp.gif| +vdc_LB_stoprecording.gif|vdc_LB_stoprecording_jp.gif| +vdc_LB_webform_OFF.gif|vdc_LB_webform_OFF_jp.gif| +vdc_XB_blindtransfer.gif|vdc_XB_blindtransfer_jp.gif| +vdc_XB_channel.gif|vdc_XB_channel_jp.gif| +vdc_XB_code.gif|vdc_XB_code_jp.gif| +vdc_XB_contactsbutton.gif|vdc_XB_contactsbutton_jp.gif| +vdc_XB_dialwithcustomer_OFF.gif|vdc_XB_dialwithcustomer_OFF_jp.gif| +vdc_XB_hangupbothlines_OFF.gif|vdc_XB_hangupbothlines_OFF_jp.gif| +vdc_XB_hangupxferline_OFF.gif|vdc_XB_hangupxferline_OFF_jp.gif| +vdc_XB_header.gif|vdc_XB_header_jp.gif| +vdc_XB_hotkeysactive_OFF.gif|vdc_XB_hotkeysactive_OFF_jp.gif| +vdc_XB_hotkeysactive.gif|vdc_XB_hotkeysactive_jp.gif| +vdc_XB_internalcloser_OFF.gif|vdc_XB_internalcloser_OFF_jp.gif| +vdc_XB_internalcloser.gif|vdc_XB_internalcloser_jp.gif| +vdc_XB_leave3waycall_OFF.gif|vdc_XB_leave3waycall_OFF_jp.gif| +vdc_XB_leave3waycall.gif|vdc_XB_leave3waycall_jp.gif| +vdc_XB_localcloser_OFF.gif|vdc_XB_localcloser_OFF_jp.gif| +vdc_XB_localcloser.gif|vdc_XB_localcloser_jp.gif| +vdc_XB_number.gif|vdc_XB_number_jp.gif| +vdc_XB_parkcustomerdial_OFF.gif|vdc_XB_parkcustomerdial_OFF_jp.gif| +vdc_XB_parkcustomerdial.gif|vdc_XB_parkcustomerdial_jp.gif| +vdc_XB_presetsbutton.gif|vdc_XB_presetsbutton_jp.gif| +vdc_XB_seconds.gif|vdc_XB_seconds_jp.gif| +vdc_LB_transferconf_OFF.gif|vdc_LB_transferconf_OFF_jp.gif| +vdc_LB_transferconf.gif|vdc_LB_transferconf_jp.gif| +vdc_LB_webform.gif|vdc_LB_webform_jp.gif| +vdc_LB_webform_two_OFF.gif|vdc_LB_webform_two_OFF_jp.gif| +vdc_LB_webform_two.gif|vdc_LB_webform_two_jp.gif| +vdc_XB_hangupbothlines.gif|vdc_XB_hangupbothlines_jp.gif| +vdc_tab_form.gif|vdc_tab_form_jp.gif| +vdc_tab_script.gif|vdc_tab_script_jp.gif| +vdc_XB_blindtransfer_OFF.gif|vdc_XB_blindtransfer_OFF_jp.gif| +vdc_XB_dialwithcustomer.gif|vdc_XB_dialwithcustomer_jp.gif| +vdc_XB_hangupxferline.gif|vdc_XB_hangupxferline_jp.gif| +vdc_volume_MUTE.gif|vdc_volume_MUTE_jp.gif| +vdc_volume_UNMUTE.gif|vdc_volume_UNMUTE_jp.gif| +You have now logged out. Thank you|今、ログアウトしています。ありがとうございました。| +astGUIclient web-client VERSION|astGUIclient web-クライアントバージョン| +astGUIclient web client|astGUIclient webクライアント| +VICIDIAL web client|VICIDIAL webクライアント| +VICIDIAL web-client version|VICIDIAL web-クライアントバージョン| +You can only monitor Zap channels|Zapチャンネルのみ監視できます。| +Stop Record|記録を停止する。| +you are logged into this phone|この電話にログインしています。| +Back to Main Window|メインウィンドウに戻る| +LIVE CALLS ON THIS PHONE|この電話でライブで呼び出す。| +LIVE CALLS IN THIS CONFERENCE|この会議でライブで呼び出す。| +LIVE CALL TRANSFER|ライブの電話転送| +CLIENT CHANNEL|クライアントチャンネル| +REMOTE CHANNEL|遠隔チャンネル| +CLICK HERE TO LOG IN AGAIN|ここをクリックして再度ログインする。| +ACTIVE DISPLAY PAUSED|アクティブディスプレイを一時停止する。| +Main Panel|メインパネル| +Active Lines Panel|アクティブラインパネル| +Conferences Panel|会議パネル| +Check Voicemail|ボイスメールをチェックする。| +Live Call|ライブの電話| +Hangup Trunk|ハングアップトランク| +Hijack Trunk|ハイジャックトランク| +Listen Trunk|リッスントランク| +Active Local Menu|アクティブローカルメニュー| +Hangup Local|ハングアップローカル| +Hijack Local|ハイジャックローカル| +Listen Local|リッスンローカル| +Channel to be transferred|転送されるチャンネル| +Extensions Menu|内線メニュー| +Send to selected extension|選択内線へ送信| +Send to selected vmail box|選択ボイスメールボックスへ送信| +Send to this number|この番号に送信| +click on a number below to send to a conference|会議に送信するために以下の番号をクリックする。| +Send my channel too|私のチャンネルも送信する。| +Conferences Menu|会議メニュー| +LOCAL Extensions Dial|ローカル内線ダイアル| +Phone calling from|電話呼び出し| +Call selected extension|選択内線に電話する| +Call selected vmail box|選択ボイスメールボックスに電話する| +LOCAL DIAL EXTENSIONS|ローカルダイアル内線| +OUTBOUND CALLS|外部への電話| +INBOUND CALLS|内部への電話| +Refresh rate|リスレッシュレート| +MANUAL DIAL|マニュアルダイアル| +CALL DATE\/TIME|日付\/時刻に電話する| +LOCAL HANGUP|ローカルハングアップ| +PARKED CALLS|保留電話| +PARKED BY|保留者| +PARKED TIME|保留時間| +Registered to|へ登録された| +Enter Conference|会議に入る| +Dial From Conf|会議からダイヤルする| +Active Extensions|有効な内線| +Outside Lines|外線| +Local Extensions|ローカル内線| +Data Goes Here|データはここを通ります。| +Trunk Action|トランクアクション| +Local Action|ローカルアクション| +Conferences List|会議リスト| +Click on a conference room number on the left for info on that conference|その会議での情報については、左側の会議ルーム番号をクリックしてください。| +List Display|リスト表示| +Live Extensions|ライブ内線| +Busy Extensions|話し中の内線| +Outside Lines|外線| +script runtime|スクリプトの実行時間| +Call Log Display|電話ログ表示| +is not valid|有効ではない| +or protocol|またはプロトコル| +Conf Extension Check|会議内線チェック| +has been registered to|登録されています| +LIVE INBOUND CALL|ライブ内部向け電話| +Number Dialed|ダイアルした番号| +SEND TO MY VOICEMAIL|マイボイスメールに送信する| +Live Extension Check|ライブ内線チェック| +Manager Send|マネージャーが送信する| +command not inserted|挿入されていないコマンド| +command sent for|送信されたコマンド| +One of these variables|これらの変数の1つ| +must be greater than 2 characters|2文字以上でなければなりません。| +must be greater than 14 characters|14文字以上でなければなりません。| +must be set|送信されなければなりません。| +not sent|送信されない| +Cannot find empty conference|空の会議を見つけることができません。| +is not live|ライブではない| +RECORDING WILL LAST UP TO 60 MINUTES|録音は最大60分まで続きます。| +Parked Calls Display|保留中の電話表示| +Database Query Script|データベースクエリースクリプト| +Group Choice|グループ選択| +has been registered to user|ユーザに登録されています| +HOPPER EMPTY|ホッパーが空です| +LOG NOT ENTERED|ログが入力されていません| +has been changed to|変更されています| +information has been updated|情報は更新されました| +is now in status|今、状態です| +Voicemail Check|ボイスメールチェック| +voicemail box|ボイスメールボックス| +Re-Login|再ログイン| +User Password|ユーザパスワード| +User Login|ユーザログイン| +Phone Login|電話ログイン| +Phone Password|電話パスワード| +Campaign not active, please try again|キャンペーンがアクティブではありません。再度試してください。| +Login incorrect, please try again|ログインが間違っています。再度試してください。| +Campaign Login|キャンペーンログイン| +Sorry, your phone login and password are not active in this system, please try again|すみません。あなたの電話ログインとパスワードはこのシステムでアクティブではありません。再度試してください。| +leads left to call in hopper|ホッパーを呼ぶために残された見込み客| +CAMPAIGN CUSTOM PARKING|キャンペーンカスターム保留| +CAMPAIGN DEFAULT PARKING|キャンペーンデフォルト保留| +CAMPAIGN CUSTOM WEB FORM|キャンペーンカスタムウェブフォーム| +CAMPAIGN DEFAULT WEB FORM|キャンペーンデフォルトウェブフォーム| +CAMPAIGN ALLOWS CLOSERS|キャンペーンはクローザーを許可します。| +CAMPAIGN ALLOWS NO CLOSERS|キャンペーンはクローザーを許可しません。| +USING PREVIOUS MEETME ROOM|前回のMEETMEルームを使用する| +USING NEW MEETME ROOM|新たなMEETMEルームを使用する| +old QUEUE and INCALL reverted list|古いキューとインコールがリストを戻しました。| +old QUEUE and INCALL reverted hopper|古いキューとインコールがホッパーを戻しました。| +old vicidial_live_agents records cleared|古いvicidial_live_agentsの記録が消去されました。| +campaign is set to auto_dial_level|キャンペーンはauto_dial_levelに設定されています。| +new vicidial_live_agents record inserted|新たなvicidial_live_agentsレコードが挿入されています。| +campaign is set to manual dial|キャンペーンはマニュアルダイアルに設定されています。| +Sorry, there are no leads in the hopper for this campaign|すみませんが、このキャンペーンへのホッパーにおける見込み客がありません。| +Dial Next Number|次の番号をダイアルする| +LIVE CALLS IN YOUR SESSION|あなたのセッションでライブコール| +Stop Recording|記録を停止する| +Start Recording|記録を開始する| +Transfer number must have more than 1 digit|トランスファー番号は1桁以上でなければなりません| +Grab Parked Call|保留電話を取る| +Park Call|電話保留する| +Waiting for Ring|電話が鳴るのを待つ| +Called 3rd party|呼び出されたサードパーティ| +LEAVE 3-WAY CALL|3方向の電話から出る| +Dial With Customer|顧客とダイアルする| +Park Customer Dial|顧客ダイアルを保留する| +Hangup Xfer Line|Xferラインを停止させる| +Hangup Both Lines|両方のラインを停止させる| +Hangup Customer|顧客を停止させる| +Transfer - Conference|トランスファー-会議| +LOCAL CLOSER|ローカルクローザー| +INTERNAL CLOSER|内部クローザー| +Dial Blind Transfer|ブラインドトランスファーをダイアルする| +Dial timed out, contact your system administrator|ダイアル時間切れです。システク管理者にご連絡ください。| +No more leads in the hopper for campaign|キャンペーン用のホッパーにおける見込み客はありません。| +Web Form|ウェブフォーム| +You Must Select a Disposition|配置を選ばなければなりません。| +GROUPS NOT SELECTED|グループが選択されていません。| +SELECTED GROUPS|選択されたグループ| +You cannot log out during a Dial attempt|ダイアル中にログアウトすることはできません。| +Wait 50 seconds for the dial to fail out if it is not answered|返事がなければ、ダイアルを切るのに50秒待ってください。| +STILL A LIVE CALL! Hang it up then you can log out|未だにライブコール!ログアウトできる時に電話を切る| +Hide conference call channel information|会議コールチャンネル情報を隠す| +Show conference call channel information|会議コールチャンネル情報を表示する| +Logged in as User|ユーザとしてログインしました| +No one is in your session|誰もあなたのセッションにいません| +Customer has hung up|顧客が電話を切りました。| +End-of-call Disposition Selection|End-of-call配置の選択| +CLOSER INBOUND GROUP SELECTION|クローザー内部向けグループ選択| +Closer Inbound Group Selection|クローザー内部向けグループ選択| +BLENDED CALLING|混合コーリング| +outbound activated|外部向けが有効化| +Preview the Lead then|その時の見込み客をプレビューする| +Lead was not reverted, there was an error|見込み客は戻されませんでした。エラーがありました。| +call was not placed, there was an error|電話がかかっていません。エラーがありました。| +Number to call|電話番号| +Customer Information|顧客情報| +Lead Dispositioned As|として配置された見込み客| +Any changes made to the customer information below at this time will not be comitted, You must change customer information before you Hangup the call|今回以下の顧客情報の変更は行われません。電話を切る前に顧客情報を変更しなければなりません。| +When active, simply press the keyboard key for the desired disposition for this call. The call will then be hungup and dispositioned automatically|アクティブな時は、この電話に対して希望する配置のキーボードのキーを単に押してください。電話はその時切れ、自動的に配置されます。| +Disposition Hot Keys|ホットキーを配置する| +Cust Time|顧客の時間| +RECORD ID|IDを記録する| +RECORDING FILE|ファイルを記録する| +HOT KEYS ACTIVE|有効なホットキー| +HOT KEYS INACTIVE|無効なホットキー| +DIAL OVERRIDE|ダイアル優先| +SKIP LEAD|見込み客をスキップする| +DIAL LEAD|見込み客にダイアルする| +LEAD PREVIEW|見込み客プレビュー| +PAUSE AGENT DIALING|エージェントダイアルを一時停止| +DISPOSITION CALL|コールを配置する| + session ID| セッションID| + to campaign| キャンペーンへ| +Select a CallBack Date|電話のかけ直しの日付を選ぶ| + maximize | 最大化| + minimize | 最小化| +You must choose a date|日付を選ばなければなりません。| +Select a Date Below|以下の日付を選ぶ| +Click on a callback below to call the customer back now. If you click on a record below to call it, it will be removed from the list|今、顧客に電話をかけ直すために以下のコールバックをクリックしてください。電話するために以下の記録をクリックすれば、それはリストから削除されます。| +If you want to dial a number and have it NOT be added as a new lead, enter in the exact dialstring that you want to call in the Dial Override field below. To hangup this call you will have to open the CALLS IN THIS SESSION link at the bottom of the screen and hang it up by clicking on its channel link there|番号をダイアルしたいが、新たな見込み客として追加したくない場合、以下のダイアル優先欄に電話したいと思う正確なダイアル文字を入力してください。この電話を切るには、画面下のこのセッションリンク内の電話を開き、そこのチャンネルリンクをクリックし、電話を切らなければなりません。| +YOU CANNOT SKIP A CALLBACK OR MANUAL DIAL, YOU MUST DIAL THE LEAD|かけ直しやマニュアルダイアルをスキップすることができません。見込み客にダイアルしなければなりません。| +YOU MUST BE PAUSED TO MANUAL DIAL A NEW LEAD IN AUTO-DIAL MODE|自動ダイアルモードで新たな見込み客にマニュアルダイアルするには一時停止しなければなりません。| +Enter information below for the new lead you wish to call|電話したいと思う新たな見込み客に対しては以下の情報を入力してください。| +YOU MUST BE PAUSED TO CHECK CALLBACKS IN AUTO-DIAL MODE|自動ダイアルモードでの電話のかけ直しを確認するには一時停止しなければなりません。| +Note: all new manual dial leads will go into list|注:全ての新たなマニュアルダイアルの見込み客はリストに入ります。| +YOU DO NOT HAVE PERMISSIONS TO TRANSFER CALLS|電話を転送するための許可がありません。| +will be added to the beginning of this number|この番号の最初に追加されます。| +This is usually a 1 in the USA-Canada|これは通常、米国とカナダでの1です。| +NEW MANUAL DIAL LEAD FOR|のための新たなマニュアルダイアルの見込み客| +Finish and Disposition Call|電話を終え、配置する| +10 digits max - digits only|最大10桁-電話番号のみ| +Note: a dial prefix of|注:ダイアル局番| +Hangup Again|再度、電話を切る| +Go Back|戻る| +Call Agent Again|再度エージェントに電話する| +MY CALLBACK ONLY|マイ・コールバックのみ| +NO ACTIVE CALLBACKS|有効なコールバックはない| +ACTIVE CALLBACKS|有効なコールバック| +CALLBACKS FOR AGENT|エージェント用のコールバック| +Dial Code:|ダイアルコード:| +Dial Override|ダイアル優先| +digits only please|電話番号のみです| +Dial Now|今、ダイアルしてください| +CB Comments|CBコメント| + Title| タイトル| +Your Status|あなたのステータス| + STATUS| ステータス| + RESET| リセット| +CLEAR FORM|クリアフォーム| +SUBMIT|送信| +Incoming|入ってくる| +Calling|呼び出し| +Called|呼ばれた| +Campaign|キャンペーン| +>Status|>ステータス| +Inserted|挿入済み| + seconds| 秒| + Login | ログイン| +Login:|ログイン:| +User |ユーザ| +Password|パスワード| +VERSION|バージョン| +BUILD|ビルド| +Server|サーバ| +RECORD |記録| +>HANGUP|>電話を切る| +>XFER|>XFER| +IN-NUMBER|インナンバー| +NUMBER|番号| +CALLERID|呼び出し者ID| + CALL| 電話| +PICKUP|電話を取る| +CONFERENCE|| +Refresh|再読み込み| +Send DTMF|DTMFを送信| +>ORDER|>オーダー| + on | オン| +>LOGOUT|>ログアウト| + Channel| チャンネル| +Extensions|内線| +Conferences|会議| +Conference|会議| + Recording| 記録する| +Welcome |ようこそ | +VOICEMAIL|ボイスメール| + NEW| 新| + OLD| 旧| + Pause | 一時停止| +Resume|再開| +Faster|より速く| +Slower|より遅く| +Initializing|初期化中| +Invalid|無効| +Username|ユーザ名| +Notes:|注:| +First|最初| +MI: |MI:| +Last |最後 | +Address|住所| +City|市町村| + State| 都道府県| +PostCode|郵便番号| +Province|都道府県| +Vendor ID|ベンダーID| +DialCode|ダイアルコード| +Alt. Phone|代替電話| + Email| メール| +Show|示す| + Comments| コメント| +REFRESH|再読み込み| +ALT PHONE DIAL|代替電話ダイヤル| +MAIN PHONE|主電話| +ALT PHONE|代替電話| +ADDRESS3|住所3| +FINISH LEAD|見込み客を終える| +Dial Alt Phone Number|代替電話番号をダイアルする| +Phone|電話| + DIAL| ダイアル| +SUBMIT FAVORITES CHANGES - requires logout|お気に入りの変更を送信する-要ログアウト| +BACK TO MAIN WINDOW - ignore changes made|メインウィンドウに戻る-変更を無視する| +AVAILABLE EXTENSIONS|提供されている内線| + edit| 編集| + FAVORITES| お気に入り| +Search Existing Leads|既存の見込み客を検索| +This option if checked will attempt to find the phone number in the system before inserting it as a new lead|このオプションがチェックされてる場合、新たな見込み客としてそれを挿入する前にシステム内で電話番号を見つけようとします。| +Finish Wrapup and Move On|まとめを終え、続けてください。| +seconds remaining in wrapup|秒がまとめに残っています。| +Call Wrapup:|まとめを呼び出す:| +January|1月| +Frebruary|2月| +March|3月| +April|4月| +May|5月| +June|6月| +July|7月| +August|8月| +September|9月| +October|10月| +November|11月| +December|12月| +Previous Callback Information|前のコールバック情報| +Last Call: |最後の電話ll:| +CallBack: |コールバック:| +Agent: |エージェント:| +Comments: |コメント:| +VOLUME|量| +FAST DIAL|高速ダイヤル| +YOU MUST ENTER A PHONE NUMBER AND DIAL CODE TO USE FAST DIAL|高速ダイヤルを使用するには電話番号とダイヤルコードを入力しなければなりません。| + SELECT A PAUSE CODE :|一時停止コードを選んでください:| +ENTER A PAUSE CODE|一時停止コードを選んでください| +YOU MUST BE PAUSED TO ENTER A PAUSE CODE IN AUTO-DIAL MODE|自動ダイアルモードで一時停止コードを入力するには一時停止しなければなりません。| +Your session has been disabled|あなたのセッションは無効になりました。| +Gender: |性別:| +Date of Birth: |誕生日:| +YOU MUST BE PAUSED TO CHANGE GROUPS|グループを変更するには一時停止しなければなりません。| +Calls in Queue:|列になっている電話:| + Timeclock| タイムクロック| +The user and password you entered are not active in the system|入力したユーザ名とパスワードはこのシステム内では有効ではありません。| +Please try again|再度、お試しください。| +You cannot log in or out within 30 seconds of your last login or logout|最後にログインまたはログアウトの30秒以内にログインまたはログアウトすることができません。| +You have now logged-out|今、ログアウトしました。| +You logged out at |でログアウトしました。| +Amount of time you were logged-in: |ログインしていた時間:| +ERROR: timeclock log entry already made: |エラー:タイムクロックログ入力がすでに行われました:| +BACK to Agent Login Screen|エージェントログイン画面に戻る| +BACK to Administration|管理に戻る| +BACK to Welcome Screen|ようこそ画面に戻る| +Time since you were last logged-in: |最後にログインしてからの時間:| +You last logged-out at: |以下の時間に最後にログアウトしました:| +Click LOGIN below to log-in|ログインするために以下のログインをクリックする| +Amount of time you have been logged-in: |ログインしていた時間:| +You logged-in at:|以下の時間にログインしました:| +Click LOGOUT below to log-out|ログアウトするために以下のログアウトをクリックする| +Undefined|不明確| +This phone number is not in the campaign lists|この電話番号はキャンペーンリストにありません。| +Unspecified error|特定されないエラー| +Extended Alt Phone Information: |拡張された代替電話情報:| +ALT DIAL NUMBER:|代替ダイヤル番号:| +Phone Code and Number:|電話コードと番号:| +Notes: |注:| +Active: |有効:| +Alt Count: |代替カウント:| +Change this phone number to INACTIVE|この電話番号を無効に変更する| +Change this phone number to ACTIVE|この電話番号を有効に変更する| +YOU MUST LOG IN TO THE TIMECLOCK FIRST|最初にタイムクロックにログインしなければなりません。| +There is a time synchronization problem with your system, please tell your system administrator|あなたのシステムとは時間の同期化の問題があります。システム管理者に連絡してください。| +Preview Call|プレビューコール| +SELECT A GROUP ALIAS|グループエイリアスを選んでください。| +Group Alias Selection|グループエイリアス選択| +Click Here to Choose a Group Alias|グループエイリアスを選ぶためにここをクリックしてください。| +Group Alias|グループエイリアス| +ERROR: There are no Shifts enabled for your user group|エラー:あなたのユーザグループに有効化されたシフトはありません。| +ERROR: You are not allowed to log in outside of your shift|エラー:あなたのシフトの外部にログインすることは許可されていません。| +MANAGER OVERRIDE|マネージャー優先| +Your Shift is over or has changed, you have been logged out of your session|あなたのシフトは終わっているか、変更しています。自分のセッションからログアウト済みです。| +You are not allowed to dial into other agent sessions|他のエージェントセッションにダイアルすることは許可されていません。| +QUICK TRANSFER|クイック転送| +Other Agents Status|他のエージェントのステータス| +Available Agents Transfer|提供されているエージェントの転送| +Show Calls In Queue|列になっている電話を示す| +Calls In Queue|列になっている電話| +Hide Calls In Queue|列になっている電話を隠す| +Calls in Queue View Disabled for this campaign|このキャンペーンに対し無効になっている列になっている電話ビュー| +YOU MUST BE PAUSED TO GRAB CALLS IN QUEUE|列になっている電話を捉えるためには一時停止しなければなりません。| +Manager |マネージャー| +has selected your in-group choices|あなたのグループ内選択を選びました。| +CONSULTATIVE|助言に関する| +Close Message|メッセージを閉じる| +TIMER NOTIFICATION|タイマー通知| +login_language=en_us|ログイン_言語=en_us| +>AGENTS<|>エージェント<| +VIEW CALL LOG|コールログを見る| +click to dial|ダイアルするためにクリックする| +Close Call Log|コールログを閉じる| +YOU MUST BE PAUSED TO VIEW YOUR CALL LOG|あなたのコールログを見るために一時停止しなければなりません。| +Close Info Box|クローズ情報ボックス| +No calls on this day|この日には電話がありません。| +You are in ALT dial mode, you must finish the lead before logging out|あなたは代替ダイヤルモードです。ログアウトする前に見込み客を終えなければなりません。| +Presets Button|プリセットボタン| +SELECT A PRESET|プリセットを選ぶ| +Customer Hung-up, 3-way Call Ended Automatically|顧客が電話を切りました。自動的に3方向電話が終了しました。| +Manual Dial Queue Calls Waiting|マニュアルダイヤル列の電話が待機中| +Manual Queue|マニュアルの列| +This phone number is outside of the local call time|この電話番号はローカル電話時間外です。| +Manual Queue is Off|マニュアル列はオフです。| +Manual Queue is On|マニュアル列はオンです。| +Call Notes:|電話メモ:| +Call Notes List|電話メモリスト| +view notes|メモを見る| +CALL NOTES LOG|電話メモログ| +Close Call Notes|電話メモを閉じる| +CALL LOG FOR THIS LEAD|この見込み客に対する電話ログ| +SEARCH FOR A LEAD|見込み客を検索| +SEARCH RESULTS|検索結果| +YOU MUST BE PAUSED TO SEARCH FOR A LEAD|見込み客を検索するには一時停止しなければなりません。| +Notes: when doing a search for a lead, the phone number, lead ID or|注:見込み客を検索する時、電話番号、見込み客IDまたは| +are the best fields to use|使用するのに最も良い欄| +Using the other fields may be slower. Lead searching does not allow for wildcard or partial search terms|他の欄を使用すると遅くなる場合があります。見込み客検索はワイルドカードや部分的な検索条件は居されていません。| +Lead search requests are all logged in the system|見込み客検索依頼はシステム内で全て記録されています。| +Main Phone Number|主電話番号| +Alternate Phone Number|代替電話番号| +Address3 Phone Number|住所3電話番号| +No results found|結果が見つかりません。| +Results Found:|結果が見つかりました。| +No calls found|電話がありません。| +reset form|リセットフォーム| +Callback Status|コールバックステータス| +Callback Lead Status|コールバック見込み客ステータス| +Callback Entry Time|コールバックエントリー時間| +Callback Trigger Time|コールバックトリガー時間| +Callback Comments|コールバックコメント| +To see information on one of the callbacks below, click on the INFO link. To call the customer back now, click on the DIAL link. If you click on a record below to dial it, it will be removed from the list|以下の1つのコールバックにある情報を見るには、情報リンクをクリックしてください。今、顧客に電話をかけ直すためには、ダイヤルリンクをクリックしてください。電話するために以下の記録をクロックすると、それはリストから削除されます。| +rings all available agents until one picks up the phone|電話を取るまで全ての利用できるエージェントに電話します。| +No calls for this lead|この見込み客への電話はありません。| +Time Zone Warning|タイムゾーン警告| +Phone Area Code Outside Dialable Zone|ダイヤルできるゾーン以外の電話エリアコード| +Postal Code Outside Dialable Zone|ダイヤルできるゾーン以外の郵便番号| +Custom Transfer|カスタム転送| +System Delay, Please try again|システム遅延です。再度試してください。| +Disposition Status List Hidden|隠れた配置ステータスリスト| +The system has received a command to log you out, you have been logged out of your session|システムがあなたをログアウトさせるためのコマンドを受け取りました。自分のセッションからログアウトしました。| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|注:連絡先を検索する時は、ワイルドカードや部分的な検索用語は許可されません。| +Contact search requests are all logged in the system|連絡先検索依頼はシステム内で全て記録されます。| +SEARCH FOR A CONTACT|連絡先の検索| +CONTACTS SEARCH RESULTS|連絡先検索結果| +LEAD SEARCH|見込み客検索| +Customer Time|顧客の時間| +TERRITORY SELECTION|領域選択| +TERRITORIES NOT SELECTED|領域が選択されていません。| +SELECTED TERRITORIES|選択された領域| +Dialable Leads|ダイヤルできる見込み客| +You have now logged-in|今、ログインしました。| +You logged in at|でログインしました。| +Refresh Campaign List|キャンペーンリストを再読み込みする| +PLEASE SELECT A CAMPAIGN|キャンペーンを選択してください。| +Agents View|エージェントビュー| +-READY|-準備ができている| +-INCALL|-インコール| +-PAUSED|-一時停止| +CALL DISPOSITION|電話配置| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|·グループダイヤルを選択するには、ここをクリック| +SELECT A DIAL IN-GROUP|·グループダイヤルインを選択| +DIAL IN-GROUP|グループ内をダイヤル| +Dial In-Group|グループ内をダイヤル| +Click Here to Activate|アクティブにするには、ここをクリック| +Click Here to Deactivate|無効にするには、ここをクリック| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|エラー:あなたは、検索語に入力する必要があり、これらのいずれかが居住しなければなりません:リードID、ベンダーID、電話番号、姓| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|エラー:あなたは、検索語に入力する必要があり、これらのいずれかが移入されている必要がありますオフィス番号、姓、名| +ERROR: There was a problem with your search terms|検索条件に問題がありました:エラー| +Phone and Post Code Time Zone Mismatch|電話や郵便番号のタイムゾーンの不一致| +Last Local Call Time|最後のローカル通話時間| +Called Count|カウントと呼ばれる| +Unidentified Hangup Cause Code|正体不明のハングアップの原因コード| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|あなたはAGENTDIRECTを使用しているときに転送するエージェントを選択しなければならない(必要があり)| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|別のライブエージェントセッションが開いているユーザーIDを使用していました。それが無効になっています。エージェントの画面に進みます[OK]をクリックして| +View Comment History|コメント履歴の表示| +reset form|フォームをリセット| +SELECT THIS LEAD|このリードを選択する| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|あなたがリードを検索するアクティブインバウンドコール上にある必要があります| +Attachments|添付ファイル| +Next Call Pause|次にコールを一時停止| +-History-|歴史| +SUBMIT SEARCH|検索を送信| +close |閉じる| +AGENT CALL LOG|エージェントコールログ| + LENGTH | 長さ | + PHONE | 電話 | + FULL NAME | フルネーム | + CAMPAIGN | キャンペーン | + ALT | 代替の | + HANGUP | ハングアップ | + INFO | 情報 | +phone login|電話機へのログイン| +LAST CALL|ラストコール| + CALLBACK | 呼び戻す | + CITY | 都市 | + STATE | 状態 | + ZIP | 郵便番号 | +Phone Number|電話番号| +Phone Number Fields|電話番号フィールド| +Lead ID|レコード番号| + WAIT | 待ち時間 | + AGENT | エージェント | + CALL GROUP | グループを呼び出す | + TYPE | タイプを呼び出す | +digits only|数字だけ| +DIAL ALERT|警告をダイヤル| +WEB FORM SUBMIT|ウェブページは、提出| +in campaign|キャンペーンの| + DATE\/TIME | 日付\/時刻 | + IN\/OUT | イン\/アウト | +>GROUPS<|>グループ<| +>GO<|>行く<| +>recording<|>記録<| +>SELECT<|>選択する<| +Alert is ON|アラートがオンになっている| +Alert is OFF|アラートはオフです| +EMAIL LOG FOR THIS LEAD|この端子の電子メールログ| +EMAIL TO|への電子メール| + ATTACHMENTS | 添付ファイル | +Called Since Last Reset|最後のリセット以降に呼び出さ| +Timezone:|タイムゾーン:| +Dial Link|リンクをダイヤル| + LAST | 最後 | +SEARCH FOR A CONTACT|連絡先を検索| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|注:連絡先の検索を行うとき、ワイルドカードまたは部分的な検索用語は許可されていません| +Contact search requests are all logged in the system|連絡先の検索要求は、すべてのシステムに記録されます| +Office Number|局番号| +First Name|姓| +Last Name|姓| +BU Name|BU名| +Department:|部門:| +Group Name|グループ名| +Job Title|職名| +Location:|場所:| diff --git a/agc_2-X/trunk/translations/nl_language.txt b/agc_2-X/trunk/translations/nl_language.txt index 796d0008..61bfc286 100644 --- a/agc_2-X/trunk/translations/nl_language.txt +++ b/agc_2-X/trunk/translations/nl_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"JAN"| @@ -322,7 +324,7 @@ Dial Override|Dial Override| digits only please|alleen cijfers aub| Dial Now|Bel Nu| CB Comments|TB Opmerkingen| -Title|Titel| + Title| Titel| Your Status|Jouw Status| STATUS| STATUS| RESET| RESET| @@ -332,10 +334,9 @@ Incoming|Inkomend| Calling|Bellen| Called|Gebeld| Campaign|Campagne| -Status|Status| +>Status|>Status| Inserted|Ingevoerd| seconds| seconden| -HELP|HELP| Login | Inloggen | Login:|Inloggen:| User |Gebruiker | @@ -346,7 +347,6 @@ Server|Server| RECORD |OPENEMEN | >HANGUP|>OPHANGEN| >XFER|>XFER| -PARK|PARKEER| IN-NUMBER|INKOMEND-NUMMER| NUMBER|NUMMER| CALLERID|CALLERID| @@ -355,16 +355,15 @@ PICKUP|OPPAKKEN| CONFERENCE|CONFERENTIE| Refresh|Ververs| Send DTMF|Stuur DTMF| -ORDER|SORTEER| +>ORDER|>SORTEER| on | op | >LOGOUT|>UITLOGGEN| Channel| Kanaal| Extensions|Extenties| Conferences|Conferenties| Conference|Conferentie| -Recording|Opnemen| -Record|Opnemen| -Welcome|Welkom| + Recording| Opnemen| +Welcome |Welkom | VOICEMAIL|VOICEMAIL| NEW| NIEUW| OLD| OUD| @@ -375,21 +374,21 @@ Slower|Langzamer| Initializing|Initialiseren| Invalid|Ongeldig| Username|Gebruikersnaam| -Notes|Opmerkingen| +Notes:|Opmerkingen:| First|Eerste| MI: |MI: | -Last|Laatste| +Last |Laatste | Address|Adres| City|Stad| -State|Staat| + State| Staat| PostCode|Postcode| Province|Provincie| Vendor ID|Leverancier ID| DialCode|BelCode| Alt. Phone|Alt. Tel.| Show|Toon| -Email|Email| -Comments|Opmerkingen| + Email| Email| + Comments| Opmerkingen| REFRESH|VERVERS| ALT PHONE DIAL|BEL ALT. TEL.| MAIN PHONE|HOOFD TEL.| @@ -601,3 +600,79 @@ Agents View|agenten bekijken| -INCALL|-INCALL| -PAUSED|-PAUSED| CALL DISPOSITION|CALL GEAARDHEID| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|klik hier om een dial-in groep te kiezen| +SELECT A DIAL IN-GROUP|selecteer een wijzerplaat in-group| +DIAL IN-GROUP|inbellen-groep| +Dial In-Group|inbellen-groep| +Click Here to Activate|Klik hier om te activeren| +Click Here to Deactivate|Klik hier om te deactiveren| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|fout: u moet invoeren in zoektermen, moet een van de volgende zijn bevolkt: lood-ID, leverancier-ID, telefoonnummer, achternaam| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|fout: u moet invoeren in zoektermen, moet een van deze worden bevolkt: kantoor nummer, achternaam, voornaam| +ERROR: There was a problem with your search terms|fout: er was een probleem met uw zoekwoorden in| +Phone and Post Code Time Zone Mismatch|telefoon en post code tijdzone mismatch| +Last Local Call Time|laatste lokaal gesprek tijd| +Called Count|aantal oproepen| +Unidentified Hangup Cause Code|ongeïdentificeerde hangup oorzaak code| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|moet je een agent kiezen om over te dragen aan het gebruik agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|andere levende agent-sessie werd geopend met uw gebruikersnaam. het is uitgeschakeld. klik op ok om door te gaan naar de agent scherm| +View Comment History|bekijk commentaar geschiedenis| +reset form|reset vorm| +SELECT THIS LEAD|selecteer deze lood| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|moet je op een actieve inbound call om te zoeken naar een lead| +Attachments|toebehoren| +Next Call Pause|volgende oproep pauzeren| +-History-|-geschiedenis-| +SUBMIT SEARCH|submit search| +close |sluiten | +AGENT CALL LOG|middel bellijst| + LENGTH | lengte | + PHONE | telefoon | + FULL NAME | volledige naam | + CAMPAIGN | campagne | + ALT | afwisselend | + HANGUP | hangup | + INFO | info | +phone login|telefoon login| +LAST CALL|laatste gesprek| + CALLBACK | callback | + CITY | stad | + STATE | staat | + ZIP | ritssluiting | +Phone Number|telefoonnummer| +Phone Number Fields|telefoonnummervelden| +Lead ID|leiden id| + WAIT | wachten | + AGENT | agent | + CALL GROUP | bel groep | + TYPE | type | +digits only|alleen cijfers| +DIAL ALERT|dial alert| +WEB FORM SUBMIT|webpagina formulier| +in campaign|in campagne| + DATE\/TIME | datum\/tijd | + IN\/OUT | in en uit | +>GROUPS<|>GROEPEN<| +>GO<|>ga<| +>recording<|>opnemen<| +>SELECT<|>Selecteer<| +Alert is ON|alert is op| +Alert is OFF|alarm is uitgeschakeld| +EMAIL LOG FOR THIS LEAD|e-logboek voor deze lead| +EMAIL TO|e-mail naar| + ATTACHMENTS | toebehoren | +Called Since Last Reset|genoemd sinds de laatste reset| +Timezone:|tijdzone:| +Dial Link|dial koppeling| + LAST | laatste | +SEARCH FOR A CONTACT|Een contact zoeken| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|notes: tijdens het zoeken naar een contact, wildcard of gedeeltelijke zoektermen zijn niet toegestaan| +Contact search requests are all logged in the system|contact zoeken verzoeken worden allemaal geregistreerd in het systeem| +Office Number|kantoor nummer| +First Name|voornaam| +Last Name|achternaam| +BU Name|bedrijfsnaam| +Department:|departement:| +Group Name|groepsnaam| +Job Title|functienaam| +Location:|locatie:| diff --git a/agc_2-X/trunk/translations/pl_language.txt b/agc_2-X/trunk/translations/pl_language.txt index 25f51a04..dba37f09 100644 --- a/agc_2-X/trunk/translations/pl_language.txt +++ b/agc_2-X/trunk/translations/pl_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"STY"| @@ -323,7 +325,7 @@ Dial Override|Wybierz ten numer| digits only please|tylko cyfry| Dial Now|Wybierz teraz| CB Comments|Notatki| -Title|Tytuł| + Title| Tytuł| Your Status|Twój Status| STATUS| STATUS| RESET| RESET| @@ -333,10 +335,9 @@ Incoming|Przychodząca| Calling|Dzwoni| Called|Zadzwoniono| Campaign|Kampania| -Status|Status| +>Status|>Status| Inserted|Wstawiony| seconds| sekundy| -HELP|POMOC| Login | Login | Login:|Login:| User |Użytkownik | @@ -347,7 +348,6 @@ Server|Serwer| RECORD |NAGRYWAJ | >HANGUP|>ROZŁĄCZ| >XFER|>TRANSFER| -PARK|PARKING| IN-NUMBER|IN-NUMBER| NUMBER|NUMER| CALLERID|IDROZMÓWCY| @@ -356,16 +356,15 @@ PICKUP|ODBIERZ| CONFERENCE|KONFERENCJA| Refresh|Odswież| Send DTMF|Wyślij tonowo| -ORDER|PORZĄDEK| +>ORDER|>PORZĄDEK| on | na | >LOGOUT|>WYLOGUJ| Channel| Kanał| Extensions|NumerWenętrzny| Conferences|Konferencje| Conference|Konferencja| -Recording|Nagrywanie| -Record|Record| -Welcome|Witaj| + Recording| Nagrywanie| +Welcome |Witaj | VOICEMAIL|POCZTAGŁOSOWA| NEW| NOWY| OLD| STARY| @@ -376,21 +375,21 @@ Slower|Wolniej| Initializing|Inicjalizuje| Invalid|Nieprawidłowy| Username|NazwaUżytkownika| -Notes|Notatki| +Notes:|Notatki:| First|Imię| MI: |2 Imię: | -Last|Nazwisko| +Last |Nazwisko | Address|Adres| City|Miasto| -State|Stan| + State| Stan| PostCode|KodPocztowy| Province|Powiat| Vendor ID|Vendedor ID| DialCode|Prefiks| Alt. Phone|Drugi telefon| Show|Pokaż| -Email|Email| -Comments|Komentarz| + Email| Email| + Comments| Komentarz| REFRESH|ODSWIEŻ| ALT PHONE DIAL|WYBIERANIE ALT NUM| MAIN PHONE|NUMER PODSTAWOWY| @@ -569,3 +568,79 @@ Agents View|agenci Zobacz| -INCALL|-Incall| -PAUSED|-WSTRZYMANE| CALL DISPOSITION|ZAPROSZENIE Disposition| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|kliknij tutaj, aby wybrać pokrętłem w grupie| +SELECT A DIAL IN-GROUP|wybrać pokrętłem w grupie| +DIAL IN-GROUP|wybrać w-group| +Dial In-Group|wybrać w-group| +Click Here to Activate|kliknij tutaj, aby włączyć| +Click Here to Deactivate|kliknij tutaj, aby wyłączyć| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|error: należy wprowadzić w zakresie wyszukiwania, jeden z nich musi być zaludniony: ołów, identyfikator dostawcy, numer telefonu, nazwisko| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|error: należy wprowadzić w zakresie wyszukiwania, jeden z nich musi być wypełniona: numer biura, nazwisko, imię| +ERROR: There was a problem with your search terms|błąd: nie było problemu z wyszukiwanych haseł| +Phone and Post Code Time Zone Mismatch|telefonu i kod czasu strefa po niedopasowanie| +Last Local Call Time|ostatnio czasu lokalnego połączenia| +Called Count|liczba połączeń| +Unidentified Hangup Cause Code|niezidentyfikowany kod przyczyną rozłączenia| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|należy wybrać środek do przekazania podczas korzystania agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|inna sesja na żywo agent open swoją nazwą użytkownika. została wyłączona. Kliknij OK, aby przejść do ekranu agenta| +View Comment History|zobacz historię komentarz| +reset form|zresetować formularz| +SELECT THIS LEAD|wybrać ten przewód| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|musisz być aktywnego połączenia przychodzącego szukać smyczy| +Attachments|załączniki| +Next Call Pause|następna przerwa połączenia| +-History-|-historia-| +SUBMIT SEARCH|przedstawia poszukiwania| +close |zamknąć | +AGENT CALL LOG|Rejestr rozmów agenta| + LENGTH | długość | + PHONE | telefon | + FULL NAME | pełne imię i nazwisko | + CAMPAIGN | kampania | + ALT | alternatywny | + HANGUP | hangup | + INFO | informacji | +phone login|logowanie telefonu| +LAST CALL|ostatni dzwonek| + CALLBACK | callback | + CITY | miasto | + STATE | stan | + ZIP | zamek błyskawiczny | +Phone Number|numer telefonu| +Phone Number Fields|pola numeru telefonu| +Lead ID|prowadzić id| + WAIT | czekać | + AGENT | agent | + CALL GROUP | nazywamy grupę | + TYPE | typ | +digits only|tylko cyfry| +DIAL ALERT|wybrać alert| +WEB FORM SUBMIT|strona forma przedstawienia| +in campaign|w kampanii| + DATE\/TIME | data\/czas | + IN\/OUT | i obecnie | +>GROUPS<|>GRUPY<| +>GO<|>go<| +>recording<|>nagrania<| +>SELECT<|>wybierz<| +Alert is ON|wpis dotyczy| +Alert is OFF|Alarm jest wyłączony| +EMAIL LOG FOR THIS LEAD|log email do tego ołowiu| +EMAIL TO|napisz do| + ATTACHMENTS | załączniki | +Called Since Last Reset|zwany od ostatniego zerowania| +Timezone:|Strefa czasowa:| +Dial Link|wybrać link| + LAST | ostatni | +SEARCH FOR A CONTACT|wyszukać kontakt| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Uwaga: podczas wyszukiwania kontaktu, wieloznaczne lub częściowe terminy wyszukiwania nie są dozwolone| +Contact search requests are all logged in the system|wyszukiwane kontaktowe są rejestrowane w systemie| +Office Number|numer biura| +First Name|imię| +Last Name|nazwisko| +BU Name|nazwa firmy| +Department:|dział:| +Group Name|Nazwa grupy| +Job Title|tytuł pracy| +Location:|lokalizacja:| diff --git a/agc_2-X/trunk/translations/pt_language.txt b/agc_2-X/trunk/translations/pt_language.txt index 30463b49..ab4c6bd0 100644 --- a/agc_2-X/trunk/translations/pt_language.txt +++ b/agc_2-X/trunk/translations/pt_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"JAN"| @@ -323,7 +325,7 @@ Dial Override|Ultrapassagem Do Seletor| digits only please|os dígitos satisfazem somente| Dial Now|Seletor Agora| CB Comments|Comentários dos CB| -Title|Título| + Title| Título| Your Status|Seu Status| STATUS| STATUS| RESET| RESTAURAÇÃO| @@ -333,10 +335,9 @@ Incoming|Entrante| Calling|Chamada| Called|Chamado| Campaign|Campanha| -Status|Status| +>Status|>Status| Inserted|Introduzido| seconds| segundos| -HELP|AJUDA| Login | Início de uma sessão | Login:|Início de uma sessão:| User |Usuário | @@ -347,7 +348,6 @@ Server|Usuário| RECORD |REGISTRO | >HANGUP|>HANGUP| >XFER|>XFER| -PARK|PARQUE| IN-NUMBER|IN-NUMBER| NUMBER|NÚMERO| CALLERID|CALLERID| @@ -356,16 +356,15 @@ PICKUP|COLETOR| CONFERENCE|CONFERÊNCIA| Refresh|Refresque| Send DTMF|Emita DTMF| -ORDER|ORDEM| +>ORDER|>ORDEM| on | em | >LOGOUT|>LOGOUT| Channel| Canaleta| Extensions|Extensões| Conferences|Conferências| Conference|Conferência| -Recording|Gravação| -Record|Registro| -Welcome|Boa vinda| + Recording| Gravação| +Welcome |Boa vinda | VOICEMAIL|VOICEMAIL| NEW| NOVO| OLD| VELHO| @@ -376,21 +375,21 @@ Slower|Mais lento| Initializing|Inicializar| Invalid|Inválido| Username|Username| -Notes|Notas| +Notes:|Notas:| First|Prime| MI: |Mi:| -Last|Último| +Last |Último | Address|Endereço| City|Cidade| -State|Estado| + State| Estado| PostCode|PostCode| Province|Província| Vendor ID|Vendedor Id| DialCode|DialCode| Alt. Phone|Alt. Telefone| Show|Mostra| -Email|Email| -Comments|Comentários| + Email| Email| + Comments| Comentários| REFRESH|REFRESQUE| ALT PHONE DIAL|ALT DO TELEFONE| MAIN PHONE|TELEFONE PRINCIPAL| @@ -569,3 +568,79 @@ Agents View|Agentes Ver| -INCALL|-Chamadas| -PAUSED|-PAUSA| CALL DISPOSITION|CONVITE DISPOSIÇÃO| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|clique aqui para escolher uma marcação em grupo| +SELECT A DIAL IN-GROUP|selecionar uma discagem em grupo| +DIAL IN-GROUP|discar grupo| +Dial In-Group|discar grupo| +Click Here to Activate|Clique aqui para ativar| +Click Here to Deactivate|clique aqui para desativar| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: id chumbo, identificação do fornecedor, número de telefone, sobrenome| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|erro: você deve digitar os termos de pesquisa, um deles deve ser preenchido: Número de escritório, sobrenome, nome| +ERROR: There was a problem with your search terms|Erro: Ocorreu um problema com seus termos de pesquisa| +Phone and Post Code Time Zone Mismatch|telefone e código postal fuso horário incompatibilidade| +Last Local Call Time|última vez chamada local| +Called Count|número de chamadas| +Unidentified Hangup Cause Code|não identificado código causa hangup| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|você deve selecionar um agente de transferir ao usar agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|outra sessão de agente ao vivo foi aberta usando o seu ID de usuário. ele foi desativado. Clique em OK para continuar a tela do agente| +View Comment History|ver a história comentário| +reset form|forma de repor| +SELECT THIS LEAD|selecionar essa liderança| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|você deve estar em uma chamada de entrada ativa para procurar uma vantagem| +Attachments|anexos| +Next Call Pause|próxima pausa chamada| +-History-|-história-| +SUBMIT SEARCH|submeter pesquisa| +close |fechar | +AGENT CALL LOG|registro de chamadas agente| + LENGTH | comprimento | + PHONE | telefone | + FULL NAME | nome completo | + CAMPAIGN | campanha | + ALT | alternado | + HANGUP | hangup | + INFO | informações | +phone login|telefone de login| +LAST CALL|última chamada| + CALLBACK | callback | + CITY | cidade | + STATE | estado | + ZIP | zip | +Phone Number|número de telefone| +Phone Number Fields|campos de número de telefone| +Lead ID|levar id| + WAIT | esperar | + AGENT | agente | + CALL GROUP | grupo chamar | + TYPE | tipo | +digits only|só dígitos| +DIAL ALERT|discar alerta| +WEB FORM SUBMIT|forma webpage apresentar| +in campaign|na campanha| + DATE\/TIME | data\/hora| + IN\/OUT | dentro e fora | +>GROUPS<|>GRUPOS<| +>GO<|>ir<| +>recording<|>gravação<| +>SELECT<|>selecione<| +Alert is ON|alerta está ligado| +Alert is OFF|alerta estiver desligado| +EMAIL LOG FOR THIS LEAD|log e-mail para este chumbo| +EMAIL TO|enviar e-mail para| + ATTACHMENTS | anexos | +Called Since Last Reset|chamado desde a última reposição| +Timezone:|fuso horário:| +Dial Link|ligação discar| + LAST | último | +SEARCH FOR A CONTACT|procurar um contato| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Notas: quando se faz uma busca por um contato, termos de pesquisa curinga ou parciais não são permitidos| +Contact search requests are all logged in the system|pedidos de busca contato são todos registrados no sistema| +Office Number|número do escritório| +First Name|primeiro nome| +Last Name|sobrenome| +BU Name|nome da empresa| +Department:|departamento:| +Group Name|nome do grupo| +Job Title|cargo| +Location:|localização:| diff --git a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.6.txt b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.6.txt index 71d5f687..b5fe9bcd 100644 --- a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.6.txt +++ b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.6.txt @@ -193,6 +193,60 @@ Survey Wait Seconds|| This is the number of seconds when in Survey mode the system will wait for input from the person called until the survey or drop action is triggered. Is not applied if the Survey Method is HANGUP. Default is 10 seconds|| You can add NOINT directly in front of an audio file name to make it so the playback cannot be interrupted with a key press by the caller, the NOINT should not be a part of the filename, it is a special flag for the system. You may also use special purpose .agi scripts in this field as well like the cm_date.agi script, discuss with your administrator for more details|| DROP will drop the call using the campaign drop method but still log the call as a PM played message status|| +Quality Control|| +Source User|| +>Admin<|| +Campaign Call Date|| +Lead Recycling|| +Day outbound call count for this campaign|| +State rules defined for this call time|| +in seconds|| +Agent Display Dialable Leads|| +Agent Display Queue Count|| +Manual Dial Filter|| +Agent Call Re-Queue Button|| +LEADS COUNT|| +number:|| +server:|| +audio chooser|| +voicemail chooser|| +FILTER ID|| +FILTER NAME|| +Show Email Groups|| +Email Accounts|| +CallCard Admin|| + Contacts || +We STRONGLY recommend uploading only 16bit Mono 8k PCM WAV audio files|| +All spaces will be stripped from uploaded audio file names|| +ERROR: Default value cannot be longer than maximum field length|| + + +########################## CHANGES TO EXISTING PHRASES IN ADMIN TRANSLATION + +removed We STRONGLY recommend uploading only 16bit 8k PCM WAV audio files + +changed to 0 vicidial|audio_store.php|0 + + +vicidial|callbacks_bulk_change.php|0 +vicidial|lead_tools.php|0 +vicidial|admin_email_accounts.php|0 +vicidial|AST_email_log_report.php|0 +vicidial|AST_email_log_display.php|0 +vicidial/qc|qc_modify_lead.php|0 +vicidial/qc|QC_admin_variables.php|0 +vicidial/qc|QC_admin_variables01.php|0 +vicidial/qc|QC_call_client_iframe.php|0 +vicidial/qc|QC_call_client_include.php|0 +vicidial/qc|QC_header_include.php|0 +vicidial/qc|QC_header_include01.php|0 +vicidial/qc|QC_header_include02.php|0 +vicidial/qc|audit_comments.php|0 +vicidial/qc|qc_api.php|0 +vicidial/qc|QC_admin_include01.php|0 +vicidial/qc|QC_admin_include02.php|0 +vicidial/qc|QC_admin_modify_lead_include.php|0 +vicidial/qc|QC_status_codes_include.php|0 ############################################################ CLIENT @@ -216,6 +270,77 @@ reset form|| SELECT THIS LEAD|| YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|| Attachments|| +Next Call Pause|| +-History-|| +SUBMIT SEARCH|| +close || +AGENT CALL LOG|| + LENGTH || + PHONE || + FULL NAME || + CAMPAIGN || + ALT || + HANGUP || + INFO || +phone login|| +LAST CALL|| + CALLBACK || + CITY || + STATE || + ZIP || +Phone Number|| +Phone Number Fields|| +Lead ID|| + WAIT || + AGENT || + CALL GROUP || + TYPE || +digits only|| +DIAL ALERT|| +WEB FORM SUBMIT|| +in campaign|| + DATE\/TIME || + IN\/OUT || +>GROUPS<|| +>GO<|| +>recording<|| +>SELECT<|| +Alert is ON|| +Alert is OFF|| +EMAIL LOG FOR THIS LEAD|| +EMAIL TO|| + ATTACHMENTS || +Called Since Last Reset|| +Timezone:|| +Dial Link|| + LAST || +SEARCH FOR A CONTACT|| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|| +Contact search requests are all logged in the system|| +Office Number|| +First Name|| +Last Name|| +BU Name|| +Department:|| +Group Name|| +Job Title|| +Location:|| + + +########################## CHANGES TO EXISTING PHRASES IN AGENT TRANSLATION +Status >Status +ORDER >ORDER +Notes Notes: +Welcome +Last +Recording +State +Title +Email +Comments +Record +HELP +PARK ############################################################ MANAGER Manual diff --git a/agc_2-X/trunk/translations/ru_language.txt b/agc_2-X/trunk/translations/ru_language.txt index c007b5c6..8b9bd0b1 100644 --- a/agc_2-X/trunk/translations/ru_language.txt +++ b/agc_2-X/trunk/translations/ru_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"ЯНВ"| @@ -325,7 +327,7 @@ Dial Override|Ввод другого номера| digits only please|только цифры, пожалуйста| Dial Now|Вызвать немедленно| CB Comments|Примечания| -Title|Должность| + Title| Должность| Your Status|Ваше состояние| STATUS| СОСТОЯНИЕ| RESET| СБРОС| @@ -335,10 +337,9 @@ Incoming|Входящие| Calling|Вызываю| Called|Вызван| Campaign|Кампания| -Status|Состояние| +>Status|>Состояние| Inserted|Добавлено| seconds| секунд| -HELP|ПОМОЩЬ| Login | Вход | Login:|Имя:| User |Агент | @@ -349,7 +350,6 @@ Server|Сервер| RECORD |ЗАПИСЬ | >HANGUP|>ЗАВЕРШЕНИЕ| >XFER|>ПЕРЕВОД| -PARK|ПАРКОВКА| IN-NUMBER|ВХОДЯЩИЙ-НОМЕР| NUMBER|НОМЕР| CALLERID|CALLERID| @@ -358,16 +358,15 @@ PICKUP|ПЕРЕХВАТИТЬ| CONFERENCE|КОНФЕРЕНЦИЯ| Refresh|Обновить| Send DTMF|Набор DTMF| -ORDER|ОРДЕР| +>ORDER|>ОРДЕР| on | на | >LOGOUT|>ВЫХОД| Channel| Линия| Extensions|Номера| Conferences|Конференции| Conference|Конференция| -Recording|Запись| -Record|Запись| -Welcome|Здравствуйте| + Recording| Запись| +Welcome |Здравствуйте | VOICEMAIL|ГОЛОСОВАЯПОЧТА| NEW| НОВЫЙ| OLD| СТАРЫЙ| @@ -378,21 +377,21 @@ Slower|Медленнее| Initializing|Инициализация| Invalid|Неверный| Username|Имя агента| -Notes|Примечания| +Notes:|Примечания:| First|Имя| MI: |Отч: | -Last|Фамилия| +Last |Фамилия | Address|Адрес| City|Город| -State|Штат| + State| Штат| PostCode|Почт.индекс| Province|Область| Vendor ID|Код п.| DialCode|Префикс| Alt. Phone|Доп. телефон| Show|Показать| -Email|Эл.почта| -Comments|Заметки| + Email| Эл.почта| + Comments| Заметки| REFRESH|ОБНОВИТЬ| ALT PHONE DIAL|НАБОР ДОП.НОМЕРА| MAIN PHONE|ОСНОВНОЙ ТЕЛЕФОН| @@ -574,3 +573,79 @@ PLEASE SELECT A CAMPAIGN|ПОЖАЛУЙСТА ВЫБЕРИТЕ КАМПАНИЮ| -INCALL|-ВЫЗОВ| Refresh Campaign List|Обновить список кампаний| -PAUSED|-ПАУЗА| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|Нажмите здесь, чтобы выбрать кино-группы| +SELECT A DIAL IN-GROUP|выбрать диск в группе| +DIAL IN-GROUP|набрать в группу| +Dial In-Group|набрать в группу| +Click Here to Activate|Нажмите здесь для активации| +Click Here to Deactivate|нажмите здесь, чтобы отключить| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|Ошибка: Вы должны войти в поисках слагаемых, одно из них должно быть заполнено: свинец ID, Vendor ID, номер телефона, фамилию| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|Ошибка: Вы должны войти в поисках слагаемых, одно из них должно быть заполнено: рабочий телефон, фамилию, имя, отчество| +ERROR: There was a problem with your search terms|Ошибка: была проблема с условия поиска| +Phone and Post Code Time Zone Mismatch|телефон и почтовый индекс часовой пояс несоответствие| +Last Local Call Time|Последний вызов местному времени| +Called Count|количество вызовов| +Unidentified Hangup Cause Code|неизвестный код причины зависания| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|Вы должны выбрать агента передать при использовании agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|еще один живой сессии агента была открыта под своим именем пользователя. она была отключена. Щелкните ОК, чтобы агент экрана| +View Comment History|Доска комментариев истории| +reset form|очистка формы| +SELECT THIS LEAD|выберите этот провод| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|вы должны быть на активное входящего вызова для поиска свинца| +Attachments|вложения| +Next Call Pause|Следующая пауза вызова| +-History-|-История-| +SUBMIT SEARCH|начать поиск| +close |близко | +AGENT CALL LOG|Журнал вызов агента| + LENGTH | длина | + PHONE | телефон | + FULL NAME | полное имя | + CAMPAIGN | кампания | + ALT | заместитель | + HANGUP | зависание | + INFO | информация | +phone login|телефон Вход| +LAST CALL|Последний звонок| + CALLBACK | Обратный звонок | + CITY | город | + STATE | государство | + ZIP | застежка-молния | +Phone Number|номер телефона| +Phone Number Fields|В полях Номер телефона| +Lead ID|привести ID| + WAIT | ждать | + AGENT | агент | + CALL GROUP | называют группу | + TYPE | тип | +digits only|только цифры| +DIAL ALERT|набрать Уведомления| +WEB FORM SUBMIT|веб-страницы отправки формы| +in campaign|в кампании| + DATE\/TIME | дата\/время | + IN\/OUT | в и | +>GROUPS<|>ГРУППЫ<| +>GO<|>Выбрать<| +>recording<|>записи<| +>SELECT<|>выберите<| +Alert is ON|уведомлении о| +Alert is OFF|оповещение выключено| +EMAIL LOG FOR THIS LEAD|Электронная почта Вход У объявления| +EMAIL TO|по электронной почте к| + ATTACHMENTS | вложения | +Called Since Last Reset|называется с момента последнего сброса| +Timezone:|часовой пояс:| +Dial Link|набрать ссылку| + LAST | последний | +SEARCH FOR A CONTACT|Поиск контакта| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Примечание: при выполнении поиска контакта, маска или частичного условия поиска не допускаются| +Contact search requests are all logged in the system|запросы Контакты Поиск Все вошли в систему| +Office Number|номер офиса| +First Name|имя| +Last Name|фамилия| +BU Name|наименование фирмы| +Department:|отдел:| +Group Name|название группы| +Job Title|Должность| +Location:|Расположение:| diff --git a/agc_2-X/trunk/translations/se_language.txt b/agc_2-X/trunk/translations/se_language.txt index f7d91e36..f98bdc81 100644 --- a/agc_2-X/trunk/translations/se_language.txt +++ b/agc_2-X/trunk/translations/se_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"Jan"| @@ -323,7 +325,7 @@ Dial Override|Dial Override| digits only please|enbart siffror| Dial Now|Ring nu| CB Comments|Kommentar till Återuppringning| -Title|Titel| + Title| Titel| Your Status|Din status| STATUS| STATUS| RESET| ÅTERSTÄLL| @@ -333,10 +335,9 @@ Incoming|Inkommande| Calling|Ringer| Called|Ringde| Campaign|Kampanj| -Status|Status| +>Status|>Status| Inserted|Tillagd| seconds| sekunder| -HELP|HJÄLP| Login | Logga in | Login:|Logga in:| User |Användare | @@ -347,7 +348,6 @@ Server|Server| RECORD |SPELA IN | >HANGUP|>Lägg på| >XFER|>XFER| -PARK|PARKERA| IN-NUMBER|IN-NUMMER| NUMBER|NUMMER| CALLERID|SAMTALSID| @@ -356,16 +356,15 @@ PICKUP|SVARA| CONFERENCE|KONFERENS| Refresh|Uppdatera| Send DTMF|Skicka Tonval| -ORDER|ORDER| +>ORDER|>ORDER| on | på | >LOGOUT|>LOGGA UT| Channel| Kanal| Extensions|Anknytningar| Conferences|Konferenser| Conference|Konferens| -Recording|Inspelning| -Record|Spela in| -Welcome|Välkommen| + Recording| Inspelning| +Welcome |Välkommen | VOICEMAIL|RÖSTBREVLÅDA| NEW| NY| OLD| GAMMAL| @@ -376,21 +375,21 @@ Slower|Långsammare| Initializing|Initierar| Invalid|Felaktig| Username|Användarnamn| -Notes|Anteckningar| +Notes:|Anteckningar:| First|Förnamn| MI: |MI: | -Last|Efternamn| +Last |Efternamn | Address|Adress| City|Stad| -State|Stat| + State| Stat| PostCode|Postnummer| Province|Provins| Vendor ID|Leverantör ID| DialCode|Landskod| Alt. Phone|Alternativ telefon| Show|Visa| -Email|Email| -Comments|Kommentarer| + Email| Email| + Comments| Kommentarer| REFRESH|UPPDATERA| ALT PHONE DIAL|RING ALTERNATIVT NUMMER| MAIN PHONE|HUVUDNUMMER| @@ -584,3 +583,65 @@ Phone and Post Code Time Zone Mismatch|Telefon och Postkod Tidzon Matchar Ej| Last Local Call Time|Lokal Tid För Senaste Samtalet| Called Count|Antal Samtal| Unidentified Hangup Cause Code|Oidentifierad Orsak-kod För Samtalets Avslut| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|Du måste välja en agent för att överföra till när man använder agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|annan levande agent session var öppen med ditt användarnamn. det har inaktiverats. Klicka på OK för att fortsätta till agenten skärmen| +View Comment History|visa kommentar historia| +reset form|reset formulär| +SELECT THIS LEAD|väljer denna ledning| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|Du måste vara på en aktiv inkommande samtal för att söka efter en bly| +Attachments|bilagor| +Next Call Pause|nästa samtal paus| +-History-|-history-| +SUBMIT SEARCH|inkomma sökning| +close |nära | +AGENT CALL LOG|agent samtalsloggen| + LENGTH | längd | + PHONE | telefon | + FULL NAME | fullständigt namn | + CAMPAIGN | kampanj | + ALT | alternativa | + HANGUP | påläggningssignal | + INFO | info | +phone login|telefon inloggning| +LAST CALL|senaste samtalet| + CALLBACK | återuppringning | + CITY | stad | + STATE | tillstånd | + ZIP | zip | +Phone Number|telefonnummer| +Phone Number Fields|telefonnummerfält| +Lead ID|leda id| + WAIT | vänta | + AGENT | agent | + CALL GROUP | anropa | + TYPE | typ | +digits only|endast siffror| +DIAL ALERT|ringa alert| +WEB FORM SUBMIT|webbsida formen fram| +in campaign|i kampanjen| + DATE\/TIME | datum\/tid | + IN\/OUT | in och ut | +>GROUPS<|>GRUPPER<| +>GO<|>gå<| +>recording<|>inspelning<| +>SELECT<|>välj<| +Alert is ON|varning är på| +Alert is OFF|varning är avstängd| +EMAIL LOG FOR THIS LEAD|e loggen för denna ledning| +EMAIL TO|e-post till| + ATTACHMENTS | bilagor | +Called Since Last Reset|heter sedan senaste återställning| +Timezone:|Tidszon:| +Dial Link|ringa länk| + LAST | sista | +SEARCH FOR A CONTACT|söka efter en kontakt| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|anteckningar: när du gör en sökning efter en kontakt, är wildcard eller partiell söktermer tillåts inte| +Contact search requests are all logged in the system|kontakt sökfrågor är alla inloggade i systemet| +Office Number|kontor nummer| +First Name|förnamn| +Last Name|efternamn| +BU Name|firma| +Department:|avdelning:| +Group Name|gruppnamn| +Job Title|jobbtitel| +Location:|plats:| diff --git a/agc_2-X/trunk/translations/sk_language.txt b/agc_2-X/trunk/translations/sk_language.txt index 7e51d565..6d13b9e7 100644 --- a/agc_2-X/trunk/translations/sk_language.txt +++ b/agc_2-X/trunk/translations/sk_language.txt @@ -28,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"JAN"| @@ -323,7 +325,7 @@ Dial Override|Prepísanie volania| digits only please|prosím len čísla| Dial Now|Volať znova| CB Comments|Poznámky CB| -Title|Titul| + Title| Titul| Your Status|Váš stav| STATUS| STAV| RESET| ZNOVU INCIALIZOVAŤ| @@ -333,10 +335,9 @@ Incoming|Príchodzie| Calling|Volané| Called|Volaný| Campaign|Kampaň| -Status|Stav| +>Status|>Stav| Inserted|Vložiť| seconds| sekúnd| -HELP|POMOC| Login | Prihlásiť | Login:|Prihlásiť:| User |Užívateľ | @@ -347,7 +348,6 @@ Server|Server| RECORD |ZÁZNAM | >HANGUP|>POLOŹIŤ| >XFER|>PREPOJIŤ| -PARK|ZAPARKOVAŤ| IN-NUMBER|V-ČÍSLE| NUMBER|ČÍSLO| CALLERID|IDVOLAJÚCEHO| @@ -356,16 +356,15 @@ PICKUP|PREVZIAŤ| CONFERENCE|KONFERENCIA| Refresh|Osviežiť| Send DTMF|Poslať DTMF| -ORDER|PORADIE| +>ORDER|>PORADIE| on | na | >LOGOUT|>ODHLÁSIŤ| Channel| Kanál| Extensions|Pobočky| Conferences|Konferencie| Conference|Konferencia| -Recording|Nashrávanie| -Record|NAHRAŤ| -Welcome|Vítame Vás| + Recording| Nashrávanie| +Welcome |Vítame Vás | VOICEMAIL|HLASOVÁ SCHRÁNKA| NEW| NOVÁ| OLD| STARÁ| @@ -376,21 +375,21 @@ Slower|Pomalšie| Initializing|Inicializovať| Invalid|Nesprávny| Username|Užívateľské meno| -Notes|Poznámka| +Notes:|Poznámka:| First|Prvý| MI: |MI: | -Last|Posledný| +Last |Posledný | Address|Adresa| City|Mesto| -State|Štát| + State| Štát| PostCode|PSČ| Province|Kraj| Vendor ID|zákaznícke| DialCode|Volací kód| Alt. Phone|Alter. číslo| Show|Prezrieť| -Email|Email| -Comments|Komentár| + Email| Email| + Comments| Komentár| REFRESH|OSVIEŽIŤ| ALT PHONE DIAL|ALTER. ČÍSLO TELEFÓNU| MAIN PHONE|ZÁKLADNÉ TEL. ČÍSLO| @@ -569,3 +568,79 @@ Agents View|agenti Zobraziť| -INCALL|-Incall| -PAUSED|-pozastavené| CALL DISPOSITION|VÝZVA Disposition| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|kliknite sem a vyberte voľby v skupine| +SELECT A DIAL IN-GROUP|vyberte voľby v skupine| +DIAL IN-GROUP|dial in-skupiny| +Dial In-Group|dial in-skupiny| +Click Here to Activate|kliknite tu pre aktiváciu| +Click Here to Deactivate|kliknite tu pre deaktiváciu| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|Chyba: musíte zadať hľadané výrazy, musí byť jeden z nich je obývaných: olovo id, Vendor ID, telefónne číslo, priezvisko| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|Chyba: musíte zadať hľadané výrazy, musí byť jeden z nich sa vyplní: kancelária číslo, priezvisko, meno| +ERROR: There was a problem with your search terms|Chyba: tam bol problém s svoje vyhľadávacie termíny| +Phone and Post Code Time Zone Mismatch|telefón a poštové smerovacie číslo časové pásmo nesúlad| +Last Local Call Time|posledný miestnej pohotovosti| +Called Count|počet hovorov| +Unidentified Hangup Cause Code|Neznáma príčina hangup kód| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|musíte zvoliť zástupcu, ktorý bude prenášať potrebné pri používaní agentdirect| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|ďalšie živé agenta relácia bola otvorená pod svojím užívateľským menom. bola zakázaná. kliknite na tlačidlo OK a pokračujte na obrazovke agenta| +View Comment History|zobraziť komentár históriu| +reset form|vymazať formulár| +SELECT THIS LEAD|vyberte túto vedenie| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|musíte byť na aktívnom prichádzajúce volania hľadať vedenie| +Attachments|Príslušenstvo| +Next Call Pause|Ďalšia výzva pauza| +-History-|-História-| +SUBMIT SEARCH|Odoslať hľadanie| +close |zavrieť | +AGENT CALL LOG|Agent protokolu hovoru| + LENGTH | dĺžka | + PHONE | telefón | + FULL NAME | meno a priezvisko | + CAMPAIGN | kampaň | + ALT | striedavý | + HANGUP | hangup | + INFO | info | +phone login|telefón login| +LAST CALL|Posledná výzva| + CALLBACK | callback | + CITY | město | + STATE | stav | + ZIP | zips | +Phone Number|telefónne číslo| +Phone Number Fields|Pole telefónne číslo| +Lead ID|viesť id| + WAIT | počkajte | + AGENT | zástupca | + CALL GROUP | skupiny volajúcich | + TYPE | typ | +digits only|iba číslice| +DIAL ALERT|vytočiť upozornenie| +WEB FORM SUBMIT|webové stránky odoslaní formulára| +in campaign|v kampani| + DATE\/TIME | Dátum\/čas | + IN\/OUT | dovnútra a von | +>GROUPS<|>SKUPINY<| +>GO<|>Prejsť<| +>recording<|>Nahrávanie<| +>SELECT<|>Vyberte<| +Alert is ON|záznam je na| +Alert is OFF|upozornenie je vypnuté| +EMAIL LOG FOR THIS LEAD|email Prihlásiť sa k tomuto vedeniu| +EMAIL TO|e-mail| + ATTACHMENTS | Príslušenstvo | +Called Since Last Reset|volal od posledného vynulovania| +Timezone:|časové pásmo:| +Dial Link|vytočiť odkaz| + LAST | posledný | +SEARCH FOR A CONTACT|vyhľadať kontakt| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|Poznámky: Pri hľadaní pre kontakt sú zástupné alebo čiastočné vyhľadávacie termíny nie sú povolené| +Contact search requests are all logged in the system|žiadosti kontakt vyhľadávania sú zaznamenané v systéme| +Office Number|číslo kancelárie| +First Name|krstné meno| +Last Name|priezvisko| +BU Name|obchodné meno| +Department:|oddelenie:| +Group Name|Názov skupiny| +Job Title|názov práce| +Location:|umiestnenie:| diff --git a/agc_2-X/trunk/translations/tw_language.txt b/agc_2-X/trunk/translations/tw_language.txt index 10d1f014..a5afac06 100644 --- a/agc_2-X/trunk/translations/tw_language.txt +++ b/agc_2-X/trunk/translations/tw_language.txt @@ -20,7 +20,6 @@ agc|live_exten_check.php|0 agc|call_log_display.php|0 agc|voicemail_check.php|0 agc|dbconnect.php|1 -agc|htglobalize.php|1 agc|timeclock.php|0 agc|vdc_script_display.php|1 agc|vdc_script_notes.php|0 @@ -29,6 +28,8 @@ agc|vdc_form_display.php|1 agc|calendar.css|1 agc|calendar_db.js|0 agc|phone_only.php|0 +agc|vdc_email_display.php|0 +agc|audit_comments.php|0 ***TRANSLATIONS*** ### special translations that should stay at the top of the file ### "JAN"|"一月"| @@ -323,7 +324,7 @@ Dial Override|Dial Override| digits only please|限數字碼輸入| Dial Now|立即撥號| CB Comments|CB Comments| -Title|職銜| + Title| 職銜| Your Status|您目前的狀態| STATUS| 狀態| RESET| 重置| @@ -333,10 +334,9 @@ Incoming|Incoming| Calling|撥號中| Called|已撥號| Campaign|活動| -Status|狀態| +>Status|>狀態| Inserted|已插入| seconds| 秒| -HELP|協助| Login | 登入 | Login:|登入:| User |使用者 | @@ -347,7 +347,6 @@ Server|主機| RECORD |錄音 | >HANGUP|>掛斷| >XFER|轉接| -PARK|駐留| IN-NUMBER|IN-NUMMER| NUMBER|號碼| CALLERID|CALLERID| @@ -356,16 +355,15 @@ PICKUP|接起| CONFERENCE|會議| Refresh|更新| Send DTMF|傳送 DTMF| -ORDER|次序| +>ORDER|>次序| on | on | >LOGOUT|>登出| Channel| 渠道| Extensions|分機| Conferences|會議| Conference|會議| -Recording|錄音| -Record|錄音| -Welcome|歡迎| + Recording| 錄音| +Welcome |歡迎 | VOICEMAIL|語音信箱| NEW| 新| OLD| 舊| @@ -376,21 +374,21 @@ Slower|較慢速| Initializing|起始中| Invalid|無效| Username|Username| -Notes|注意| +Notes:|注意:| First|名| MI: |MI:| -Last|姓| +Last |姓 | Address|地址| City|市| -State|州| + State| 州| PostCode|郵遞區號| Province|省| Vendor ID|Vendor ID| DialCode|DialCode| Alt. Phone|其他電話| Show|展現| -Email|電郵| -Comments|備註| + Email| 電郵| + Comments| 備註| REFRESH|更新| ALT PHONE DIAL|撥打其他電話| MAIN PHONE|主要電話| @@ -600,3 +598,79 @@ Agents View|代理商查看| -INCALL|-門店| -PAUSED|-暫停| CALL DISPOSITION|認購證的處置| +### START translations for 2.6 release ### +Click Here to Choose a Dial In-Group|點擊這裡選擇一個撥號組| +SELECT A DIAL IN-GROUP|選擇一個撥號組| +DIAL IN-GROUP|撥號組| +Dial In-Group|撥號組| +Click Here to Activate|點擊這裡激活| +Click Here to Deactivate|點擊這裡取消| +ERROR: You must enter in search terms, one of these must be populated: lead ID, vendor ID, phone number, last name|錯誤:您必須輸入搜索條件,其中之一必須是人口稠密的:鉛ID,供應商ID,電話號碼,姓氏| +ERROR: You must enter in search terms, one of these must be populated: office number, last name, first name|錯誤:您必須輸入搜索條件,其中之一必須填充:辦公室的電話號碼,姓氏,名字| +ERROR: There was a problem with your search terms|錯誤:有一個問題,您的搜索字詞| +Phone and Post Code Time Zone Mismatch|電話及郵政編碼時區不匹配| +Last Local Call Time|最後本地通話時間| +Called Count|的呼叫數| +Unidentified Hangup Cause Code|不明掛斷原因代碼| +YOU MUST SELECT AN AGENT TO TRANSFER TO WHEN USING AGENTDIRECT|你必須選擇一個代理轉移到使用agentdirect時| +Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen|另一個現場代理會話開放使用您的用戶ID。它已被禁用。點擊“確定”繼續代理屏幕| +View Comment History|查看評論歷史| +reset form|復位形式| +SELECT THIS LEAD|選擇此鉛| +YOU MUST BE ON AN ACTIVE INBOUND CALL TO SEARCH FOR A LEAD|你必須主動呼入搜索率先| +Attachments|附件| +Next Call Pause|下一次調用暫停| +-History-|-歷史-| +SUBMIT SEARCH|提交搜索| +close |關閉| +AGENT CALL LOG|代理通話記錄| + LENGTH | 長度 | + PHONE | 電話 | + FULL NAME | 全名 | + CAMPAIGN | 運動 | + ALT | 備用 | + HANGUP | 掛斷 | + INFO | 信息 | +phone login|手機登錄| +LAST CALL|最後一次通話| + CALLBACK | 回調 | + CITY | 城市 | + STATE | 州 | + ZIP | 拉鍊 | +Phone Number|電話號碼| +Phone Number Fields|電話號碼字段| +Lead ID|導致ID| + WAIT | 等待 | + AGENT | 代理人 | + CALL GROUP | 呼叫組 | + TYPE | 類型 | +digits only|僅數字| +DIAL ALERT|撥號提醒| +WEB FORM SUBMIT|網頁的形式提交| +in campaign|在競選| + DATE\/TIME | 日期\/時間 | + IN\/OUT | 輸入和輸出 | +>GROUPS<|>組<| +>GO<|>去<| +>recording<|>記錄<| +>SELECT<|>選擇<| +Alert is ON|警報是在| +Alert is OFF|警報關閉| +EMAIL LOG FOR THIS LEAD|這個領先的電子郵件日誌| +EMAIL TO|電郵至| + ATTACHMENTS | 附件 | +Called Since Last Reset|要求自去年復位| +Timezone:|時區:| +Dial Link|撥號鏈接| + LAST | 最後 | +SEARCH FOR A CONTACT|搜索聯繫人| +Notes: when doing a search for a contact, wildcard or partial search terms are not allowed|注意事項:做搜索聯繫人時,通配符或部分的搜索字詞不允許| +Contact search requests are all logged in the system|聯繫人搜索請求都記錄在系統| +Office Number|辦公室電話號碼| +First Name|名字| +Last Name|姓| +BU Name|企業名稱| +Department:|部門:| +Group Name|組名| +Job Title|職稱| +Location:|位置:| diff --git a/agc_2-X/trunk/www/agc/vdc_db_query.php b/agc_2-X/trunk/www/agc/vdc_db_query.php index 1be49609..70b9763d 100644 --- a/agc_2-X/trunk/www/agc/vdc_db_query.php +++ b/agc_2-X/trunk/www/agc/vdc_db_query.php @@ -328,10 +328,11 @@ # 130402-2242 - Added user_group variable to _call_url functions # 130412-1348 - Added SIP cause code display on failed calls # 130414-2142 - Small fix for multi-server inbound setups and did options in url functions +# 130508-2221 - Cleanup for other language builds # -$version = '2.6-226'; -$build = '130414-2142'; +$version = '2.6-227'; +$build = '130508-2221'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=533; $one_mysql_log=0; @@ -987,7 +988,7 @@ if ($ACTION == 'LogiNCamPaigns') $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Manager Login:
    \n"; $VDdisplayMESSAGE.= "Manager Password:
    \n"; - $VDdisplayMESSAGE.= "



    \n"; + $VDdisplayMESSAGE.= "



    \n"; echo "$VDdisplayMESSAGE"; exit; } @@ -10418,7 +10419,7 @@ if ($ACTION == 'CALLSINQUEUEview') echo "
        PHONE     NAME     FULL NAME     WAIT     AGENT        
    "; @@ -10655,9 +10656,9 @@ if ($ACTION == 'CALLLOGview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($manual_dial_filter > 0) - {echo "\n";} + {echo "\n";} else {echo "\n";} echo "\n"; @@ -10915,7 +10916,7 @@ if ($ACTION == 'SEARCHRESULTSview') echo "
    $ALLin_out[$i] $ALLalt_dial[$i] $ALLhangup_reason[$i] INFO INFO DIAL DIAL DIAL
    "; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -10978,11 +10979,11 @@ if ($ACTION == 'SEARCHRESULTSview') echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; if ($inbound_lead_search < 1) { if ($manual_dial_filter > 0) - {echo "\n";} + {echo "\n";} else {echo "\n";} } @@ -11417,25 +11418,25 @@ if ($ACTION == 'LEADINFOview') ### BEGIN Display lead info and custom fields ### ### BEGIN find any custom field labels ### $INFOout=''; - $label_title = 'Title'; + $label_title = ' Title'; $label_first_name = 'First'; $label_middle_initial = 'MI'; - $label_last_name = 'Last'; + $label_last_name = 'Last '; $label_address1 = 'Address1'; $label_address2 = 'Address2'; $label_address3 = 'Address3'; $label_city = 'City'; - $label_state = 'State'; + $label_state = ' State'; $label_province = 'Province'; $label_postal_code = 'PostCode'; $label_vendor_lead_code = 'Vendor ID'; - $label_gender = 'Gender'; + $label_gender = ' Gender'; $label_phone_number = 'Phone'; $label_phone_code = 'DialCode'; $label_alt_phone = 'Alt. Phone'; $label_security_phrase = 'Show'; - $label_email = 'Email'; - $label_comments = 'Comments'; + $label_email = ' Email'; + $label_comments = ' Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,label_hide_field_logs from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -11589,17 +11590,17 @@ if ($ACTION == 'LEADINFOview') if ($hide_dial_links < 1) { if ($manual_dial_filter > 0) - {$INFOout .= "DIAL";} + {$INFOout .= " DIAL ";} else - {$INFOout .= "DIAL";} + {$INFOout .= " DIAL ";} } } if ( ($label_phone_number=='---HIDE---') and ($hide_dial_links < 1) ) { if ($manual_dial_filter > 0) - {$INFOout .= ""; if ($inbound_lead_search > 0) @@ -11635,9 +11636,9 @@ if ($ACTION == 'LEADINFOview') if ($hide_dial_links < 1) { if ($manual_dial_filter > 0) - {$INFOout .= "DIAL";} + {$INFOout .= " DIAL ";} else - {$INFOout .= "DIAL";} + {$INFOout .= " DIAL ";} } } $INFOout .= ""; @@ -11890,7 +11891,7 @@ if ($ACTION == 'LEADINFOview') $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; - $NOTESout .= ""; + $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; $NOTESout .= ""; diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 1a9b4feb..720198c3 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -400,10 +400,11 @@ # 130402-2250 - Added user_group variable in scripts, forms and webforms # 130412-1359 - Added SIP message for failed calls # 130417-1937 - Changed locked agent choose in-group/closer/territories to auto-close +# 130508-2223 - Cleanup for other language builds # -$version = '2.6-368c'; -$build = '130417-1937'; +$version = '2.6-369c'; +$build = '130508-2223'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=79; $one_mysql_log=0; @@ -575,25 +576,25 @@ if (file_exists('options.php')) } ### BEGIN find any custom field labels ### -$label_title = 'Title'; +$label_title = ' Title'; $label_first_name = 'First'; $label_middle_initial = 'MI'; -$label_last_name = 'Last'; +$label_last_name = 'Last '; $label_address1 = 'Address1'; $label_address2 = 'Address2'; $label_address3 = 'Address3'; $label_city = 'City'; -$label_state = 'State'; +$label_state = ' State'; $label_province = 'Province'; $label_postal_code = 'PostCode'; $label_vendor_lead_code = 'Vendor ID'; -$label_gender = 'Gender'; +$label_gender = ' Gender'; $label_phone_number = 'Phone'; $label_phone_code = 'DialCode'; $label_alt_phone = 'Alt. Phone'; $label_security_phrase = 'Show'; $label_email = 'Email'; -$label_comments = 'Comments'; +$label_comments = ' Comments'; $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; $rslt=mysql_query($stmt, $link); @@ -892,7 +893,7 @@ if ($relogin == 'YES') echo "\n"; echo ""; echo "\n"; - echo "\n"; echo "\n"; echo "
      #     NAME     FULL NAME     PHONE     STATUS     LAST CALL   $ALLcity[$i] $ALLstate[$i] $ALLpostal_code[$i] INFO INFO DIAL DIAL DIAL
    Dial Link:   DIAL";} + {$INFOout .= "
    Dial Link:   DIAL ";} else - {$INFOout .= "
    Dial Link:   DIAL";} + {$INFOout .= "
    Dial Link:   DIAL ";} } $INFOout .= "
    #   DATE/TIME   USER   AGENT   CAMPAIGN   EMAIL TO   ATTACHMENTS
    Campaign: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -932,7 +933,7 @@ if ($user_login_first == 1) echo "
    Campaign: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -982,7 +983,7 @@ if ($user_login_first == 1) echo "
    Campaign: $camp_form_code
    \"   \n"; + echo "
    \"   \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1018,7 +1019,7 @@ if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) echo "
    Phone Password:
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -1244,7 +1245,7 @@ else $VDdisplayMESSAGE.= "\n"; $VDdisplayMESSAGE.= "Manager Login:
    \n"; $VDdisplayMESSAGE.= "Manager Password:
    \n"; - $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; } } ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR @@ -1285,7 +1286,7 @@ else echo "Login: \n
    "; echo "Password:
    \n"; echo "Campaign: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -1991,7 +1992,7 @@ else echo "
    Campaign: $camp_form_code
      \n"; + echo "
      \n"; echo "

    VERSION: $version       BUILD: $build
    \n"; @@ -2083,7 +2084,7 @@ else echo "
    Phone Password:

    VERSION: $version       BUILD: $build
    \n"; echo "\n\n"; @@ -2846,7 +2847,7 @@ else echo "Login: \n
    "; echo "Password:
    \n"; echo "Campaign: $camp_form_code
    \n"; - echo "   \n"; + echo "   \n"; echo "\n"; echo "\n\n"; echo "\n\n"; @@ -5929,7 +5930,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var CB_calls = all_CBs_array[0]; var loop_ct=0; var conv_start=0; - var CB_HTML = "px\">\">" + var CB_HTML = "
    # CALLBACK DATE/TIMENUMBERINFONAME STATUSCAMPAIGNLAST CALL DATE/TIME DIAL ALT
    px\">\">" while (loop_ct < CB_calls) { loop_ct++; @@ -14301,7 +14302,7 @@ $zi=2; 0) {echo "\n";} ?> - +
    # CALLBACK DATE/TIME NUMBER INFO FULL NAME STATUS CAMPAIGN LAST CALL DATE/TIME DIAL ALT
    \"EMAIL\"  LIVE   session ID:      LIVE    session ID:     Live Call
    @@ -14559,7 +14560,7 @@ $zi=2; } else { - echo "$label_comments:
    + echo "$label_comments:
    "; if ( ($multi_line_comments) ) {echo "\n";}